Skip to content

Releases: TcMenu/tcMenuLib

2.4.0 fixes in many areas, project restructuring

05 Oct 07:19

Choose a tag to compare

Important note:

Release 2.4.0 of TcMenu Library requires tcMenu designer version 2.4 along with the most recent versions of dependant libraries (IoAbstraction, SimpleCollections, TaskManagerIO). Please make sure before proceeding that you have installed these first. This rare non-backward compatible change is to simplify the library going forward. For new users this is not an issue as the library manager will install the right version.

Release notes:

  • Multi-item editor improvements where there is now a real cursor instead of the brackets.
  • Support for a step value on analog items so they can increment by a step instead of 1.
  • Fix the start-up behaviour where the number of items was out by 1 causing wrapping
  • Matrix Keyboard support has been improved significantly for all types.
  • Major logging improvements, logging is now controlled by level.
  • Fix to Analog item WholeAndFraction where integers could not go negative.

Further, as part of this release we've broken out a new advanced networking layer, that in the future will all far more asynchronous networking with a subset of devices using either LwIP or different asynchronous drivers.

Custom protocol messages, keyboard and renderer improvements

01 Jun 14:30

Choose a tag to compare

  • Ability to change the frequency of the renderer at any time, takes place almost immediately - using renderer.setUpdatesPerSecond
  • Custom protocol messages can now be added for both sending and receiving allowing you to add a custom message from the Java/TS API through to the device. The performance of ID lookup has been improved.
  • Major keyboard improvements, there is now a plugin that autogenerates keyboard code, and all known cases edit better.

2.3.0 Exit callback, fixing bugs

11 May 08:04

Choose a tag to compare

  • It is now possible for integer AnalogMenuItems to get the current value including offset using getIntValueIncludingOffset
  • The menu manager observer is now told when a submenu is exited for another menu.
  • List items now work better with a rotary encoder and selection is more reliable
  • More edge cases around editable large number editing
  • List response now implemented so that embedCONTROL UI can now tell the remote that a list item was selected.

2.2.7 - minor fix for 1 decimal place large number items

15 Feb 09:17

Choose a tag to compare

This release fix a bug around 1 decimal place large number items.

2.2.6 - incremental small changes, compilation fix.

13 Feb 17:09

Choose a tag to compare

Copyright update to reflect it is now a hobby and not company sponsored.
Fix to a problem with compilation.
Removal of unreliable examples.

Patch - Touch Calibrator, small rendering fixes

17 Oct 16:08

Choose a tag to compare

A small patch release with a few fixes and improvements.

  • Touch calibrator is now in the src/extras directory and all examples made to use this version
  • Some improvements to Analog rendering when positive values exceed 32K
  • Title can now be overridden simply and easily.

Major IoT improvements, many small fixes

20 Sep 09:04

Choose a tag to compare

It is now possible to use many IoT endpoints at the same time (up to 6 within the code but even easily expanded beyond that).

If you've used the IoT support, there may be some very small breaking changes, for nearly everyone these will be trivial to fix. Please report any such breakages in the forum and I'll help you fix them.

  • We've fixed a few small bugs around navigation and handling of various events. Making the library act more predictably too.
  • The biggest change is to allow more than one remote at once and to allow these remotes to share the same common code. You will need to round trip your code through the designer after this release.
  • New examples added.

First full 2.0 release - touch, menu grids, themes, navigation

24 May 17:12

Choose a tag to compare

This is the first full release in the 2.0 series, it provides support for themes and grid-based rendering.

Main highlights:

  • touch support, you can set up a touch screen directly from within the designer and it integrates directly with the renderer.
  • themes mean that you can set the font padding, spacing, and colouring of a menu in a simple way.
  • grid rendering means that you can render menus in grids, even using icons instead of text. For example, you could arrange for certain menu items to render 2 or 3 on a single row, even on LCDs.
  • navigation improvements where we now keep a stack of items, and navigate more naturally in most cases.
  • Two LCD renderers, one for Uno, one for everything else.

With this release, we'll also be moving the designer to 2.0 by default. You can however switch back to 1.7 by selecting stream "previous" from Edit -> General settings in the designer for a while yet.

Release candidate for the 2.1.0 release

19 May 07:38

Choose a tag to compare

This is the version we intend to release, but the documentation is not quite 100% yet, so for the next few days it will be a release candidate. You can download the zip from here and install it manually into either Arduino/libraries or your lib directory in other build tools.

We have fully tested this release on every board we have, we have recompiled every example and run it, many for extended periods. We are confident that it is working and ready for prime time. Some use cases use slightly more memory than before, but we can still support AT32x based boards with 32K FLASH for LiquidCrystal, and SSD1306Ascii operation. This release also provides support for TFT_eSPI.

To take this RC, use the latest 2.1 release of tcMenu Designer from https://github.com/davetcc/tcMenu/releases and switch streams to BETA in Edit -> General settings, it will enable theme support, and the new plugins.

Mbed example, natural joystick navigation. Single item EEPROM load

06 Dec 12:11
fb0bdbe

Choose a tag to compare

Minor release with a few fixes (including ones in IoAbstraction 1.6.6).

  • New mbed example that should work for both mbed 5 and mbed 6.
  • Natural navigation and value setting when using a joystick instead of encoder.
  • Fix all examples to ensure that full recursive load of menu items only occur after setupMenu(), there is now a function to load a single menu item instead. For items that must be loaded very early in the process.