This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AWR1642BOOST: CAN_FD Driver

Part Number: AWR1642BOOST
Other Parts Discussed in Thread: AWR1642

Hi sir,

I am working on AWR1642 sensor and using mmwave_1.2_SDK. In this, I am using CAN driver for transfer and whenever I am using that I am getting the "CANFD_EINUSE" continuously don't know why. Please help me with this and I am continuously losing Packets. To avoid that also I wrote a do_while loop but still, I am losing Packets.

With Regards

Ankush Sangwan 

  • Hi,

    Regarding the source of this error message, please see

    C:\ti\mmwave_sdk_03_02_00_04\packages\ti\drivers\canfd\src\canfd.c

                /* Check for pending messages */
                index = (uint32_t)1U << ptrCanMsgObj->txElement;
                if (index == (MCAN_getTxBufReqPend(baseAddr) & index))
                {
                    *errCode = CANFD_EINUSE;
                    retVal = MINUS_ONE;
                }

    The API "MCAN_getTxBufReqPend()" will check the register "MCAN_TXBRP - Tx Buffer Request Pending"

    You will see this error when transmission from an Tx Buffer is already ongoing.

    It seems that packets are being lost because they are transmitted at a too high transmission rate.

    thank you

    Cesar

  • Hi Cesar,

    Thanks for the reply,

    I didn't try the solution given by you I am able to fix it my own. 

    Thanks for the help  

    Ankush