GUIslice icon indicating copy to clipboard operation
GUIslice copied to clipboard

GUIslice Latest Status

Open ImpulseAdventure opened this issue 6 years ago • 10 comments

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
  • 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

ImpulseAdventure avatar Dec 07 '18 16:12 ImpulseAdventure

Posted proof-of-concept for multiple layers / tabbed dialog in #71 in new branch WIP71-GlobalPage.

ImpulseAdventure avatar Dec 12 '18 06:12 ImpulseAdventure

Created initial work on simplifying configuration strategy in #86

ImpulseAdventure avatar Dec 19 '18 16:12 ImpulseAdventure

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

ImpulseAdventure avatar Jan 06 '19 08:01 ImpulseAdventure

Add support for Adafruit FeatherWing 2.4" TFT

Add support for Adafruit 1.8" Color TFT Shield v2 w/ Joystick

ImpulseAdventure avatar Jan 07 '19 06:01 ImpulseAdventure

  • 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

ImpulseAdventure avatar Jan 13 '19 16:01 ImpulseAdventure

  • Add support for drawing images from memory (FLASH) PR #101, #4

ImpulseAdventure avatar Jan 14 '19 07:01 ImpulseAdventure

  • 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 to DRV_TOUCH_XPT2046_STM.
  • Create diagnostic / touch calibration sketches #105
  • Add support for checkbox / radio button callbacks #74

ImpulseAdventure avatar Feb 10 '19 18:02 ImpulseAdventure

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

ImpulseAdventure avatar Feb 16 '19 08:02 ImpulseAdventure

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

ImpulseAdventure avatar Apr 19 '19 21:04 ImpulseAdventure

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

ImpulseAdventure avatar Jun 04 '19 07:06 ImpulseAdventure