Open Concombre74 opened 1 year ago
MB0 should only receive one frame if you have one ID filtered, if no filter try distribute(), so it copies it to another valid callback that accepts it. did you turn fifo off? whats the output of mailboxStatus()
Turning fifo off didnt' change anything but it seams that using distribute() works. Due to the resemblances of the 2 ID's I use filtering made MB0 accept the wrong message in addition of the good one.
I'm trying to use enhanced filtering on a teensy 4.1. The following code, that I use is basicaly your exemple mailbox_filtering_example_with_interrupts. I have juste changed the Can, Mailbox, and ID's for the ones I use :
As explained in your ReadMe : "Lets say for example you want a mailbox to store IDs 0x1 and 0x5: myCan.setMBFilter(MB6, 0x1, 0x5); You will notice that not only frames 0x1 and 0x5 are received, but also 0x3 and 0x7. This is because the 2 out of 3 bits are different between both IDs. Once you enable: myCan.enhanceFilter(MB6);"
If I didn't use "Can0.enhanceFilter(MB0);" Both messages with ID 0x10AAFFFE and 0x10EAFFFE appears in MB0. If i use it, only message with ID 0x10AAFFFE pop's up, but then the message with ID 0x10EAFFFE is simply lost. it never appears in MB4.
Is there a way to redirect it to the good mailbox without modifying the filtering and mailbox system I use?