cancel
Showing results for 
Search instead for 
Did you mean: 

Stm32 FDCAN (G474) TX FIFO mode canceling message options?

chris1seto
Associate III

Reading through the docs for the STM32 G474 FDCAN TX sections, it seems like if FDCAN is in FIFO mode, there is no way to cancel a pending message. The message can only be dequeued from being sent. If this is the case, how should one handle the case of the currently TX'ing message not ever being acked? In this case, if the message is never acked, it cannot ever be dequeued and the FDCAN TX will essentially be stalled for any other messages.

 

I do see the cancellation functionality, but it seems as though none of it applies to FDCAN in FIFO mode?

2 REPLIES 2
mƎALLEm
ST Employee

Hello;

Unfortunately, transmit cancellation is not supported in FDCAN FIFO mode. Messages queued in the FIFO are transmitted in the order they are queued. If a message is not acknowledged, it remains in the FIFO until it is successfully transmitted or overwritten by new messages, depending on the configuration.

In that case, consider using Tx buffers instead of FIFO mode.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
MHoll.2
Senior II

I don't think that this is a "reallife" problem. On the CAN-Bus all valid messages are acked. So if you don't get an ACK for one message all other messages will not get an ACK too.

ACK is only telling the sending node that there is at least one other properly configured node on the bus, indipendent if this node will "use" the send message.