Hi,
I've successfully enabled the TCAN device to implement a simple echo program where when I send a CAN frame over the bus, the TCAN will receive it, copy it, change the frame ID and then send the copied frame back onto the bus. This works well.
What hasn't worked yet is that I never see any indication that a TX event is being placed in the TX Event FIFO after the copied frame is echoed back onto the bus. In my interrupt handler, I never seen any of the TX Event flags set (TEFL, TEFF, TEFW, TEFN, TFE) and when I read the TX Event FIFO status register it always reads a value of 0.
I consistently see the TC interrupt flag in my interrupt handler, which I assume is indicating the successful transmission of the echoed CAN frame, I just don't understand why I'm not getting any TX Events in the FIFO.
Some context:
All interrupt processing happens in the context of a task: when nINT signals an interrupt the MCU's interrupt handler sets a flag that signals a task to unblock. When the task is running, it performs all SPI interactions and processes the TCAN interrupt flags.
The TCAN is configured with:
5 SID Filters
5 RX Buffers
5 TX Buffer elements configured as a "queue"
RX FIFO 0 contains 17 elements
TX Event FIFO contains 5 elements
On start up, I enable the following interrupts:
TEFNE, RF0NE, DRXE
I've also tried enabling TCE, but that has had no affect on receiving any TX Events
I've also tried enabling interrupts for each individual TX Buffer, but still with no success in getting TX Events
Is there a configuration step that I am missing that I need to enable the TX Event FIFO? Any ideas as to why I never see any created and never get an interrupt indicating that a new TX Event is ready?
Thanks!