Releases: ImpulseAdventure/GUIslice
Releases · ImpulseAdventure/GUIslice
v0.11.2
Release v0.11.2
Changes since 0.11.0:
- Change: greatly improved ease for users in adding new GUI elements! #120 .
GUIslice_ex
has been split into individual elements in/src/elem
.- New elements can be added without needing to modify the GUIslice library.
- Add: support for page stacks / multi-page overlays #71
- Add: initial support for popup dialog boxes #81
- Add: extensive updates to Builder. Updates captured in #80. Including installer for Mac OS #107
- Fix: many fixes for XTextbox (including #118)
- Fix: corrections for XGauge (radial and ramp) for Arduino mode #123
- Fix: fixed-point math for polar, trig and color blending functions
- Add: automated versioning system that facilitates easier debug reporting
- Add: ability to hide/show an element #24
- Add: ability to enable/disable element touch response (ElemSetClickEn)
- Add: support for touch calibration with remapped X&Y #113
- Add: preliminary support for RA8875 display driver #103
- Add: ability to override mcufriend ID
Migration notes:
- With the changes to split
GUIslice_ex
into individual extended elements in/src/elem
, users are encouraged to replace the#include "GUIslice_ex.h"
with the components used by the user code. Please refer to Including Extended Elements
v0.11.0
Release v0.11.0
Changes since 0.10.4:
- Add: extensive updates to Builder features, installation, user guide and source code (#109). Updates captured in #79 and #80.
- Add: creation of numerous example configurations (in
/configs
). Many supported displays and shields now pre-configured according to Table of TFT / OLED shields & breakout boards - Change: major simplification of configuration options, now specific to the display/touch combination
- Change: extensive rewrite of touch & orientation handling (#96, #97, #98, #105), related fixes. Added touch pin detection, calibration and test sketches. Please refer to migration notes below.
- Add: support for GPIO / keyboard controls (#66), M5stack buttons (#84)
- Fix: many fixes in TFT_eSPI mode
- Change: default font for RPi is now NotoMono-Regular
- Add: support for images in RAM or Flash (#101)
- Add: support for checkbox / radio button callbacks (#74)
- Add: startup reporting of version and config modes (can be disabled with
INIT_MSG_DISABLE
) - Add: support for mcufriend (#87)
- Add: support for HX8357
- Add: support for HX8347D
- Add: support for XPT2046_PS (from PaulStoffregen/XPT2046_Touchscreen)
- Add: support for STM32 from STM, Arduino DUE, Arduino Zero
- Change: default for fill attribute on
ElemCreateBtnImg()
/ElemCreateImg()
changed to true to improve redraw performance - Fix: dynamic image updates (#91)
- Fix: numerous miscellaneous fixes
Migration notes:
- Users are strongly encouraged to start using the example configs instead of the legacy
GUIslice_config_ard.h
orGUIslice_config_linux.h
. Please refer to How to Configure GUIslice - STM32 users with
DRV_TOUCH_XPT2046
: Need to selectDRV_TOUCH_XPT2046_STM
instead. - Resistive touch users (
DRV_TOUCH_SIMPLE
,DRV_TOUCH_STMPE610
,DRV_TOUCH_XPT2046*
) should run the new touch pin detection and calibration utilities. Please refer to Configuring Touch Support - Debug error messaging has now been enabled by default. This can be disabled (to conserve RAM once correct operation is confirmed) by setting
DEBUG_ERR
set to 1.
v0.10.4
GUIslice Builder:
- Beta version of the GUIslice Builder desktop application has been added.
- Binaries for Windows and LINUX are attached to this release note:
builder-win64-X.Y.Z.zip
builder-linux64-X.Y.Z.tar.gz
- If multiple versions are listed in the Release Note, select the highest version number
- Please see GUIslice Builder Documentation for more installation and usage details.
Major changes since v0.10.3:
- Add: Dynamic rotation
GuiRotate()
and fixed rotation perGSLC_ROTATE
(#73, #72, #70, #55) and example ex17 - Add: Support for touch orientation via
GSLC_TOUCH_ROTATE
, simplified configuration - Add: Anti-aliased font support for TFT_eSPI mode (#75, #63) and example
ex19
- Add: User touch handler class via
DRV_TOUCH_HANDLER
(#64) andex16
- Change: LINUX examples to use Noto font instead of Droid
- Add: Parameterization to LINUX Makefile (
GSLC_DRV
andGSLC_TOUCH
) - Add: Configuration for resistive touchscreen (
DRV_TOUCH_ADA_SIMPLE
) now adjusted in main config - Fix: Miscellaneous fixes for Arduino, STM32, LINUX
- Change: Renamed compound element example
ex05
toex18
- Change:
ex05
changed to simplified multi-page demo - Change: SDL1 default disabled
DRV_SDL_FIX_START
workaround
Migration notes:
- To utilize display rotation feature, config files should be updated.
- This release adds a number of additional configuration parameters. The
GSLC_TOUCH_ROTATE
parameter is intended to replace the existingADATOUCH_SWAP_XY
,ADATOUCH_FLIP_X
,ADATOUCH_FLIP_Y
parameters.
v0.10.2
Major changes since v0.10.0:
- Add: Add support for multi-line text (via
\n
) for #40 - Add: support for STM32 (generic STM32F103) via Arduino_STM32 for #45
- Add: fill param to
ElemXCheckboxCreate_P()
to support radio buttons & checkboxes with backgrounds other than black. (Breaking API change) - Fix: mem issue with Flash-based text
- Add: support for foreign characters (UTF-8) in SDL mode for #42
- Add: support for text updates in Flash buttons (via
ElemCreateBtnTxt_P_R
) - Fix: XTextbox behavior for #41
- Add: support for foreign characters (UTF-8) in
XTextbox
for #42 - Fix: line wrapping in
XTextbox
- Fix: TFT_eSPI with touch disabled for #48
Migration notes:
- Calls to
ElemXCheckboxCreate_P()
have added two new params (colFill,bFillEn
). Existing programs can insertGSLC_COL_BLACK,true
immediately before the radio group parameter (nGroup
) to match old default.
v0.10.0
Major changes since v0.9.2:
- Enhancement: significant memory reduction for Arduino, extensive updates to handle GUI elements in Flash #32
- Modify: streamline user configuration, split Arduino & LINUX
- Add: support for nRF52
- Add: support for m5stack
- Add: support for PCD8544
- Add: support for simple resistive touchscreen
- Fix: Miscellaneous fixes
Migration notes:
- Calls to many APIs may require search & replace for
tsElem*
totsElemRef*
. Many API calls that didn't previously includetsGui*
will now require the addition of the GUI pointer as the first parameter. GUIslice_config.h
has now been replaced by two separate configurations, depending on the device platform (ie.GUIslice_config_ard.h
andGUIslice_config_linux.h
). The parameters within these configurations have changed in some cases, so one should update to the new defaults and then customize as required.- LINUX examples moved from
/tests
to/linux
v0.9.2
Release notes for pre-existing release (v0.9.2 on 2018/01/06; changes from 0.9):
- Add: Support for alternate Adafruit-GFX fonts
- Add: Support for TFT_eSPI
- Add: Improved memory consumption for Arduino (including initial support for elements in FLASH).
See examples in/arduino_min
- Add: Support for HX8357 display driver
- Add: Support for XPT2046 touch driver (via TFT_eSPI)
- Add: Graph control
- Add: Dynamic screen rotation
- Fix: Improved support for compiling across device variants
- Fix: Ramp redraw
- Fix: Checkbox/radio button glowing
- Fix: Text height with scaling
- Fix: Improved touch response handling
- Fix:
DebugPrintf()
output of 0
Migration Notes (since v0.9.0):
FontAdd()
API has changedDrvGetTxtSize()
API has changedGUIslice_config.h
: AddedGSLC_TOUCH_MAX_EVT
,ADAGFX_ROTATE
General enhancements
- Change: Extensive updates to config guide spreadsheet (incl Beaglebone Black)
- Add: Filled circle graphic primitive (
gslc_DrawFillCircle()
) - Fix:
gslc_DrawLine()
for vertical/horizontal optimizations - Add:
DBG_DRIVER
to report SDL debug info - Add: Frame update rate reporting in gslc-ex04
- Change: SDL1.2 now selects
SDL_FULLSCREEN
mode - Change: Touch event handler to be more robust
- Change: Config adds
DRV_SDL_RENDER_ACCEL
(select between software and hardware renderer for SDL2). Default to 1. - Change: Config defaults
DRV_SDL_FIX_START
to0
- Change: Added math lib dependency (to support upcoming radial control)
- Fix: Mouse handling in SDL2
- Fix: Added missing dependency in
Makefile
- Migration Notes (from 0.8.6):
- Add
#define DRV_SDL_RENDER_ACCEL
toGUIslice_config.h
- Add
-lm
to Makefile linker options
- Add
As always, I welcome suggestions, feedback or code contributions! (guislice@gmail.com)
Enhancements for SDL
- Fix: SDL2 using mouse
- Fix: SDL2 controls more reponsive
- Change: SDL2 renderer change for better performance
- Change: SDL examples now use
GSLC_DEV_VID_DRV
fromGUIslice_config.h
to setSDL_VIDEODRIVER
- Fix:
XSlider
control tick drawing - Change: Makefile added
GSLC_LDLIB_EXTRA
variable - Update: GUIslice config guide spreadsheet updates, including Beaglebone Black
- NOTE: Beaglebone operation with SDL is not functional in this release. Please use v0.8.7 instead.
- As always, I welcome suggestions, feedback or code contributions! (guislice @ impulseadventure.com)
Add support for SSD1306 & ST7735
- Add: Support for
ST7735
(eg. 0.96" OLED 128x64) usingDRV_DISP_ADAGFX_ST7735
- Add: Support for
SSD1306
(eg. 1.44" SPI 128x128) usingDRV_DISP_ADAGFX_SSD1306
. Fixes - Update: GUIslice config guide spreadsheet with more example configurations
- As always, I welcome suggestions, feedback or code contributions! (guislice @ impulseadventure.com)
General enhancements
- Add: Line element (
gslc_ElemCreateLine
) - Add: Support for capacitive touch (FT6206) on Arduino (
DRV_TOUCH_ADA_FT6206
) - Add: Support for touch axis swap and flipping on Arduino (
ADATOUCH_SWAP_XY
,ADATOUCH_FLIP_X
,ADATOUCH_FLIP_Y
) - Add: Support for gauge element direction flipping (
gslc_ElemXGaugeSetFlip
) and improved redraw. Fixed vertical gauge default orientation. - Add: Support for GUIslice with LINUX mouse support in
DRV_DISP_SDL*
(eg. Raspberry Pi with HDMI display) usingDRV_SDL_MOUSE_SHOW
. - Update: Configuration (
GUIslice_config.h
) updated to use more consistent notation with#define
. - Add: Added GUIslice config guide (
docs/GUIslice_config_guide.xlsx
) to demonstrate example CPU / board / display configuration settings. - Fix: Fixed error in
DRV_TOUCH_SDL
mode - Migration Notes (from 0.8.3):
- The following #define should now use an explicit value (1 to enable, 0 to disable):
ADAGFX_SPI_HW
,ADATOUCH_I2C_HW
,ADATOUCH_SPI_HW
,ADATOUCH_SPI_SW
,DRV_SDL_FIX_START
.
- The following #define should now use an explicit value (1 to enable, 0 to disable):