TcMenu is a full feature Menu system for the arduino platform that supports many display types and remote control via an API. Drivers are available for many common displays and network interfaces. The protocol is published, and there is a Java API.
One of my hobbies is woodworking and speaker building, take a look at some of my latest attempts at building well known speaker designs. Although these are generally builds of other peoples designs, you may find some of this interesting.
Audio is in our DNA, not only can we help build embedded audio devices, we are also Audiophilles that love listening to music, be it from turntable or digital source.
Our new forum allows the community to discuss the libraries (opensource and commerical) that we write.
Summary We can build an embedded and mobile application based upon tcMenu in a very short amount of time. Our application infrastructure makes it possible to offer a simple UI that can be controlled using a white label version of embedCONTROL over BLE, WiFi, Ethernet, Serial or many other protocols. Along with all the open-source display options, we also have display drivers for native graphics built into STM32F mbed boards, and can easily create other custom display drivers if needed.
In this guide we show how to use the Adafruit_GFX library for mbed RTOS to renderer menu items with tcMenu. This rendering driver for Adafruit_GFX is built into the core menu designer download, meaning it’s available out of the box when MBED_RTOS is selected. We maintain a fork of Adafruit_GFX library for mbed that currently supports OLED displays only. Therefore, at the moment all options are memory buffered. Before proceeding, you’ll need to make sure you’ve installed the Adafruit_GFX for mbed library and the library; which also contains the OLED drivers.
In this guide we assume that you are familiar with the API for scheduling tasks on task manager. Let’s first discuss what we consider an event to be, and what it means to be a polled event. By polling we mean no external actors (such as threads or interrupts) are involved. Task manager will ask your event instance frequently if it is ready to be triggered yet, if it is not then task manager will take your instruction on how long to wait, and then call again.