You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current Crc16.CCITT implementation in our library aligns with CRC-16/XMODEM, which isn't listed among the alternative names/"Aliases" for "CCITT". One of the common names this configuration is known by is KERMIT (see here). We need to ensure CCITT provides the correct configuration or is replaced by at least one of the valid known alternative names/aliases.
Details
Rename Crc16.CCITT to Crc16.XMODEM to accurately represent its configuration.
Introduce Crc16.CCITT with the appropriate configuration.
Bump major version.
Introduce additional predefined CRC-16 configuration aliases, such as Crc16.KERMIT (optional).
The proposed changes would be a nice improvement. I was surprised by the Crc16.CCITT behavior as well (#145).
Do you by any change have a source for Considering that "CCITT" refers to a group of related configurations rather than a single, specific one.? I'm trying to make sense of the CRC behavior in some other system and this sounds like an interesting reference.
A tangential note about CCITT: There is further confusion about what algorithm is the "real CCITT CRC", to do with its initial value — whether the initial value is 0xFFFF or the "augmented" value of 0x1D0F (0xFFFF passed through the 16-bit shift register).
It's yet another reason to be cautious about providing a predefined definition for CCITT.
Summary
The current
Crc16.CCITT
implementation in our library aligns withCRC-16/XMODEM
, which isn't listed among the alternative names/"Aliases" for "CCITT". One of the common names this configuration is known by is KERMIT (see here). We need to ensure CCITT provides the correct configuration or is replaced by at least one of the valid known alternative names/aliases.Details
Crc16.CCITT
toCrc16.XMODEM
to accurately represent its configuration.Crc16.CCITT
with the appropriate configuration.Crc16.KERMIT
(optional).References
Crc16.CCITT
is confusing #145Expected Outcome:
The library will accurately represent various CRC-16 configurations, reducing confusion and increasing usability.
The text was updated successfully, but these errors were encountered: