MAVLink Bogus Messages

Hello,

I am currently writing a litte program to fuse telemetry data from my ArduCopter with live video (early stage screenshot in attachment). However, I have noticed that many MAVLink messages contain evidently false values. Take, as an example, the attitude message. It contains Pitch/Roll/Yaw values and their respective speeds. Every few seconds, these values are zero or close to zero (e.g. 2.68604381370235e-36).

My question is: Are there checksums for the messages that I missed? Or does my arducopter indeed send these messages? If so, is there a failure in my IMU and does that explain the poor flying performance it recently shows? ;-)

Regards,

Nicolas

mavlinkpfd.png

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Hey Andrew,

    thanks for your reply!
    It was my understanding that the discarding of failed crc packets was handled by the mavlink builtin function mavlink_parse_char (inside protocol.h)? There is explicitly a section inside which drops packets that fail the crc check (under the MAVLINK_PARSE_STATE_GOT_CRC1 case). The return value of this function is only true if a complete message could be decoded successfully and thats the only case where I inspect the payload.
    Thus, I modify my original question: Does the official mavlink implementation handle the crc check and I have a hardware failure or do I have to explicitly do more checksum testing?

    ~Nicolas

  • There is only the one checksum for a Mavlink message - there is no other inside the payload if that's what you mean?

    I assume you are actually discarding failed crc packets?

This reply was deleted.

Activity