Other Parts Discussed in Thread: HALCOGEN,
Tool/software:
Dear,
I cannot get one of the HALCoGen unit tests to pass. Happens on all three CAN interfaces. Failing test case is CAN1_UT_07:4 - Test canGetData API with data loss condition.
I have made sure to configure the message boxes and interrupts according to the test sequence requirements stated in the xlsx file:
1) Enable All CAN Interrupts in VIM Tab 2) Message 1,2,3,4,5,6 are activated 3) Message 1 config - TX, DLC = 8, No Interrupt, ID = 1 4) Message 2 config - RX, DLC = 8, Low Priority Interrupt Enabled, ID = 1 5) Message 3 config - TX, DLC = 8, No Interrupt, ID = 3 6) Message 4 config - RX, DLC = 8, High Priority Interrupt Enabled, ID = 3 7) Message 5 config - TX, DLC = 8, No Interrupt, ID = 5, Enable RTR 8) Message 6 config - RX, DLC = 8, High Priority Interrupt Enabled, ID = 5.
I have further made sure that all other message boxes are deactivated such that the test message does not get stolen by some other message box.
The test case startup code looks as follows:
canTransmit(canREG1, canMESSAGE_BOX3, tx_data); while(!canIsRxMessageArrived(canREG1, canMESSAGE_BOX4)); canTransmit(canREG1, canMESSAGE_BOX3, tx_data);
So the code sends to message box 4, waits for message arrival but does not collect the data and then sends another message to force a message lost indication. Apparently the message lost indication does not get set and I am out of ideas why. All other test cases pass just fine but this one fails for every CAN interface.

