[MAVLINK] CRC computation standard in MavLink 1


We are currently trying to implement the MavLink 1 protocol in our project and we’d like to use existing ground control sw to validate the communication. In the specification phase, we wanted to find which CRC standard is used for Mavlink 1 implementations in other projects (Ardupilot, Copter…).

The documentation and code clearly say it uses a X.25 CRC (cf. mavlink documentation or Copter3.5 CRC implementation) but when testing some mavlink frames extracted from tlogs, it seems that the algorithm is a CRC16_MCRF4XX, which is similar to a X.25 only without final Xor value (0x0).

Does someone have any insight on that topic? Why does the documentation and code state that a X.25 CRC is used when it is apparently not the case?