control-components
is a C++ library with basic building blocks for embedded and IoT development. It provides high-level abstractions for embedded and IoT applications: state machines, task schedulers, resource management, various system counters, analog and digital sensors, and many other things that the embedded developer has to implement from scratch for each new embedded system. The library is written in C++17
with some features from C++20
.
The current focus is on the low-cost solutions based on the ESP32 MCUs. Other platforms will be added later. Most of the codebase is platform independent. Please refer to the list of installation instructions for the required platform:
- ESP32 instructions
master
- stable and ready-to-use branch. Semver is used for versioning.- Try to keep PR small.
- New code should be similar to existing code. Use the Google C++ Style Guide.
- Ensure the code is properly formatted and includes the licence header. Use
clang-format
andverify_license.py
.
This project is licensed under the MPL 2.0 License - see the LICENSE file for details.