min
and max
functions instead of macros, functions
for uniformly increasing the bit depth of signals, all C++ standard library
functions, vectors, quaternions, Euler angles.<type_traits>
, <algorithm>
, <numeric>
, <new>
, <array>
, <bitset>
,
<optional>
, <cmath>
, <complex>
, <cstdlib>
, <cstdint>
, <tuple>
,
<memory>
(std::unique_ptr
), <initialize_list>
, <utility>
and
<limits>
headers, among others.These utilities were originally part of the Control Surface library, and were split off to be used as a stand-alone library, or as a template for other libraries.
Libraries that use the Arduino Helpers library include:
The automatically generated Doxygen documentation for this library can be found
here:
Documentation
Test coverage information can be found here:
Code Coverage
Arduino examples can be found here:
Examples
Download the repository as a ZIP archive by going to the home page of the
repository and clicking
the green Code button in the top right, then choosing “Download ZIP”.
Alternatively, click the following direct download link:
https://github.com/tttapa/Arduino-Helpers/archive/refs/heads/master.zip
Open the Arduino IDE, and go to the Sketch > Include Library > Add .ZIP
Library menu.
Then navigate to your downloads directory where you just downloaded the
library.
Select it, and click Ok.
For each commit, the continuous integration tests compile the examples for the following boards:
This covers a very large part of the Arduino platform, and similar boards will also work (e.g. Arduino Nano, Arduino Mega, etc.).
If you have a board that's not supported, please open an issue and let me know!
The Arduino Due toolchain provided by Arduino is very old, and has some
configuration problems. As a result, some math functions are not available.
There is nothing I can do about it in this library, it's a bug in the Arduino
Due Core.
SPI
object as a constructor argument. This allows you to use SPI1
or SPI2
(if available for your hardware).