cancel
Showing results for 
Search instead for 
Did you mean: 

X-CUBE-TOUCHGFX 4.19.1 is out

Osman SOYKURT
ST Employee

TouchGFX 4.19.1 is now online.

Release notes (which can be found in the online documentation) are as follows:

  • Bugfixes in TouchGFX Designer:
    • Fixed missing color properties for Text Button Style on a Flex Button Widget.
    • Fixed erroneous wildcard code generation for Text Button Style on a Flex Button Widget.
    • Fixed erroneous code generation when using a Flex Button in InteractionEndedCallBacks.
    • Fixed erroneous 'Text' property label for Dynamic- & Static Graph labels.
    • Fixed touchgfx_components folder not being deleted after version upgrade.
    • When a cell lost focus in the text grid, it would sometimes result in a crash

  • Bugfixes in TouchGFX Core:
    • Fixed FontConvert not generating new code if only change was ellipsis character.
    • Fixed bug in Video Widget destructor that could cause failure in some applications.

You can find the post for the release of TouchGFX 4.19.0 and its questions here. Please continue commenting on what could be missing or to report bugs.

Reminder of the TouchGFX 4.19.0 release notes:

  • New TouchGFX Designer Features:
    • New and improved interface for text and typography handling for easier overview and management of large amounts of text.
      • Added features for text and typography management include:
        • Merging of single use and resources to one grid.
        • Easy conversion of texts.
        • Grouping.
        • Rearrange and copy texts in grid.
        • Search.
        • Hide language columns in grid.
        • Language settings for typographies.
    • New widget: Static Graph

  • New TouchGFX Core Features:
    • New widget: Graph.
    • New texts.xml format supporting texts in groups and language specific settings for typographies.
    • Added HAL::setAnimationStorage().
    • Added ScrollBase::setOvershootPercentage(), and getOvershootPercentage(), for drag events at end of lists that are not circular. This works for ScrollLists and ScrollWheels.
    • Event::getEventType() is now const.
    • Pressing F5 in the simulator will call Application::changeToStartScreen() which can be implemented in FrontendApplication.
    • The simulator ability to flash each invalidated area can be set from code using HALSDL2::setFlashInvalidatedAreas().
    • New function invalidateContent() to only invalidate the part of a widget that contains a graphical element, has been added to Drawable, Containers, Widgets and Mixins. Using this new function instead of invalidate() can result in performance improvements.
    • Added TextureMapper::updateScale() which will invalidate to ensure correct update of the screen when scaling. AnimationTextureMapper has been updated accordingly.
    • FadeAnimator only invalidates if the alpha changes. The Widget being faded must have function getAlpha().
    • Some internal graph classes have been renamed:
      • AbstractDataGraphWithY -> DynamicDataGraph
      • DataGraphScroll -> GraphScrollData
      • DataGraphWrapAndClear -> GraphWrapAndClearData
      • DataGraphWrapAndOverwrite -> GraphWrapAndOverwriteData
    • New functions in graph classes allow an already scaled value to be added. If scale is 10, adding a scaled value of 15 is equivalent to adding the floating point value 1.5f. This can avoid introducing floating point arithmetics. The new functions all end in the word "Scaled".
    • Added Video::showFrame() to show a specific frame in a video.
    • Added LCD::copyAreaFromTFTToClientBuffer() copy new pixels between TFT and client buffer.
    • LCDNemaP renamed to LCDGPU2D.
    • Added support for Microsoft Visual Studio 2022.
    • Renamed existing Keil libraries from "touchgfx_core.lib" to "touchgfx_core_wchar32.lib".
    • Added Keil libraries compiled for short enum/wchar: "touchgfx_core_wchar16.lib".

  • Bugfixes in TouchGFX Core:
    • Proper handling if the ellipsis character for a text does not exist.
    • LCD16bppSerialFlash::blitCopyRGB888() did not check if the image could be read from flash.
    • Function HAL::copyFrameBufferRegionToMemory() would sometimes set a wrong SolidRect.
    • On rotated display with a framebuffer height larger than the display width, the wrong part of the framebuffer would be written to.
    • ScrollList::setWindowSize() will be limited to the number of entirely visible items (including margins).
    • EasingEquations::backEaseInOut() had a rounding bug when the change was an odd number.

  • Deprecated TouchGFX Core Features:
    • TextureMapper::invalidateBoundingRect() is deprecated. Use invalidateContent().
    • Application::cacheDrawOperations() is removed. Use clearCachedAreas() and drawCachedAreas().
    • Function setXAxisScale() on Dynamic Graphs is now called setXAxisFactor().
    • Function getXAxisScaleAsInt() on Dynamic Graphs is now called getXAxisFactorAsInt().
    • Function getXAxisScaleAsFloat() on Dynamic Graphs is now called getXAxisFactorAsFloat().
    • GraphElementArea::setBaseline() and GraphElementHistogram::setBaseline() no longer automatically redraws the graph. An explicit call to e.g. invalidateGraphArea() is required.

Link to the 4.20.0 release post here.

Osman SOYKURT
ST Software Developer | TouchGFX
5 REPLIES 5
HP
Senior III

Guys @ST you REALLY need to work into your release process to create a post like this.

A lot of your hard work goes by unnoticed if your audience doesn't know that a new release is there!

Have a look at the release dates:

4.19.1 - 4th of April - this post is dated 20th of April - 16 days later

4.19.0 - 21st of March - Relase post (which I did) - 7th of April, 17 days later

4.18.1 - 7th of December - posted 8th, great work here 🙂

4.18.0 - 20th of October - I also made a release post for this on 27th of October.

Thanks for posting the newest changelog here! It keeps me updated on releases 🙂

wired
Senior III

I agree with HP that this information should accompany the announcement of a new release.

Also, while I appreciate having the list of bugfixes in these versions, I would also like to know what the known issues are. Many times there is something that might preclude someone from upgrading if an issue is known to cause a problem with a particular project.

For example, a user discovered that the Slide screen transition does not work in portrait mode in v4.19.1, as detailed here. ST has verified this, yet is it not listed above as a known issue. I use slide transitions everywhere in my portrait mode project. Had I not seen the other user's post, I would have updated my project and been rather unhappy. As it is, I am staying with 4.18 until this is corrected.

SBACO
Associate III

Hello @Osman SOYKURT​ ,

I just try the latest 4.19.1 (coming from 4.18.1) and the performance of this new release is just horrible in my project. Regarding the release note, I do not see anything that can really explain a slowest behaviour as it seems most of the upgrade are regarding the designer for font converter. So except if not fonts are handle really differently in the touchgfx framework, I really have no idea of what happens. I will roll back to 4.18.1. One more thing, but there is a crash now when removing all pages from a swiper, this was possible in older version (I am removing all pages to reorganize them depending of customer wishing).

thanks for your help

awiernie
Senior II

I have upgraded from 4.18.1 to 4.19.1. The project was converted and the simulator worked. But after adding a new text resource, I get the following error if I press "generate code" or "run simulator":

Generate Assets

    make -f simulator/gcc/Makefile assets -j8

    Reading ./application.config

    cannot load such file -- lib/text_database_parser

    An error occurred during text convertion

    make[1]: *** [texts] Error 1

    generated/simulator/gcc/Makefile:225: recipe for target 'texts' failed

    simulator/gcc/Makefile:45: recipe for target 'assets' failed

    make: *** [assets] Error 2

    Failed

  Failed

In the tools/textconvert/lib directory of the touchgfxdesigner 4.19.1, there is a text_database_parser.rb and also text_database_parser_4_18.rb and alos text_database_parser_4_17.rb. text_database_parser seems to be new since 4.19(.1).

What is wrong?

I think I have found it: Those files are now in the project in .\Middlewares\ST\touchgfx\framework\tools\textconvert\lib but are not included in my svn repository.