Menu Library for Arduino with designer. TcMenu is made up of a menu library for the Arduino platform, along with a designer UI and IoT remote control facilities. These include a Controller App, Java API with a documented protocol. It works along with our IOAbstraction library to provide event driven menus that can be controlled both on device and remotely. The menu library builds on top of IoAbstraction and TaskManager, this allows us to support Arduino, ESP8266, ESP32 and mbed RTOS 6.
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. Need help with a commercial design, or want a customised version for your hardware? Get consultancy from the library writers.
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.
LED Display is a library that can manage multiple 7-segment displays using the multiplex technique.