MAVLINK interfacing code - Mavlink handler

Hello, over the last few months, a bunch of code that started as a slightly more convenient interface to pymavlink has taken shape as a reasonably usable library. I have put it on github here.

pymavlink is great but documentation is less great and usability is quite basic. Dronekit is great but no idea if it will be actively developed or not.

MAVROS is great but ROS installation is not so great.

I wanted something simple as pymavlink but with the continuous updates of Dronekit and MAVROS. Mavlink handler is basically a thread that grabs everything, classifies it by source (system:component) and stores it in the appropriate box (similar to MAVROS topics).

I have written a couple of examples and will add more to illustrate certain functionalities as time permits.

If anyone feels brave, feel free to take it for a spin.

2 Likes

Thanks for sharing, I think there are good things in this and good idea.

It makes running long commands and grabbing the ACK a lot easier than draining and recv-ing. Same goes for interactions such as mission uploads etc. I will soon add some code to demo a simple running of command long as soon as I get the time.

I have added a new example (Autopilot handler) which demonstrates some functionality that will be familiar to those who have used Dronekit.

The most interesting bit is an implementation of sending a message and intercepting a response, as well as using this for an implementation of running a COMMAND_LONG (the main reason for this is that run_cmd_get_ack() in Autotest makes me wake up screaming at night).