We are launching today TouchGFX 4.13, which now include TouchGFX Generator besides the traditional TouchGFX engine, and TouchGFX Designer. TouchGFX Generator is the first ST tool that uses MCU settings and other parameters from STM32CubeMX to customize and streamline the creation of TouchGFX projects. It takes the form of a plugin within STM32CubeMX, and it already supports nearly all STM32 Discovery boards embarking a display. Beyond the added ease-of-use and interactivity, TouchGFX Generator enables developers to much more easily switch from FreeRTOS to another real-time operating system or to run on bare metal. TouchGFX 4.13 is also symbolic because it is now an STM32 X-CUBE expansion package called X-CUBE-TOUCHGFX that contains TouchGFX Generator, TouchGFX Designer, and the TouchGFX Engine, thus centralizing all assets under one roof.
TouchGFX 4.13 is a significant release that comes less than three months after TouchGFX 4.12, which itself was highly symbolic and brought improvements that could propel animations to 60 FPS. Features such as CacheableContainers, Partial Framebuffer, and the new L8 Compression Format clearly showed a dedication to performance and optimizations. Today’s release primarily tackles a different problem: the accessibility of user interfaces to embedded system developers. By integrating TouchGFX Generator into STM32CubeMX, TouchGFX 4.13 enables engineers with less experience to start projects inside one of the most popular ST utilities. It was only possible because we design the microcontrollers and the various tools that take advantage of them, thus allowing professionals and enthusiasts to benefit from interactive and efficient solutions.
TouchGFX 4.13: TouchGFX Generator to Create and Update Projects More Easily
Traditionally, a team starts a graphical interface project by selecting a template within TouchGFX Designer before it experiments and gets a proof-of-concept running. It then configures the TouchGFX Hardware Abstraction Layer (HAL), which will ensure that the graphical user interface interacts with the hardware. Normally, this phase is complex, using something else than FreeRTOS is cumbersome, and setting up the MCU as well as the memory requires experience. TouchGFX Generator takes a lot of that complexity away by using settings within STM32CubeMX to generate a significant portion of the TouchGFX HAL. We support nearly all STM32 Discovery Kits with a display, and the new plugin works with any STM32 MCU with a Cortex-M0+, M4, or M7. Developers still have to fill some blanks with their user code as well as perform optimizations, but this new plugin makes starting a project a lot more straightforward.
STM32CubeMX can now inform TouchGFX Designer. For instance, as long as users choose a 3.0 template, it is possible to start the project in the Desktop tool, then take the project to STM32CubeMX, setup the Discovery board or MCU, and let TouchGFX Generator update the .IOC file to ensure the new settings immediately modify the project within TouchGFX Designer. Additionally, a developer can start with TouchGFX Generator, then move to TouchGFX Designer, then go back to STM32CubeMX to change the display resolution and the system will automatically update TouchGFX Designer without even needing to close the application. The ability to create and update projects on the fly by going back and forth between utilities allows for quick experimentation and dramatically simplifies the whole workflow. STM32CubeMX can also export projects to other IDEs, such as Keil or IAR. We will soon update all TouchGFX Designer templates to version 3.0.
TouchGFX 4.13: An Optimized Texture Mapper to Decrease Rendering Times by 60%
TouchGFX 4.13 also comes with a lot of bug fixes and optimizations. Any attempt at exhaustivity would be futile, so we’ll settle for one of the major updates coming to the TouchGFX 4.13 Engine: optimized texture mapper. When dealing with smartwatches or embedded systems with hard memory or power consumption limits, the new texture mapper greatly enhances performance to reach 60 fps. For instance, when showing a compass with a moving needle, the system tailors operations to render frames quicker. Developers can take advantage of it through the Texture Mapper widget in TouchGFX Designer and decrease rendering times by up to 60%. Unlike CacheableContainers that take a snapshot of a frame and retrieve it from a cache, the new Texture Mapper works better with larger moving scenes while still optimizing performance to enable 30 FPS or even 60 FPS in some cases.