I’d like to have a go at implementing a UART based Mavros client / server implementation, The client will be running on a homegrown ARM Cortex F4 flight controller and the server side I plan to implement on a more powerful “Companion Computer”, probably a Raspberry PI.
I’m struggling to find any detailed information about how other systems perform the encapsulation with MAVLink as I would like to develop code that I could easily re-use with other systems.
I now have a basic understanding of ROS but I still have a few moderately fundamental questions with regard to Mavros that I’m trying to find answers for. I have started to have a look though some of the implementing code bases such as PX4. However, there is a lot of code and this is taking a while!
Below are a few “overlapping” and pretty basic low level questions about the MAVLink encapsulation that I’m hoping someone can answer, or perhaps point me at some appropriate code or a technical description (I have unsuccessfully looked for this).
- Which MAVLink message ID or IDs are used?
- Are these custom MAVLink messages? i.e. in the range 180 - 229 and thus application specific.
- Do distinct Mavros message get encapsulated as specific custom MAVLink message?