diff --git a/Core/Source/ivec_mcal_mcan.c b/Core/Source/ivec_mcal_mcan.c index c490c23..1066225 100644 --- a/Core/Source/ivec_mcal_mcan.c +++ b/Core/Source/ivec_mcal_mcan.c @@ -352,14 +352,11 @@ void CANFD0_IRQHandler(void) xCanIdType_t idType = ERROR; uint64_t idx = 0; idx = TempRxMsg.id; - uint32_t value = ((TempRxMsg.id & (uint32_t) 0x1FFC0000) >> (uint32_t) 18); - if ((value > 0) && (value <= 0x7FF)) + if(TempRxMsg.xtd == 0) { - idType = STD_ID; - idx = value; + idx = ((TempRxMsg.id & (uint32_t) 0x1FFC0000) >> (uint32_t) 18); } - if(idx) { for(uint8_t inx = 0; inx <= 7; inx++) diff --git a/ivec_ECU/ivec_ecu_can/src/ivec_ecu_can.c b/ivec_ECU/ivec_ecu_can/src/ivec_ecu_can.c index 99a8aea..be82e70 100644 --- a/ivec_ECU/ivec_ecu_can/src/ivec_ecu_can.c +++ b/ivec_ECU/ivec_ecu_can/src/ivec_ecu_can.c @@ -17,10 +17,12 @@ void mcu_FDCAN_RxFifo_Callback(uint32_t Identifier, uint8_t *data, uint16_t Data uint8_t store_msg_from_isr_to_queue(uint32_t id, uint8_t* data, uint8_t len) { can_buff_t buff = {0}; + //printf("id %d\n",id); buff.id = id; buff.length = len; memcpy(buff.data, data, len); ENQUEUE(g_canQueue, buff); + //printf("enqueue id after enqueue %d\n",buff.id); return 0; } @@ -90,7 +92,9 @@ IVEC_EcuCommonErr_e xECU_CANGetData(can_buff_t *pxBuff) can_buff_t xBuff = { 0x00 }; DEQUEUE(g_canQueue, xBuff); + //printf("dequeue id %d\n",xBuff.id); memcpy(pxBuff,&xBuff,sizeof(can_buff_t)); + // printf("dequeue id after memcpy %d\n",pxBuff->id); // printf("ID received dequeue %d\n",xBuff.id); l_xFuncStatus = commonECU_SUCCESS; }