Gary’s Progress Report for 16 Mar 2024

Progress

This week, I mainly focused on improving and refactoring our existing firmware code. The core of this was additional improvements to the serial handler: as it’s the only communication channel with the GPS, I want to make sure that channel is as simple reliable as possible. I had several frustrations with the implementation of the channels implementation we previously used for the UART communication… the most severe of these was the fact that it provided no way of “pending” (triggering) the UART interrupt handler while writing a buffer, which is necessary in order to actually get the chip’s UART to transmit from the buffer. To solve this, I worked with Carson to totally re-implement the ring buffer-based channels that are used to communicate between the UART handler and the GPS task. The new implementation provides a clean asynchronous interface to the channel which allows me to move more of my lower-level boilerplate logic out of the main code.

Pacing

I’m a little behind now, since I was planning to start on the mapping this week. However, with the overall codebase improvements I made this week I think that task should go smoother now.

Planning

Next week I plan to finally take my first stab at the map interface, and also to work on improving the firmware’s date/time handling.

Leave a Reply

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