Codebase compiled with Wall, Wextra, Wpedantic and Werror.


Enjoy -std=c++14 on your MCU.


Codebase can be compiled for both host and target.


No need to suffer in #ifdef hell.


There are no macros.


What?

Snowfox is a embedded software framework consisting of

  • Operating System
  • Hardware Abstraction Layer
  • IO driver support for various sensors, actuators and communication controllers
  • industrial communication stacks

written mostly in C++ subjected to rigorous unit and integration tests.

Why #1?

The application of OO principles such as SOLID leads to a clean code base and minimizes coupling between modules. This enables the application of Test Driven Development which gives developers instantenous feedback on their code therefore eliminating tedious integration and bug fixing sessions typical for Debug-Later-Programming.


Why #2?

In his book 'Refactoring: Improving the Design of Existing Code' Martin Fowler frankly states that “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” This project aims to do just that for the embedded domain. You are kindly invited to browse the code and form your own opinion about how well the code is adhering to our claim.

All supported MCU configurations as well as all examples are build on every checkin.


Code functionality is verified with unit tests which are executed on every checkin.


High code quality is maintained through the whole project.