Embedded Tool Kit (ETK) is a loose collection of C++ classes and templates and I’ve found extremely useful.
It includes classes for
- Control systems (PID, Evolutionary PID, Fuzzy logic)
- Signal processing (low pass and high pass filters)
- String manipulation (float & integer parsing, atof & atoi implementations, StaticStrings, string splitting and tokenising)
- Containers (array, list, short term memory)
- I/O (ring buffer, cout)
- Mathematics (vector, matrix, quaternion)
- Various utilities (math utilities, integer ranged loop utility, common unit conversions, bits, time)
ETK uses C++14 features. It has been tested with g++-4.9.