STM32H7 CAN bus not receiving a particular unlucky message
I have a CAN bus between STM32H745 and STM32F042 processors using Standard CAN for communicating. The transfer, receive just works fine for any packet other than the following:
I cannot explain it. The data byte starts with 0xd2 0x01, STM32H7 does not receive it. This had been working fine until I changed the second byte to 1 from 0 (This is a version message, bumped the Major version from 0 to 1, hence the change). The logic analyzer is hooked to RX line of STM32H7. Using logic analyzer, I can see the message is coming all the way to STM32H7 passing through transceivers.
I use the same protocol between two STM32F042 processors. There is no problem talking. When one end is switched to STM32H7, then only the above particular message is not received. Everything else seems fine.
If I send <0xd2 0x00 etc> or <0xd2 0x02 etc> or <0xd2 0x03 etc> no problems on receiving. When the second character is 0x01, no message.
If it was a filter or configuration issue, I wouldn't receive any message. But I do receive all the messages. This is between two microcontrollers only.
Any ideas ? If you look at the line, CRC seems all 1's. Could it be that ? Do all 1s mean CRC error ? I repeat it's only this unlucky message.
Thanks for any leads.