GUIslice
GUIslice copied to clipboard
GUIslice Latest Status
This issue will be used to summarize the latest features, updates and prioritized work-in-progress. Consider subscribing to this issue to follow summarized updates to the library.
Latest Updates
The following lists a few of the recent changes, with the latest entry at the top
- Released 0.12.1
- Fix TFT_eSPI internal XPT2046 touch handling mode (DRV_TOUCH_TFT_ESPI) #149
- Fix HX8357 initialization (DRV_DISP_ADAGFX_HX8357)
- Released 0.12.0
- Enhance TFT_eSPI internal touch to support dynamic rotation, calibration #143
- Optimizing redraw with invalidated regions
- Add XRingGauge element #145
- Add XKeyPad element #5
- Add support for rounded buttons / round rects #142
- Add XSpinner element
- Add support for Adafruit Seesaw controller
- Resolve 8-bit parallel TFT + 4-wire touch + TFT_eSPI #130
- Add support for Teensy #136
- Add support for RA8875 display & touch driver (#125 )
- Add listbox control (#46)
- Enhance ease of creating custom widgets (#120 )
- Support for popup dialog boxes (#81)
- Support for page stacks (#71 )
- Add API ElemSetVisibleEn() to change visibility, along with partial redraw #24
- Released Builder 0.11.0-rc2
- Add support for overriding MCUFRIEND ID (
DRV_TOUCH_ADAGFX_MCUFRIEND_FORCE
) - Enhanced calibration with support for touch controllers using swapped X&Y (#113)
- Automated build versioning (X.Y.Z.build)
- Add API ElemSetClickEn() to change click-enable attribute
- Released v0.11.0
- Fix Z-order touch detection with overlapping elements
- Add ElemCreateLine_P() for line elements in Flash
- Created a number of example shield configs
- Significant updates to all wiki documentation on configuration & touch
- Extensive cleanup of example configuration files using consistent sectioning.
- Rework the touch orientation code #98
- Create diagnostic / touch calibration sketches #105
- Add support for checkbox / radio button callbacks #74
- Add support for drawing images from memory (FLASH) #101
- Rewrote Installation guide for Raspberry Pi
- Made errors in touch driver initialization non-fatal and show visual error message
- Improve 4-wire resistive touch controller handling (#96)
- Change config strategy to enable single-line selection between configs in
GUIslice_config.h
#86 - Add support for Adafruit FeatherWing TFT
- HUZZAH ESP8266, HUZZAH32 ESP-32 and Feather M0. See /configs/misc-featherwing.h
- Add support for additional shields: Adafruit 1.8" Color TFT shield
- Released Builder 0.10.4-beta7 (https://github.com/ImpulseAdventure/GUIslice/issues/79#issuecomment-451725127) along with source code
- Add support for more STM32 cores, DUE, Arduino Zero (#88)
- Add support for GPIO / pin control for
DRV_TOUCH_NONE
mode (related to #66) - Support for MCUFRIEND displays with mcufriend_kbv (#82)
- Started adding device-specific example configurations to
/configs
- Included so far: M5stack, more to come shortly
- Initial focus will be on shields, but example breakout board wiring options will also be provided
- The intention is to enable plug & play configuration with a variety of devices, as the current master config file (GUIslice_config_ard/linux) can be intimidating for new users.
- Support for M5stack should be complete as fixes applied now that I have the hardware on-hand to test
- Integrated API documentation now automatically deployed online
- All examples renamed to make them clearer about function and screenshots provided. (#78).
- Keyboard / GPIO Pin control over the GUI (#66). This is particularly useful on non-touch displays.
Work in Progress
In an effort to give users some idea of the work that is currently in development, the following are a few of the features / changes in development.
- GUIslice Builder release 0.13.0
- Update calibration sketch to report ADATOUCH_PRESS_MIN/MAX guidance
- Revise checkbox / radio button grouping flexibility
- Add dropdown combobox control #46
- Add support for SdFat library (SD SW SPI for mcufriend ATmega)
- Optimize XSlider redraw
- Split XGauge into XSlider, XRadial, XRamp
- Optimize compound element handling
- Add clipping support to DrvDrawTxt()
- Automate RPi example config generation as done for all other targets
- Rewrite & simplify configuration guides for STM32 and Raspberry Pi #86
- Resistive touch debounce filtering #102
Other features under consideration
- Support for UTFT
- Support visual themes (ie. consistent GUI element color scheme, etc.)
- Support gradients (eg. buttons)
- Support for RA8875 ROM fonts
- Support for sumotoy/RA8875
Posted proof-of-concept for multiple layers / tabbed dialog in #71 in new branch WIP71-GlobalPage.
Created initial work on simplifying configuration strategy in #86
GUIslice Builder version 0.10.4-beta7 has been released.
- Please refer to https://github.com/ImpulseAdventure/GUIslice/issues/79#issuecomment-451725127 for details regarding fixes and enhancements
- Source code for the Builder can be found in /builder
Add support for Adafruit FeatherWing 2.4" TFT
- HUZZAH ESP8266, HUZZAH32 ESP-32 and Feather M0. See /configs/misc-adagfx-shld-featherwing24.h
- Tested with Adafruit 2.4" TFT FeatherWing
Add support for Adafruit 1.8" Color TFT Shield v2 w/ Joystick
- See /configs/ard-adagfx-shld-tft18v2.h
- Tested with Adafruit 1.8" Color TFT Shield v2
- Note that this shield requires the Adafruit seesaw library to be installed to access the TFT controls and buttons. Native support for the Seesaw controller will be added in a future update.
- Rewrote Installation guide for Raspberry Pi
- Fixes for RPi tslib touch handling
- Made errors in touch driver initialization non-fatal and show visual error message
- Improve 4-wire resistive touch controller handling (#96)
- Change config strategy to enable single-line selection between configs in
GUIslice_config.h
#86
- Add support for drawing images from memory (FLASH) PR #101, #4
- Created a number of example shield configs, extensive update to GUIslice Display Config table
- Significant updates to all wiki documentation on GUIslice configuration & touch
- Extensive cleanup of example configuration files using consistent sectioning (these are now all auto-generated from a common source to enhance maintainability)
- Rework the touch orientation code #98
- Note that this is a major update, with two breaking changes:
- Breaking change: Users with resistive displays may need to perform a one-time calibration to ensure that the configuration is correct with the simplified library handling. Please refer to Configuring Touch Support for details.
- It is also strongly recommended that users consider migrating to the simplified example configuration files located in the
/configs
directory - Breaking change: STM32 devices with XPT2046: users will need to rename
DRV_TOUCH_XPT2046
toDRV_TOUCH_XPT2046_STM
.
- Create diagnostic / touch calibration sketches #105
- Add support for checkbox / radio button callbacks #74
Released GUIslice v0.11.0 along with the latest Builder. Please see the v0.11.0 release notes for details.
Update: detailed notes for new features & bugfixes captured: https://github.com/ImpulseAdventure/GUIslice/issues/79#issuecomment-466292972
Started development on:
- Adding support for Teensy 3 #136
- New extended GUI elements, including keypad
Recent completed changes:
- Add support for RA8875 display & touch driver (#125 )
- Add listbox control (#46)
- Released Builder 0.11.0-rc4
- Enhance ease of creating custom widgets (#120 )
- Support for popup dialog boxes (#81)
- Support for page stacks (#71 )
- Add API ElemSetVisibleEn() to change visibility, along with partial redraw #24
- Add support for overriding MCUFRIEND ID (
DRV_TOUCH_ADAGFX_MCUFRIEND_FORCE
) - Enhanced calibration with support for touch controllers using swapped X&Y (#113)
- Automated build versioning (X.Y.Z.build)
- Add API ElemSetClickEn() to change click-enable attribute
Recent completed changes:
- Enhance TFT_eSPI internal touch to support dynamic rotation, calibration #143
- Optimizing redraw with invalidated regions
- Add XRingGauge element #145
- Add XKeyPad element #5
- Add support for rounded buttons / round rects #142
- Add XSpinner element
- Add support for Adafruit Seesaw controller
- Resolve 8-bit parallel TFT + 4-wire touch + TFT_eSPI #130
- Add support for Teensy #136