Here's some notes on fiddling with MAVLink. Andreas and I started at the bottom of the stack (the byte stream) and are working our way up. Along the way I filled in a few possible holes in the documentation.
http://eastbay-rc.blogspot.com/2013/04/mavlink-protocol-notes-packet-decoding.html
There's a demo of one process receiving an APM MAVLink stream, decoding packets, and multicasting the packets to other processes, sort of an on-the-cheap message bus. There's a link to the sample code.
Comments
Hello guys
i have yet a Java implementation for Mavlink :
https://code.google.com/p/mavlinkjava/
It works fine on Android, Windows, Linux and embedded Java in drones.
Have fun!
Guillaume
Matthew, good question... right now it's mainly a learning exercise.
- mavproxy does the hard stuff for you, so there's a temptation to skip over the hard stuff.
- it wasn't particularly obvious (at least to my level of brainpower) how to get started with mavproxy stuff. Now that we understand the lower levels, it's a bit more obvious what's going on.
- Andreas and I both like "message bus" style protocols, and multicasting is a convenient way of implementing such a thing quickly and without requiring lots of additional libraries. One nice feature of message passing is that it makes it easy to integrate modules written in different languages, since the only interface is the well-defined message protocol.
Please excuse my ignorance but what is the difference between this and mavproxy?
Thanks Arthur, that's some good work on DroidPlanner. I'm going to buy an android tablet just to use it!