Fixing some bugs in the new loop filter coe which broke the build.
Define message IDs in a header file so you can check in one place for collisions.
Adding file dedicated to error reporting, just has screaming_death for now.
Big refactor of the usart dma code. Separated into two files and I think I found a bug in the TX code.

The bug was related to getting a DMA interrupt between checking if its ok to call schedule from inside the write function and actually calling it. This caused you to access DMA regiaters when the EN bit was high (because a new transfer was initiated by the IRQ). This causes a DMA error interrupt to occur.

Not seen the freezing since I tried this but who knows if its really fixed :(
Some chages to the usart_dma_test. Mainly adding random jitter to timing and message length.
Change USART DMA code to use a mutex for exclusion rather than globally disabling interrupts.
Use mutex to write the header and body of a debug message together.
Fix remaining DMA TX bug, line 201 is the fix. If you write exactly the number of bytes that would fill the buffer then it will fill the buffer but this is indistinguishable from an empty buffer, we must never allow this to happen.
Whitespace.
Adding stress test for the debug transmit.
Cleaned up some RX code, give globals unique names to help GDB.
SerialLink now has defaults for port and baud.
Get rid of some old debugging stuff that made its way into the repo.
Clean up debugging cruft from the TX DMA code.
Typo.
Adding the speaking_death back in.
Change sreaming deaths to speaking deaths.
Some changes to debug/usart_tx for concurrency. Mutexes don't work for us as we don't have a scheduler. Change debug_send_message to let the caller know if it can't write the message right now.
Testing concurrency in the debug stress test.
Fixing stupid memcpy related bug in rx dma, making function prototypes more consistent.