I'm thinking if and how I would use DMA for a multi-buffer automatic sending on CAN1. And I'm not sure how to set this up, and if it possible (and if it would speed up things..).
First thing I don't understand is, is it possible to setup one DMA channel for sending on single or multiple CAN message boxes / different messages ids. ..? Visually :
[ buffer with messages with different CAN ID's ] ---> DMA one channel --> CAN1.
Even if using same message box, I don't understand how can I use DMA here, as I would need to update message ID _every_ single message - per the DCAN API, which kind of defeats the purpose ..
And, seems same/or worse if I have to pass each message to different message box. Feels awkward to interact with this CAN interface, or I don't understand how to use it with DMA.
(Is there a direct CAN RAM mode here with DMA, where it can just transfer direct to DCAN1 memory without the use of command registers ...?)
How can one set this up so that you do not have to interrupt every single CAN message you have in buffer, but only once when it's all sent?
Any good example code please.