This library provides abstractions that help you write event-driven Arduino and mbed applications. It has device abstractions that allow you to treat device pins, PCF8574, MCP23017, MPR121 and AW9523 almost the same in code. This includes higher level interrupt management, buttons with de-bouncing, matrix keyboards, rotary encoders and even LiquidCrystalIO. There are many examples packaged with the library that cover most use cases.
For development, you can use any Arduino or mbed IDE. However, our recommendation is platformIO with Clion or VS Code. We test the library with Arduino and PlatformIO.
Need help with a commercial design, or want a customised version for your hardware, see the consultancy link at the top of the page?
Logging is part of the TcMenu offering provided by library , it has a moderately complete logging framework that is still lightweight enough to work on small boards. It can easily be turned off completely for very small boards too. TaskManagerIO, IoAbstraction and tcMenu use this logging to provide information about internal state and operations. You can also use this logging...
General Arduino On all devices we try to configure the device to the highest precision possible, and provide read and write methods based on float values between 0 and 1. Notes for mbed For mbed we support mbed V5 and V6 Bare-Metal and RTOS. Pins are managed using the underlying gpio methods. Interrupts are managed using . Analog input PWM output,...
Sometimes there is a need for more IO than can be catered for using an single set of pins, even on the MEGA, or maybe you just want to combine Arduino pins with some pins on an PCF8574 IO expander chip. In this case IoAbstraction now supports that, you create an abstraction of type . See the sketch that has Arduino...