I have two AMP 2.0 units. One is running MAVLink 0.9 and
the other is running MAVLink 1.0. My telemetry receiver
code successfully checks the CRC16 checksum for MAVLink 0.9,
but it gets errors on MAVLink 1.0 frames.
Has anything changed in the CRC16 calculation
for MAVLink 1.0?
I know that MAVLink 0.9 transfers in Big Endian order
and MAVLink 1.0 transfers in Little Endian order.
This should not change the CRC16 calculation results.
Thanks in advance for any information on this matter,
I have a question on MAVLink 1.0 as well..I posted before but perhaps you guys may know the answer. I have monitored the serial messages of MAVLink through RealTerm to confirm formats and etc...however my problem comes when trying to understand how the checksum is generated...
Could anyone elaborate? Also, is the preconditioning polynomial 0xFFFF and the calculating polynomial 0xF0B8??
And where does the CRC extra come into the calculation? Do I add this value to the end of my message then checksum the entire message, or rather add the value to the checksum value directly? I have tried to see if this matches the checksum calculations but obviously it does not:
Thanks for any explanations and help.
There is also a new start character in Mavlink 1.0 perhaps that is a prob?
Why they did that I don't know - but it's not the only issue the framing protocol in Mavlink has. You just have to deal with these quirks some times.