In our application, we intend to use the 32 message objects as FIFO (see related question) and accept any frame.
So I would need to activate the UMask bit in IFxMCTL and then write 0 in IFxMSK before programming the message object, am I right ?
I would not need to put any valid ID in the IFxARB register as I am using the masking feature and put 0 so it doesn't really matter, still correct ?
However, by reading:
- the TRM
- the following post https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/988334/tms320f28379d-dcan---how-to-receive-all-message-ids-can-receive-a-particular-one-but-not-when-it-changes
- the example 10 of the application note https://www.ti.com/lit/an/sprace5a
I am a bit concerned it might not work as I saw the following:
It is important to remember that the stored Message Identifier will be over-written by the identifier of the received frame. In order for acceptance filtering to work correctly for subsequent frames, the message object must be reinitialized with the original identifier.
So does it mean I'll need to reprogram something after each read to the FIFO ?