This is an old revision of the document!
Note: In draft.
Here are some of my notes on how to refactor the firmware. First, make sure that you have the environment setup and can upload firmware to a microcontroller.
One thing that would be nice to have is to redo the current high level structure to use C++ features instead of using C structures. I originally wrote the firmware using C organizational structures to:
1. learn about this could be done and give me exposure to not using C++ features 2. leave the top level structure in case we ever needed to support a platform that doesn't support C++
I think point #1 is valid, but since the underlying structures use C++ already, there is added complexity by not just using C++ for the top level organization.