Skip to content

Releases: Spirik/GEM

1.5.2

03 Feb 13:51
Compare
Choose a tag to compare
  • AppContext struct renamed to GEMContext (with backwards compatibility with previous name);
  • New methods ::setDrawMenuCallback() and ::removeDrawMenuCallback() for managing optional callback that is invoked at the end of ::drawMenu() call;
  • Method ::getCurrentAppearance() made public;
  • private access specifiers changed to protected to make it possible to access internal fields and methods from within user-defined derived (inherited) classes, allowing to extend functionality of GEM;
  • Optional "Advanced Mode" introduced, disabled by default but can be enabled via config.h or GEM_ENABLE_ADVANCED_MODE flag; when enabled some of the internal methods are made virtual to make it possible to override those methods in own sketch, allowing further customization and modification of GEM; more features of Advanced Mode may be added in the future;
  • Readme updated accordingly.

1.5.1

03 Jan 19:07
Compare
Choose a tag to compare
  • Support for custom fonts via ::setFontBig() and ::setFontSmall() methods of U8g2 and Adafruit GFX versions of GEM;
  • Support for UTF8 fonts for U8g2 version of GEM via GEM_u8g2::enableUTF8() method (only for menu titles and menu item labels);
  • Readme updated accordingly.

1.5.0

25 Dec 19:32
Compare
Choose a tag to compare
  • Possible breaking change: AltSerialGraphicLCD version disabled by default, but can be enabled explicitly via config.h or build flag GEM_ENABLE_GLCD;
  • GEMAppearance struct, ::setAppearance() methods added; ability to set appearance for menu pages individually and change it at a runtime;
  • GEMPage::getMenuItem() and GEMItem::getMenuItemNext() methods made public for easy menu items traversing from the sketch;
  • ::getCurrentMenuPage(), GEMPage::getCurrentMenuItem(), GEMPage::getCurrentMenuItemIndex() methods added to target currently selected menu item (can be useful for certain callback functions);
  • GEMItem::setAdjustedASCIIOrder() method added for more suitable order of characters when editing text variables in certain use cases;
  • Example 06: Todo List added;
  • Readme updated accordingly.

1.4.7

05 Dec 18:37
Compare
Choose a tag to compare
  • Ability to remove menu item from menu page via GEMItem::remove() method;
  • Ability to re-add menu item to menu page (same or different) via subsequent call to GEMPage::addMenuItem() method;
  • Passing additional parameters to GEMPage::addMenuItem() method allow to add menu item at a specified index pos out of total (total set to true) or only visible (total set to false) items of the menu page;
  • Correctly handle attempts to add menu page to multiple parent menu pages (now it is possible to change parent menu page);
  • Available constructor options clarified in Readme and examples;
  • Readme updated accordingly.

1.4.6

18 Nov 07:33
Compare
Choose a tag to compare
  • Support for chaining of method calls;
  • Ability to specify parent menu page via GEMPage constructor;
  • Readme updated accordingly.

1.4.5

11 Nov 17:13
Compare
Choose a tag to compare

This release contains code refactoring, there is no functional changes.

  • -Wmissing-field-initializers warning fix;
  • boolean data type ditched in favor of bool;
  • Readme clarifications.

1.4.4

28 Sep 10:02
Compare
Choose a tag to compare
  • Examples on how to control menu with rotary encoder.

1.4.3

10 Sep 09:08
Compare
Choose a tag to compare
  • Support for option to invert keys (resulting in an inverted order of characters) during edit mode via ::invertKeysDuringEdit() method;
  • Readme updated accordingly.

1.4.2

09 Jul 10:30
Compare
Choose a tag to compare
  • Support for setting text 'magnification' size (i.e. scale factor) for Adafruit GFX version via ::setTextSize() method;
  • Readme updated accordingly;
  • Simplify Party Hard example for Adafruit GFX version by commenting out one of the frames to free up some program storage space to fit into Arduino UNO R3.

1.4.1

23 Jan 09:56
Compare
Choose a tag to compare
  • Explicit inclusion of avr/dtostrf.h for RP2040 and nRF52840 based boards (to allow support for floating-point variables);
  • -Wreorder, -Wunused-variable, -Wmaybe-uninitialized warnings during compilation for RP2040 and nRF52840 fixes;
  • Compatibility section in Readme updated.