Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
BACKROUND:I am using TouchGFX Designer - 4.24.0I am using the board STM32H735G-DKThis generates STM projects in STM32CubeMX V6.11.0 using STM32Cube FW_H7_V1.11.1When I am done with touchGFX I go to STM32Cube IDE to do some scripting on the behaviors of the GUI.When I open the .IOC file for the first time I am prompted with a message that wants me to migrate my project to STM32CubeMX V6.11.1 using STM32Cube FW_H7_V1.11.2PROBLEM:If I say no to the migration and I attempt to give a "job"(EX: GPIO output) to a pin then generate code it will not correctly generate code in the main.c file. A few forums talked about the main.h or gpio.c and I look into those with no luck either. If I run the program the basic GUI set up in TouchGFX appears on the screenIf I say yes it works! All the correct code is generated correctly in the main.c file. When I attempt to run the program it executes very fast and displays a black screen after it finishes executing. No error messages occur.EXTRANOTES:I am
Hi I am luis.I'm testing TouchGFX, and I have a question.After creating an example board project with TouchGFX V4.22.1 Designer and then moving the STM32F769I_DISCO.ioc file into the STM32CubeIDE folder to set the IO, an error occurs when compiling after setting the IO. There are too many errors to easily resolve. I would like to know what is the optimal way to set up IO after creating a project with TouchGFX V4.22.1 Designer.
I'm a touchgfx beginner but i've designed many graphic apps using other tools like lvgl. One thing my app needs is to have some common areas or widgets that work between multiple screens, like persistent widgets that always exists in all screens, is this possible someway? Imagine I have 100 different screens that share a "status bar" area that contains multiple text or other widgets, I want to avoid designing 100 times the same widgets all over again between all different screens. Is this possible?
Hi, I'm using stm32u599 and an external qspi with touchgfx.Is it necessary to enable and set the MPU configuration?
intellisense is not working. the components that I can't use the intellisense feature( button, Textarea, slider, scroolist and the like...) "Screen1ViewBase.it is observed that the text colors of the implementations in the "cpp" file are also different(not blue). "Screen1View.when I try to use the corresponding component in the "cpp" file, the "ctrl+space" keys do not work, or rather, inteslisense cannot complete the code.
Hi,for the application I need to develop, I need to store onboard the PCB many images and other large data. The images especially, need to update the screen background image dynamically at runtime.Because in one configuration of the system the images can be hundreds, the onboard memory cannot be used. So I was looking at the different external memories available.At this stage only static images and no videos. But, because in the future videos might also be required, then IF (and only if) it does not impact/constraint in a major way the hardware I am currently developing, then I might consider implementing at this stage a solution that supports also video.Could someone please help clarifying the following (or provide any tips) bearing in mind that fast development time using the available libraries is currently the preferred option because of time constraints the customer has (and me still getting familiar with the ST dev environment/tools):1) what type of memory is best used for this a
I am in a pretty strange situation here.I have an application using FreeRTOS and TouchGFX. This application occasionally sees screen flickering. I have tried different ways to mitigate it but have been unsuccessful until recently.I tried enabling ITM and DWT to use the CYCCNT counter and ITM port 0 for some debug messages. I perform a print through the ITM port every 500 ms or so.As far as I can tell, the addition of printing through the ITM port has reduced the flickering significantly. I have switched between my commits and this is pretty much the only change that's led to this improvement.Personally I find this counterintuitive, as the printf call could only make things worse in terms of timings and memory accesses. However, this is not what I observe and so my questions are as follows:Is there any process by which enable the ITM/DWT debug frameworks could make the screen flickering issue disappear?Is there a good way to calculate timings for TouchGFX related processes and memoery a
Hi, I've been trying a project focusing on GUI display on TouchGFX GFX01M1 with STM32f411RET6 NUCLEO board. I have seen videos in youtube related to TouchGFX and they say that there is a need for FMC interface and LTDC in STM32CubeIDE. But for STM32f411RET6 board there is no FMC and LTDC in STM32CubeIDE, which is essential for interfacing TouchGFX with STM32f411RET6 board. I have thought of using SPI pins but for that I'm needing TFT ili9341 display. I want to implement my project with TouchGFX GFX01M1 only. Kindly suggest me a correct way to do this.Thank you,K.M.Vihasitha
Hi all, I'm trying to write to the QSPI memory but I'm getting two different results... in the first case, if I write all the functions before the call to the osKernelStart() function, I am able to write and read from the QSPI memory. However, in the case where I want to write a value using the CSP_QSPI_Write function, I get a value of 2, which means I can't enable the write function... how to solve all this? In attachment there is a sample where I can show what I do with code..... I hope it is clear.....
Hi,The only way I can find to use a custom SVG as an Icon for a Flex Button is to add it to the Theme library.As a workaround I created folder in the ..\designer\Themes\icon_theme\images\Themes directory and copied the SVG there. eg C:\TouchGFX\4.23.2\designer\Themes\icon_theme\images\custom\example.svgIt seems to work ok but it is cumbersome. Is there a way to store the SVG with the projects assets or have I missed something?Cheers,Dan
Hi,how do I setup an SPI or I2C touch controller for a touch display when I use TouchGFX so that it generates the code for all touch buttons in such a way that the only thing I have to do is to write the code to be executed when a specific button id pressed (I assume inside some callback function)? Are there already some libraries available for some touch display controllers (I2C or SPI)? Thank you
Good day,I'm rather new with TouchGFX and hope someone might be able to help me.I've got the STM32U5A9J-DK, and I'm trying to use the slide transition between screens, I've been trying to read around and I've seen that I need to use the 'setFrameBufferStartAddresses(void* frameBuffer, void* doubleBuffer, void* animationStorage)' function in TouchGFXHAL.cpp file.In the STM32CubeMX file, X-Cube-TouchGFX the frame buffer strategy is set to Double Buffer, and the buffer location is set to 'By Allocation'.In TouchGFXHAL.cpp I didvoid TouchGFXHAL::initialize() { TouchGFXGeneratedHAL::initialize(); // What I added! TouchGFXHAL::setFrameBufferStartAddresses(frameBuffer0, frameBuffer1, frameBuffer2); setAnimationStorage(frameBuffer2); setButtonController(&btnctrl); lockDMAToFrontPorch(false); instrumentation.init(); setMCUInstrumentation(&instrumentation); enableMCULoadCalculation(true); } I'm not sure if this works, I had tried to set everything by address, bu
I have a custom container that has a box inside of it with the ClickListener enabled. I am trying to setup a callback for when the box is clicked. I have the following code setup: #include <gui_generated/containers/NavbarBase.hpp> class Navbar : public NavbarBase { public: Navbar(); virtual ~Navbar() {} virtual void initialize(); protected: virtual void setupMenuItem(TextArea *label, Image *icon); virtual void tMenuItemCallbackHandler(const touchgfx::Box &box, const touchgfx::ClickEvent &e); touchgfx::Callback<Navbar, const touchgfx::Box&, const touchgfx::ClickEvent&> tMenuItemCallback; };#include <gui/containers/Navbar.hpp> Navbar::Navbar() : tMenuItemCallback(this, &Navbar::tMenuItemCallbackHandler) { } /** * Adjusts the menu label's X position to be centered with the icon and * adjusts the Y position to be centered with the space below the icon. * Disabled touch interaction on both elements. */ void Navbar::setupM
I am trying to build an application on Touch GFX platform.One of my requirement is to update project via OTA. For that I have tried several things below. My understanding says that I have to upload bin in MCU memory and External flash for images. Is it possible to update touchgfx project which is in external ospi memory via custom bootloader. Also I have to flash.hex via custom bootloader, is there any function or api to decode.hex ?I have flashed .bin file via custom bootloader which is working fine.But touchgfx does not generate .bin file, that why I have to decode .hex file.Can you suggest me some standard process for OTA for specifically Touch GFX projects
Hi Community,Is it possible to cache all fonts at the startup of TouchGFX in order to have a single memory access?The documentation provides an example of caching a single font associated with a text box when a screen starts. If I understand correctly, this procedure would have to be applied to each screen change and for each text box contained each time.It would be more useful ( for me ) to have a function like "void Bitmap::cacheAll()" for images.e.g. "void Font::cacheAll()" to be called in FrontendApplication::FrontandApplication(). Regards
I have an STM32H745 Discovery board (this is a dual core micro). I used the provided GFX Designer template to generate a shell project, and I note that the default core for the GFX implementation is the M7, and there seems to be no way to choose the M4 instead. There is no reason why an M4 cannot run the RTOS and GFX code, and it would be to my advantage to reserve the higher power M7 for other tasks. Question: is it possible to choose the M4 before generating the code? Has anyone done this?(And, to the ST/GFX team: if this ability does not exist, could it?) Thanks
Hi, I am developing an application on the 32F746GDISCOVERY board. The application reads data from a Python script that send certain strings to the MCU via USB connected to the USART1. The data from USART1 is then passed through the queue to the Screen1View where it is displayed in the TextArea field. Once this is done, the MCU sends a reply back to the "Python script" and then a new command is executed.The application runs fine for some time, but after a few seconds, the hard fault handler is called. Here is the function stack: I currently do not know what is located at the address 0x30302d32. Does anyone have any insights on this?Also looking at the memory map, the address 0xffffffed is associated with the Cortex M7 internal registers and there should not be a function call to it, right?I have found a relatively similar post about this here, but it suggests increasing the stack size. Looking in the stack size of the task the default value is 4096 bytes, which is more then en
Hi,how do you implement a scrollable text box? i.e. a text box where the text is too long to display in the available area so the user needs to scroll down like in a mobile phone?Is this done fully by TouchGFX or do I need to write a lot of code behind it to do the display and the scrolling?Thank you :)
Hello everyone !My problem is quite simple. I'm just trying to display text on the GFX01M2 LCD screen which is plugged into my NUCLEO-L452RE-P card.I created a project from STM32CubeIDE and then imported the screen drivers from the NUCLEO-U083RC + GFX01M2 example on TouchGFX.I have configured all the peripherals necessary to operate the screen (both spi, dma etc...)You will find a photo of my microcontroller configuration.I haven't found an example that uses this microcontroller. Can you help me ?THANKS :)
Hi,I am new to STM32 so this might seem a basic question... I am thinking of using one to interface to this round touch display:https://thepihut.com/products/3-4inch-dsi-round-touch-display-800x800 and ideally use TouchGFX for the UI/code.The application is a simple vending machine. And while in standby it displays a static picture (an advert or logo) and this picture needs to be updated by the local vending machine outlet through a USB pen drive or micro SD card (and needs to be a very simple process like insert the pen drive or uSD card then press a button to update)Some questions if someone could please help:1) is it possible to change the background image at runtime?2) If so, how? Do I just copy literally byte by byte the new image into the (FLASH I assume?) memory location storing the current image initially programmed by TouchGFX?3) what format (file type) is the image stored into the micro by TouchGFX initially?4) for round displays, how it the image stored? Like a s
Hi,I am currently running two TouchGFX designs for a single CubeIDE project. effectlvly one design is Landscape and the other portrate. This is fine however, i am having to maintain them individually in different repos as i am unsure how to have both TouchGFX designs within the same CubeIDE porject.Ideally what i would like is to be able to build both designs out as seperate binaries.These screens use the same assets, nameing conventions etc. to link into the project Im just unsure about how to actually create this single build that i can manage in a single repo.Hope someone will be able to asisst.using TouchGFX 4.20.0 & cube IDE 1.9.0, i know these are older, but i don't really want to introduce many other aspects until i can combine these TouchGFX designs.
Dear Gfx TeamCould you please preserve/follow the cap[pitalisation in file names, folders etc in auto-generated files and folders ?E.g. the file's name is "ScrTestTextArea" but all folders, filenames etc are ignoring upper case letter. Preserving the case improves readabbility.uVision project:Include paths:Folder names:MSVS projectThanks
Dear Gfx Team,Please be so kind and fix the code generating Visual Studio project so the capitalization of the screen names is the same as seen in GfxDesigner. It is very difficult to read in all lower case. Why all lower case ? Does not help with readibility. Thank youFerro
I made a touchgfx project by CubeIDE,when I choose touchgfx framebuffer by allocation,after build ,the framebuffer is placed into flash,then ram.I wonder why.
Can anyone help with an SVG editor. I have purchased CorelDraw, but there is a problem with the SVG file, which also exports TouchGFX (and more). make -f simulator/gcc/Makefile assets -j8 Reading ./application.config Reading ./target.config ERROR: Unable to parse SVG file: assets/images/Snow1.svg ERROR: Line 2: Wrong svg attribute 'shape-rendering' ERROR: Line 2: Wrong svg attribute 'text-rendering' ERROR: Line 2: Wrong svg attribute 'image-rendering' ERROR: Line 2: Wrong svg attribute 'clip-rule' make[1]: *** [images] Error 1 generated/simulator/gcc/Makefile:221: recipe for target 'images' failed make[1]: *** Waiting for unfinished jobs.... make: *** [assets] Error 2 simulator/gcc/Makefile:32: recipe for target 'assets' failed Failed Failed Pictures downloaded from the Internet in SVG format TouchGFX works fine !
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.