Assorted C++ utility libraries, primarily aimed at embedded/ESP-IDF targets, but most also build on desktop for testing.
Simple 1bpp and 8bpp bitmap handling with dithering support.
- Include:
#include <BMPImage/BMPImage.hpp>
Single-header scope guard macro for RAII-style defers.
- Include:
#include <Defer/Defer.hpp>
- Usage:
{ FILE* f = fopen("/tmp/file", "w"); defer { if (f) fclose(f); }; // ... use f ... } // fclose runs automatically
Compatibility header for logging that uses ESP_LOG* if available otherwise falls back to printf
.
- Include:
#include <Log/Log.hpp>
- Usage:
{ constexpr const char *TAG = "MyModule"; LOGD(TAG, "Stuff happened %d times", count); }
Tools for decoding and comparing images during testing.
- Include:
#include <ImageTest/ImageTest.hpp>
C++ helpers for ESP32 PSRAM (SPIRAM) allocation with STL-like containers and std::string
compatible types. Falls back to normal STL on non-IDF builds.
- Include:
#include <Spiram/Allocator.hpp>
- Include:
#include <Spiram/Map.hpp>
- Include:
#include <Spiram/Memory.hpp>
- Include:
#include <Spiram/String.hpp>
- Include:
#include <Spiram/Vector.hpp>
Small collection of string helpers.
- Include:
#include <StringUtil/StringUtil.hpp>
Streaming decompressor for zip files. Useful for reading/decompressing parts of zip files without unzipping the whole thing.
- Include:
#include <Unzipper/Unzipper.hpp>
- Desktop examples: inside each
examples/cmake
directory, runmake run
- ESP-IDF examples: inside each
examples/esp-idf
directory, runidf.py build
(ormake build
)