...
A common problem with these plans is DMA buffers. Basically DMA needs to be passed a buffer and a size. Itll read size number of bytes and then fire an interrupt to let you know that its done. But if size bytes doesnt get read, dma will not fire an interrupt and the data will be stuck in the dma buffer. A solution to this is idle detection. relevant links below. Some research into DMA configurations will need to be done to solve this problem.
An idea that I am somewhat hesitant to do, but would solve our problems is standardized message sizes. So for example, we set a size of like 100 bytes per message and all messages have to be either split or padded to fit that exact size. This provides DMA with a known buffer size.
Alternative we can pivot to a tcp model, with a fixed byte size and separate messages on the fly which has significantly more overhead and more development involved. Considering for TM rev 2?