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.

TMS320F28P550SJ: MCAN info if message is actually been sent?

Part Number: TMS320F28P550SJ

Hi, we would like to know if a message is actually been sent.

We can see if there is a pending request via MCAN_TXBRP (Tx Buffer Request Pending) or if a message is successfully sent (via MCAN_TXBTO, Tx Buffer Transmission Occurred).

Is there a way to detect if a message is actually been sent, but not yet finished?

Thanks!

  • Hi Stephan,

    Not sure if I understand your question. There isn't a flag to indicate time between a TX Send Request and the loading of the message from the MSG_RAM to the physical transmission of the message (or the time between TXBRP going low and and TXBTO going high. If you are using a FIFO to transmit data then you can check the TXFIFO.fillLvl bitfield to determine the remaining number of FIFO elements to be sent.

    How is you MCAN TX and MSG_RAM configured?

    Best Regards,

    Zackary Fleenor

  • Hi Zackary,

    thanks for your answer.

    We are actually using 1 RX fifo, 2 TX buffers, ext id filter.

    You mean TXBTO going high!?

    We are actually using CAN for a real-time transmission with fixed timeslots, so we want to avoid that a pending message is delayed and sent in the wrong timeslot.

    As you pointed out, there is no flag to indicate if a message is actually being sent.

    So we will have to look for another solution with the existing flags.

    Thanks and best regards,

    Stephan

  • Hey Stephan,

    Understood, thanks for confirming. Would be glad to hear about the final solution once available.

    Correct, I have fixed the original response to TXBTO.

    Please let us know if any additional questions arise and create a new E2E thread to follow up.

    Best Regards,

    Zackary Fleenor