Other Parts Discussed in Thread: MMWAVEICBOOST,
Hi,
I'm use IWR6843ISK + MMWAVEICBOOST with SDK 3.5 and PCAN-USB FD.
I want to transmit periodically collected data(by I2C) simply using CAN-FD.
I used the CAN-FD Driver example source. (SOC Clock set, CAN-FD Initialize, etc)
When transmit periodically, It occur transmit error.
Below is error info and source code.
retVal = CANFD_transmitData (txMsgObjHandle, msgId, CANFD_MCANFrameType_FD, MCAN_APP_TEST_DATA_SIZE, &txData[0], &errCode); Task_sleep(5U); iterationCount++; if (retVal < 0) { System_printf ("Error: CANFD transmit data for failed [Error code %d]\n", errCode); System_printf("Debug: Number of iterations : %d\n", iterationCount); System_printf("Debug: Number of messages transmitted : %d\n", gTxPkts); System_printf("Debug: Number of messages received : %d\n", gRxPkts); System_printf("Debug: Error Status Interrupt : %d\n", gErrStatusInt); System_printf("Debug: Error Reason : %d\n", gErrorReason); System_printf("\n\n"); msgObjStats.handle = txMsgObjHandle; optionTLV.type = CANFD_Option_MCAN_MSG_OBJECT_STATS; optionTLV.length = sizeof(CANFD_MCANMsgObjectStats); optionTLV.value = (void*) &msgObjStats; retVal = CANFD_getOptions(canHandle, &optionTLV, &errCode); if (retVal < 0) { System_printf ("Error: CANFD get stats failed [Error code %d]\n", errCode); } System_printf("Debug: Message Identifier : 0x%x\n", msgObjStats.startMsgIdentifier); System_printf("Debug: Direction : %s\n", (msgObjStats.direction == 0) ? "Receive" : "Transmit"); System_printf("Debug: Number of interrupts received : %d\n", msgObjStats.interruptsRxed); System_printf("Debug: Number of messages processed : %d\n", msgObjStats.messageProcessed); System_printf("\n\n"); optionTLV.type = CANFD_Option_MCAN_ERROR_COUNTER; optionTLV.length = sizeof(CANFD_MCANErrCntStatus); optionTLV.value = (void*) &errCounter; retVal = CANFD_getOptions(canHandle, &optionTLV, &errCode); if (retVal < 0) { System_printf ("Error: CANFD get error counter failed [Error code %d]\n", errCode); } System_printf("Debug: Receive passive status : %d\n", errCounter.rpStatus); System_printf("Debug: Transmit Error Counter : %d\n", errCounter.transErrLogCnt); System_printf("Debug: Receive Error Counter : %d\n", errCounter.recErrCnt); System_printf("Debug: Error Logging Counter : %d\n", errCounter.canErrLogCnt); System_printf("\n\n"); optionTLV.type = CANFD_Option_MCAN_PROTOCOL_STATUS; optionTLV.length = sizeof(CANFD_MCANProtocolStatus); optionTLV.value = (void*) &protoStatus; retVal = CANFD_getOptions(canHandle, &optionTLV, &errCode); if (retVal < 0) { System_printf ("Error: CANFD get protocol status failed [Error code %d]\n", errCode); } System_printf("Debug: LEC : %d\n", protoStatus.lastErrCode); System_printf("Debug: Activity : %d\n", protoStatus.act); System_printf("Debug: Error Passive : %d\n", protoStatus.errPassive); System_printf("Debug: Warning Status : %d\n", protoStatus.warningStatus); System_printf("Debug: Bus Off Status : %d\n", protoStatus.busOffStatus); System_printf("Debug: Data Phase LEC : %d\n", protoStatus.dlec); System_printf("Debug: Rx ESI flag : %d\n", protoStatus.resi); System_printf("Debug: Rx BRS flag : %d\n", protoStatus.rbrs); System_printf("Debug: Rx CAN FD : %d\n", protoStatus.rfdf); System_printf("Debug: Protocol Exception Event : %d\n", protoStatus.pxe); System_printf("Debug: TDC value : %d\n", protoStatus.tdcv); System_printf("\n\n"); }
Below is receive and trace info in PCAN-View.
It occur stuff error and form error.
Any advice on why get this errors?
Thanks.