-
Link to the repository: https://github.com/lebakassemmerl/msp432-cpp
-
InfluxDB
Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
-
Kvasir
C++ Metaprogramming library enabling better static checking and register abstraction in embedded software
You’re way ahead of me, but I wanted to mention that it reminded me of this: https://github.com/kvasir-io/Kvasir
-
Tuna-i3-Plus
This is a modified version of the Marlin 1.1.2 firmware for the WANHAO Duplicator i3 Plus 3d printer.
-
mdrivlib
Embedded driver library using modern C++. Currently supports STM32MP1, STM32H7, STM32F7, STM32F4 and STM32F0
Being able to mark a register RW vs RO vs WO and have the compiler check your access is great. Have you also considered the case where a register bit is cleared by writing a 1 to it (or to another register)? I've also implemented my own approach for a general register class (bits and pieces stolen from various other projects): https://github.com/4ms/mdrivlib/blob/main/drivers/register_access.hh I use types for registers, rather than structs, which lets me do RegisterSetClear to handle the case where different registers set and clear a bit.