Hi Jose´,
I see, so a parser needs to be written in C.
Since I wrote my own autopilot for the Ardupilot (using available libraries and reusing some
functions for navigation from previous projects) I have quite good understanding of how the autopilot works. I chose to use MAVlink in this autopilot as this was easier than (at that time) creating a new DUNE task. I have learnt a lot in the past 6 months and now that I'll write a new autopilot for an Arduino platform I thought that IMC is interesting as the information flow will be more consistent and I make the autopilot fit the DUNE control hierarchy in a neater way. For instance, I want the autopilot to be able to receive something similar to the DesiredPath message with both start- and endpoints set. This could of course be done with MAVlink, but would require multiple messages to be sent back and fourth. I'll also have to do a few extra transformations of sensor data to fit the MAVlink specification and then to IMC (in DUNE).
While MAVlink is easy to use, all the messages and transformations may make debugging more difficult.
If the overhead of IMC is much larger than MAVlink then I could:
* Reduce the transmission frequency.
* Increase baudrate (maybe up to 500 kBaud with Arduino DUE).
* Use SPI instead
One option is to create a new set of MAVlink messages that resembles IMC messages that we need.
I know you're very busy and I'm not expecting you to put any time on this. I'll have a look at the papers
published on IMC to get a picture of how much time it would take me to write a parser, but I have a feeling I'll stick with MAVlink :)
Ciao,
Elias