-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test Vectors Wanted #1
Comments
I tried using Fitterbap comm frames, which use CRC-32 by default. The examples below omit the SOF1, SOF2, and EOF bytes, which are not included in the checksum. Here's the code:
And here is the output from c7026ed:
|
Thanks - CRC32 wasn't tested yet, so was most likely to break ;-) I'll try it out. |
Alright a real bug that I failed to parse messages of different length not side-by-side (oops), second issue was around CRC init now fixed. This will pop out for fitterbap:
Which looks like it's giving the 'reversed' representation of the constant you are using (but then doing reflect-in/out). The incorrect init value is currently just an artifact of the code, it doesn't look for generic solutions. Will probably update it at some point to try the 'normal' init values once it knows the polynomial, thanks for the great vectors! |
Great! I confirm that it is working now. For what it's worth, the Fitterbap CRC-32 code was partially generated using pycrc:
You may also want to consider adding a link to Philip Koopman's CRC page in your README for anyone trying to select a "good" CRC (spoiler use CRC-32C by default): All the variations of computing CRC make creating compatible software very annoying, so thanks for putting together this tool! |
Would be nice to have some (real) examples of this working on protocols. If you've got some simple test vectors please post them to this issue. You can see the
demo.py
example for how it should work.NB - I'm very lazy, please don't post wireshark captures or something, only post either Python or "raw" hex (which can convert easily, and when I fixed #2 will "just work").
The tool requires at least two messages of the same length, it's not brute-forcing the per-message CRC. This is required for the differential to work.
The text was updated successfully, but these errors were encountered: