TcMenu is a modular, IoT ready menu library for Arduino and mbed supporting many input, display and IoT / remote interfaces. It makes presenting configuration, status and operational information much easier. Start by building out your systems state represented by menu-items in the Designer UI. Then, run Code Generator which outputs code for the selected board. Finally, compile the code using your favourite IDE and test on your device. Each menu item represents a state in the system, for example in an amplifier there would be menu items for “volume” and “input”.
This library provides abstractions that help you write event-driven Arduino and mbed applications. It contains a simple task management facility, device pin abstraction where IO expanders can be treated like pins, interrupt management, button de-bouncing and rotary encoder support. 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.
TaskManagerIO - Summary TaskManagerIO provides scheduling, events and interrupt marshalling, all while remaining thread safe across a wide range of boards. By thread safe we mean that you can add tasks to task manager from another thread while it’s still running. However, the task manager itself will always run on one thread, making it easy for you to write code. This library contains the original scheduling support class TaskManager that was previously built into IoAbstraction.
LiquidCrystalIO is a fork of the LiquidCrystal library for HD44780 devices that works on both Arduino and mbed devices, integrating with IoAbstraction library. Further, it also works either with device pins or any IO expansion device supported by IoAbstraction, including direct pins, PCF8574, MCP23017 and shift registers. Importantly, HD44780 displays are slow, very slow in fact, running at around 270Khz. This means that there are inevitable delays involved in programming the device, in this fork those delays give some time back to task manager so that other tasks can run while waiting.
We maintain a fork of Adafruit_GFX that provides OLED support on mbed RTOS, it’s based on the original work by both AdaFruit - Adafruit_GFX repo and the original SSD1306 library for mbed 2. We’ve got everything to compile on mbed RTOS 5 & 6, and we use it ourselves on our STM32F439 test board as one of our core tests. The repository is hosted on GitHub [https://github.com/davetcc/Adafruit-GFX-mbed-fork/] and is tested on STM32 hardware.
LED Display is a library that can manage multiple 7-segment displays using the multiplex technique.