Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi TouchGFX users,I have a flicker problem which obviously exists since Release 4.14 (maybe already 4.13. as I scipped this release)Appx. after every 20 ... 30 power cycles the screen initialisation and updates to included widgets flickers. Powering up the system again clears this effect and everything works perfectly.Please see below video on how this effect looks like. The flicker is only once per screen update. Of course I use double buffering.Has anybody an idea of what might be the reason?P.S: This effect is also seen once when another screen is selected, which does not update values every 0.5 sec like seen in the screen from the video. Best regardsGS
I am wondering if it is possible to implement a screenshot feature with TouchGFX. I want to capture the screen, in jpg or bmp format, and dump the image to serial for later viewing on computer.
I am using the latest Touchgfx+Cubemx and code generation from within CubeMx fails without notification. The process completes but the generated file /TouchGFX/target/generated/TouchGFXGeneratedHAL.cppcontains some weird java error logsHot to work around that ?The logs , focus on line 129 and after:/** ****************************************************************************** * File Name : TouchGFXGeneratedHAL.cpp ****************************************************************************** * @attention * * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics. * All rights reserved.</center></h2> * * This software component is licensed by ST under Ultimate Liberty license * SLA0044, the "License"; You may not use this file except in compliance with * the License. You may obtain a copy of the License at: * www.st.com/SLA0044 * ****************************************************************************** */ #include <TouchGFX
Hi I encountered with a problem. In model.hpp I have struct and how u see in buffer are these symbols '-':I take this buffer like this:And when values are updated:The problem is that its not render correctly. Here needs to be "-- m3/h" but I got thisWhere is the problem?
hello.It is programmed to move from screen 1 to screen 2 with Button.I would like to know how to move using gpio input.thank you.
Hello,My GUI project developed with TouchGFX has got a screen with a scroll list. I want to be able to select an item from that scroll list. I used "Scroll Wheel and List Example" project as a reference as it supports item selection in the scroll list. But in my project the callback function that is called when an item is selected (ItemSelectedCallback) is not called. When I touch a desired item the list just starts trembling, trying to scroll according to micromovement of my finger on the touch panel, but there is no entrance into the selection callback.Any help is much appreciated.
Hi,I have tried many times to configure touchGFX with cubeMx, and I was finally almost successful. My screen is 1024*600, and the driver chip is EK79001.Now the widgets shown on display are distorting(the image seems right), as below:But my designer is the following:the LTDC parameters and the datasheet are as below:I really don't know, why this happened, could you help me?Thanks a lot.
I bought the STM32U5A9J-DK board. I want to start digging it out by modifying the default OOB example code. But I can't find the OOB code even the binary. It would be appreciated if to provide the OOB code or binary.
I have a TouchGFX project with some buttons used for navigating a menu. The problem is that for some reason every couple of touches is registered as a double click. So I click the touch button once, but the virtual function called by the click event is called twice. Any way to decrease the sensitivity?I can do this in the source code, but wondering if there is a way directly in TouchGFX designer.
Hello,I am currently testing my custom board that utilizes the STM32H7B3IIT6 MCU. Since it is a custom board, I generated the code via CubeMX with the TouchGFX 4.20.0 software package. When I try to run the firmware, I noticed that I never entered the model::tick() function in the Model.cpp function. I ran the debugger and, in the taskEntry code, I have a function OSWrappers::waitForVSync() and the firmware stays in that function. It never gets past there. This function exists in my "custom board" bring up where I used the STM32H7B3I-EVAL evaluation board and it does not get stuck in it. I acknowledge that TouchGFX know the evaluation board's pinout and specific configuration. My custom board cannot use that, so I copied the files from the evaluation board's working code and pasted them into my custom board project. I have attached my .ioc file for reference, along with the snippet of my taskEntry code.void TouchGFXHAL::taskEntry() { enableLCDControllerInterrupt(); enableInterrupts()
hi guys, I created a project, which was done with touchgfx 4.20.0. After the software has a new version 4.21.3, I use it to open the old version. After generating the code, a compilation error occurs, and the prompt is as followsh7b0_vbt_touchgfx\h7b0_vbt_touchgfx.axf: Error: L6218E: Undefined symbol touchgfx::paint::tearDown() (referred from painterrgb565.o). I can't find the reason, can you help me to find the reason? Thank you for your support.
Hi,Scaling down an histogram graph to display only one bar triggers a "(min != max)" error.I need to display from 1 to 16 bars on my histogram.I use the setGraphRangeX(int min, int max) function for this.However, when I get down to 1 bar with setGraphRangeX(0, 0) I get an error during execution.This error is clear enough, but I think this limitation should not be there.Is there anyway to get around it?Thanks,Franck.Setup:TouchGFX 4.21.1Error reproduced using TouchGFX simulator and VS2022
Hello, do you guys know what STM32 MCU type which has LVDS communication inside?
I'm using the development board STM32L4P5G-DK. My development board uses display type RGB222(6bits) <--device configuration tool(its the only option). My LCD display makes use of 24bit RGB data(RGB888 input format). Controller uses the following outputs: R7,R6,G7,G6,B7,B6. I have connected it to R7,R6,G7,G6,B7,B6 of the display, the rest of RGB data signal of the display is connected to ground. In device configuration tool of STM32Cube IDE i use the pîxel format RGB888(layer 1). I only use one layer.About lcd-image-converter:1)Wich image format(png,bmp,jpeg,etc) is recommended to use for converting an image to C for STM32?2)Wich "main scan direction" to use(top to bottom, bottom to top, left to right,etc)?3) In the application note 4161 they recommend to use Image -->block size: 32 bit: is this correct?4)Wich preset option to use, "R8G8B8" or an other?5)In Image-->Common -->application note 4161 shows to use "split to rows". Is this correct?Could someone help me.
helloi am designing a custom board and i need to interface a PI camera with MIPI-DSI interface.i need to know if the video data provided by the PI-camera is handled by the STM32F479VI MIPI-DSI interface.regards.Zakaria
Hello,I use a custom board with STM32H743. It also includes an SPI FRAM and a display working over LTDC+TouchGFX. When I work with FRAM before TouchGFX task is launched, everything is OK, but after the FreeRTOS scheduler is started reading from FRAM becomes unstable (sometimes it is read correctly, the rest of the time wrong data are read). I tried to read FRAM from the default FreeRTOS task with all possible ways (DMA, interrupts or just polling), but still got wrong data most of the time. If I disable LTDC interrupts I can read FRAM without any problems (I don't understand how LTDC interrupts can influence SPI if it works in polling mode).Has anyone got any idea of how could I cope the problem and make STM32 read correct data from the FRAM while LTDC is working?.
I am currently using:STM32CubeIde 1.8.0STM32F7 1.16.2Touchgfx 4.18I am trying to upgrade Touchgfx 4.18 to 4.21.3. I know I have to update and regenerate the code from STM32CubeIde and from Touchgfx Designer. Howerver once I regenerate the code form STM32CubeIde I can no longer open the .application.touchgfx file. As this error appears: The steps I have followed are:Open the .touchgfx with the designer and upgrade to 4.23. Modify code that has incompatibilities. (I am able to run the simulator)Open .ioc file and I can see that X-CUBE-touchgfx is already pointing to version 4.21.3Regenerate codeI can no longer open the .touchgfx file with 4.23.3Second attemp:Open .ioc and change X-CUBE-touchgfx version to 4.23.3Click the try and accept buttonRegenerate codeI open the .touchgfx with the designer.The update popup appears and I accept The update process failt with the same message and I can no longer open the file
Hi,I generated the following demo by touchGFX and can run the demo in touchGFX.But when I open the generated project by MDK and compile it, it turns out some errors as below:(seems the project just include the port.c and portmacro.h for GCC, NOT for ARM compiler)
I have a complex GUI that has many custom containers displaying information. This information shall be updated at specific perios to avoid confusing the end user. For example the voltage shall be updated every second while the frequency shall be updated every 200msCurrently my custom containers have the following code which updates the values every 16ms and depends on the refresh rate of the screen.void MyCustomContainer::initialize() { MyCustomContainer::initialize(); /* Register tick functions */ Application::getInstance()->registerTimerWidget(this); } void MyCustomContainer::handleTickEvent(void) { /* ... get value () */ /*... update text gui() */ }I could add to every widged something in the lines of (pseudo code):void MyCustomContainer::handleTickEvent(void) { static uint8_t counter = 0; if (counter >= SOME_VALUE { /* ... get value () */ /*... update text gui() */ counter =0; } else { counter ++; } }...or make the parent widget in charge of handling the u
The generated code:/* Definitions for TouchGFXTask */ osThreadId_t TouchGFXTaskHandle; const osThreadAttr_t TouchGFXTask_attributes = { .name = "TouchGFXTask", .stack_size = 3048 * 4, .priority = (osPriority_t) osPriorityNormal, };andTouchGFXTaskHandle = osThreadNew(TouchGFX_Task, NULL, &TouchGFXTask_attributes);With this code TouchGFX_Task() is never called.So as a test I duplicated everything:/* Definitions for TouchGFXTask */ osThreadId_t TouchGFXTaskHandle; const osThreadAttr_t TouchGFXTask_attributes = { .name = "TouchGFXTask", .stack_size = 3048 * 4, .priority = (osPriority_t) osPriorityNormal, }; osThreadId_t TouchGFXTaskHandle2; const osThreadAttr_t TouchGFXTask_attributes2 = { .name = "TouchGFXTask2", .stack_size = 3048 * 4, .priority = (osPriority_t) osPriorityNormal, };and/* Create the thread(s) */ /* creation of TouchGFXTask */ TouchGFXTaskHandle = osThreadNew(TouchGFX_Task, NULL, &TouchGFXTask_attributes); /* USER CODE BEGIN RTOS_THREADS *
I'm trying to connect 7" Raspberry Pi Touch Display to STM32F769i-DISCO using B_LCDAD_RPI1 adapter. Unfortunately had no luck so far. The adapter lacks any documentation but the name suggests that it was designed for such case. Is there any driver to enable support for such setup? Or maybe some sample application that I could use as starting point?So far I was able to power up the display using I2C but DSI init sequence ported from Linux driver did not work. Any help would be appreciated.
..
Hello,Coudn't find a Bugtracker, so I posted it here.I use a static graph in my project, but after some time (adding other stuff) the TouchGFX-Designer (4.20) creates incomplete code:This happend several times, only fix is to remove and add a new diagram.This is the generated code:This is how it should be looking:Furthermore, the Bar-Offset from Histogram, never appears in the generated Base Class.
Hi,I have updated last Friday CubeIDE, CubeMX and TouchGFX to the latest versions. I am working on a simple program displaying data by TouchGFX coming in via CAN bus. First issue was that the compiler told me that cmsis_os2.h is missing. For I was not able to fix this problem I uninstalled CubeIDE, CubeMX and TouchGFX and completely reinstalledit. I newly have written a simple sample in TouchGFX and imported it to CubeIDE on the new virgin environment. All went fine until I entered CubeMX and generated the code. Compiling this unchanged code showed no errors but it was impossible to flash the board. What I am doing wrong? Has somebody else noticed this strange behaviour? Is there missing some software during installation of the programs?Thanks for your help.Thilo
I use H743I Eval2 board , able to build application with TouchGFX to display data. I am trying to activate ETH with lwip middleware with CubeIDE. have enable CORTEX_M7 (Icache,Dcache) but can not select any mode (MII, RMII) in ETH, (a forbidden mark is showing) ,as result, lwip is also unable to select. please advice, thanks
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.