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.
From TcMenu 2.0 onwards all display plugins except Uno are customized using themes and render using properties and grids. For these renderers you can override the way that they draw in several ways. Firstly, lets start with a discussion of what’s possible. Firstly, icons can be used in place of actionable items, they are setup on a per menu-item basis. The colors, padding, orientation, and font for a menu item are now customisable at three levels: Default, Sub-menu, Item.
Setting up IO devices has been made much easier as of V2.2 of the designer software. you can now directly edit the IO expander configurations directly within tcMenu. When we discuss IO devices we are talking about IoAbstractionRef objects that refer to either device pins, or any other device such as I2C expanders or shift registers from the IoAbstraction library. In order to manage the IO Expanders that are available within a project you can do so from the Code menu -> Show Io Expanders.
You can secure both sub-menu items and remote connections using an Authenticator. In summary, when an authenticator is present on menuMgr any attempt to show a secure sub menu will result in a dialog asking for the pin; only proceeding to display the sub menu if the pin matches the on in authenticator. In addition, all remote/IoT connections will only be allowed if the authenticator approves the connection. An example of the secure sub-menu pin entry screen is below: