Hi, I am trying to implement code for the MC33771, but I'm struggling to make sense of the CRC description in the datasheet. It uses a 9 bit polynomial 0x12F, but on page 41 it shows, what I presume is, a hardware implementation where X8 is the same as X0, so X8 doesn't operate on the current CRC value, but on the incoming data from the stream. However, the diagram below it shows all 9 bits operating on the CRC.
I've been trying for several days to get this to work, using every combination I can think of, with no success. I have also tried a number of online checkers, all of which come up with different answers to the ones in the examples in the datasheet.
As this project has incredibly tight timescales, I'm really up against it, so if anyone has sample code that works with this polynomial or an algorithm that does, I would be very grateful.