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 libraries make moving between devices far easier, we test all our libraries on a huge range of boards, both Arduino and mbed.
Within TcMenu designer there is a bitmap creation utility, it can take most common file formats as its source, and convert them to a format suitable for use in tcMenu (and many other libraries too). The bitmap creation utility is located in the “Code->Bitmap/Widget creation tool”. It can create both straight bitmaps and title widgets to either the clipboard or a file. Let’s first go through what it can create at the moment.
TcUnicodeHelper uses a text pipeline to draw onto the display. Text pipelines are how it supports so many library options, it is an interface that must be implemented in order for tcUnicode to be able to draw onto a device. It has the minimum set of functions for drawing text. class TextPlotPipeline { public: virtual ~TextPlotPipeline() = default; virtual void drawPixel(uint16_t x, uint16_t y, uint32_t color) = 0; virtual void setCursor(const Coord& where) = 0; virtual Coord getCursor() = 0; virtual Coord getDimensions() = 0; }; Method drawPixel - takes the x and y location we want to draw at along with the color.
TcUnicode is a font format suitable for the presentation of a larger number of glyphs from different Unicode blocks. On most boards the size difference to Adafruit fonts is relatively insignificant. TcUnicode rendering is also compatible with Adafruit fonts, so you can present both types of font when using the TcUnicode option in the rendering. It is supported on all our graphical displays and is easily enabled in the display setup from the code generator dialog.