Hello I am trying to configure my canbus to receive a message, send data based on the message, and look to receive again. However I have only worked with sendblocking so far and do not know how to trigger callbacks and my receive isnt working anymore.
I have this sample callback from other code but do not really understand what it is doing.
void flexcan0_Callback(uint8 instance, Flexcan_Ip_EventType eventType,
uint32 buffIdx, const Flexcan_Ip_StateType *flexcanState) {
(void) flexcanState;
(void) instance;
switch (eventType) {
case FLEXCAN_EVENT_RX_COMPLETE:
count += 1;
if (buffIdx == 1) // MB1 received
{
FlexCAN_Ip_Receive(INST_BOARD_INITPERIPHERALS_FLEXCAN_1, RX_MB_IDX, &rxData, FALSE);
}
break;
case FLEXCAN_EVENT_RXFIFO_COMPLETE:
break;
case FLEXCAN_EVENT_TX_COMPLETE:
/* if (buffIdx == 0) // MB0 transmitted
{
//dummyData[0]++;
FlexCAN_Ip_Send(INST_BOARD_INITPERIPHERALS_FLEXCAN_1, TX_MB_IDX, &rx_info, MSG_ID,
(uint8*) &txData);
}
*/
break;
default:
break;
}
}
Will it automatically be called when completing a non blocking send? Does this trigger when a message/rxfifo is received?