2015-05-12 05:11 AM
Hello,
I'm using both FlexCAN of SPC56EL60 on SPC5 Studio 3.4.3 and I wanted to define filters for each of them. I created a config for each of them containing different filters. CAN1 has 16 filters from 0x200 to 0x20F and CAN2 has 16 filters from 0x400 to 0x40F. --> 1st problem: all filters are merged in all config (CAN1 filters config was 0x200 to 0x20F AND 0x400 to 0x40F). I had to edit can_lld_cfg.c manually. --> 2nd problem: the Rx mailbox number is fixed for both FlexCAN. The code generator does not allow to set a specific number for each FlexCAN. --> 3rd problem: setting Rx mailbox number to 16 does not affect the function can_lld_is_rx_nonempty which only checks the first 8 mailboxes when not using the CAN_ANY_MAILBOX constant.2015-05-13 01:58 AM
Hello Aurélien ,
--> 1st problem: all filters are merged in all config (CAN1 filters config was 0x200 to 0x20F AND 0x400 to 0x40F). I had to edit can_lld_cfg.c manually.You are right ,it is a issue in CAN Layer (ftl file)we have submitted a ticket for this. (Error report)--> 2nd problem: the Rx mailbox number is fixed for both FlexCAN. The code generator does not allow to set a specific number for each FlexCAN.
No , in this case .. it is not possible.It is a change request for this.--> 3rd problem: setting Rx mailbox number to 16 does not affect the function can_lld_is_rx_nonempty which only checks the first 8 mailboxes when not using the CAN_ANY_MAILBOX constant.Yes , it is another ER.As a temporary solution , you can patch the file in components/lib/src or include file.We will handle the ERs as soon as possible. Best regards Erwan
2015-05-18 06:56 AM
Regarding the 2nd problem, how could different FlexCANs could have a different number of Rx mailboxes since all CAN config definition are based on the CANConfig type which is using the unique CAN_RX_MAILBOXES size definition?
2015-05-18 08:18 AM