Hi@rteja
I made some modifications but I have no conditions to help you test.
1.
uint8_t krInitCAN()
{
// PINS_DRV_WritePin(PTE, MAIN5V_EN_PIN, 1);
// PINS_DRV_WritePin(PTB, POW_D3V3_EN_PIN, 1);
CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT, g_clockManCallbacksArr, CLOCK_MANAGER_CALLBACK_CNT);
CLOCK_SYS_UpdateConfiguration(0U, CLOCK_MANAGER_POLICY_AGREEMENT);
POWER_SYS_Init(powerConfigsArr, POWER_MANAGER_CONFIG_CNT, powerStaticCallbacksConfigsArr, POWER_MANAGER_CALLBACK_CNT);
POWER_SYS_SetMode(POWER_MANAGER_RUN,POWER_MANAGER_POLICY_FORCIBLE);
//status_t returnValue = STATUS_ERROR;
PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr);
PINS_DRV_WritePin(PTE, MAIN5V_EN_PIN, 1);
PINS_DRV_WritePin(PTB, POW_D3V3_EN_PIN, 1);
FLEXCAN_DRV_Deinit(INST_CANCOM1);
//enable STB and EN pins on CAN Transceiver
krSetCANEnable(CAN_EN_ENABLE);
krSetCANStandby(CAN_STB_ON);
FLEXCAN_DRV_Init(INST_CANCOM1, &canCom1_State, &canCom1_InitConfig0);
//Add filter
for(uint8_t i = 0; i < CAN_IDs_COUNT_IVI; i++)
{
Can1RxFilter[i].isExtendedFrame = false;
Can1RxFilter[i].isRemoteFrame = false;
Can1RxFilter[i].id = CanIDFilterList[i];
}
/*set RX masking type as RX global mask or RX individual mask.*/
FLEXCAN_DRV_SetRxMaskType(INST_CANCOM1,FLEXCAN_RX_MASK_INDIVIDUAL);
FLEXCAN_DRV_ConfigRxFifo(INST_CANCOM1, FLEXCAN_RX_FIFO_ID_FORMAT_A, Can1RxFilter);
//Enable Interrupt and set priority
// INT_SYS_EnableIRQ(CAN1_ORed_0_15_MB_IRQn);
// INT_SYS_SetPriority(CAN1_ORed_0_15_MB_IRQn, 0U);
INT_SYS_EnableIRQ(CAN0_ORed_0_15_MB_IRQn);
INT_SYS_SetPriority(CAN0_ORed_0_15_MB_IRQn, 1U);
INT_SYS_EnableIRQ(CAN0_ORed_16_31_MB_IRQn);
INT_SYS_SetPriority(CAN0_ORed_16_31_MB_IRQn, 1U);
//Install Callback
FLEXCAN_DRV_InstallEventCallback(INST_CANCOM1, Can1Callback, NULL);
FLEXCAN_DRV_InstallErrorCallback(INST_CANCOM1, CanDrv_ErrorCallback, NULL);
FLEXCAN_DRV_RxFifo(INST_CANCOM1, &Can1RxMsg);
return STATUS_SUCCESS;
}
2.#define TX_MAILBOX (26U) //MB26~31