-
Notifications
You must be signed in to change notification settings - Fork 220
Closed
Description
Hello,
after testing the block transfer, it seems like the CRC-Checksum is calculated in a wrong way.
You use crc_hqx for calculating the checksum, which uses x16 + x12 + x5 + 1 as the polynom. However, in my CiA 301 specification, in section 9.2.2.2.16, the polynom is x^16 + x^15 + x^5 + 1... This complete CRC stuff is pretty messy. If you would want a true CRC-CCITT implementation, you would need to initialize _crc with 0xFFFF and not 0.
My "bought" CAN-Nodes to which I communicate all use the CRC-16-ARC (as on https://crccalc.com/)...
Metadata
Metadata
Assignees
Labels
No labels