Status Report 04-27 (cmackint)

I implemented the UART command to transmit a CAN message over the XBee bridge to the remote TOM.

There’s a problem with the UART drivers for large receive messages. The UART drivers use per-message DMA processes. The current implementation, when the read function is called, waits for a DMA process to end and return data, copies the data to a buffer, and restarts the DMA process. The brief period of time during the data copy has no ongoing DMA process, causing data loss.

The solution is to use a single DMA process backed with a circular buffer, where the receive function simply copies out from this buffer. I’ve implemented this, and will test this today.

We’ll be working on presentations/posters this coming week.

Leave a Reply

Your email address will not be published. Required fields are marked *