MAVSDK is made of a backend in C++ called mavsdk_server, exposing a protobuf API that can be used by different frontends, such as MAVSDK-Python, MAVSDK-Swift or MAVSDK-Java.
The mavsdk_server is made of different components responsible for different parts of the API. Each component defines a protobuf interface in the form of a directory containing *.proto
files in this repository.
The proto files defining the components are located into protos, and the protobuf plugins generating the bindings in the different languages are located into pb_plugins.