Our great sponsors
- SonarCloud - Analyze your C and C++ projects with just one click.
- Mergify - Updating dependencies is time-consuming.
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
-
Link to the repository: https://github.com/lebakassemmerl/msp432-cpp
-
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
-
SonarCloud
Analyze your C and C++ projects with just one click.. SonarCloud, a cloud-based static analysis tool for your CI/CD workflows, offers a one-click automatic analysis of C and C++ projects hosted on GitHub. Zero configuration and free for open-source projects! Analyze free.
-
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.