Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
When I'm building some of the demo projects, I often have this build error, which other developers have already reported in this community.And I followed the instructions on this link, and "patched" the msys-1.0.dll which is causing this crash at build (i opted for editbin.exe in the end).According to some discussions on previous link, this issue has been solved within MSYS 2.0.Are there any plans from ST to move to MSYS 2.0 within TouchGFX, to avoid this issue again?Every time there's an update of TouchGFX, I need to manually patch this .DLL again.Solving it once for all for everyone would be a much better solution.
Hello everyone,I have changed the display mode of my project to portrait, so I have made many changes to display all the elements in the right way. Actually, I have a lot of screens, containers, list layouts, etc., so it is a big project.Unfortunately I now have flickering problem with only three screens that use the list layout in a scrolable container. I have tried everything to rid this issue but no way. The flickering seems to be as if it is synchronised with the ticks of the seconds counter, and I have noticed this because I have a time element on the screen!The point is that everything seems to be correct and compatible (TouchGFX content and source code content).EDT Display has a template board setup for Touchgfx but it does not generate an .ioc file to see if there is an issue with the frequency for example, but the question is it should not be because it works fine in landscape mode, right?Has anyone had such an issue before? Also I am trying since 3 day and I am completely con
Is there any way to store SVG images in external flash, similiar to how PNGs can be stored there?
I have a definition file (.h file) that contains some data type definitions. I'd like to use them while running the Simulator of TouchGFX, but when I run the simulator it can not find that .h file.Where do I add file and path inclusions for the Simulator?It appears that there is a Makefile in the simulator/gcc directory, is this the correct place?
Posted on July 27, 2017 at 15:43Hello,I am trying to set up CUBEMX so that it can support LCD display for the STM32F469i-Discovery board.Unfortunately I had no luck in making the correct configurations to enable the LCD display or find an example project for the STM32 ac6 or maybe a .ioc file with LCD setings.Is there anyone familiar with LCD on STM32F469i?What are the correct configurations?Thank you!#lcd #ltdc #stm32f469-discovery #cubemx #ac6 #ioc
Posted on June 24, 2018 at 22:57 I'm hopelessly trying to configure CubeMX to enableLCD TFT on STM32F469i-disco board (bought recently if that matters). The best effect so far is the following: What I did: 1. Used CubeMX to generate configuration with all peripherials configured 2. Switched off all I did not need (for instance the RTOS, USART etc.) 3. Selectively copied BSP drivers from the CubeF4 examples. I added all dependencies (components, fonts), such that project builds correctly 4. I try to draw cross through the whole screen, important part of the main.c follows (I stripped comments to improve clarity): int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_CRC_Init(); MX_DMA2D_Init(); MX_DSIHOST_DSI_Init(); MX_FMC_Init(); MX_I2C1_Init(); MX_I2C2_Init(); MX_LTDC_Init(); MX_QUADSPI_Init(); MX_SAI1_Init(); MX_SDIO_SD_Init(); MX_TIM1_Init(); MX_FATFS_Init(); BSP_SDRAM_Init(); BSP_LCD_InitEx(LCD_ORIENTATION_LANDSCAPE); BSP_LCD_DisplayOn(); BSP_TS_I
Hi,Under TouchGFX designer application there is an advertisement touting "STM32U599 fully supported" with an image of the kit with the rounded display. I got the kit from ST (STM32U5A9J-DK / DK32U5A9J$AT1) with the STM32U5A9, with the same round display.Contrary to some other "board demos", this demo only works with the simulator. Maybe that's the reason why it's only present in the first tab named "demos", and not within the second tab "board specific demo".In the build section of the demo named "TouchGFX demo 6", which is exactly the same application running on the kit, there are no instructions to build and upload the demo to the target.How to solve this? Any hint?
Hi all,I am working on a project that involves the STM32F429I-DISC1 (The blue one) with TouchGFX. I am trying to control two on screen buttons labeled ON and OFF that turn on pin G13 on the microcontroller board. I first used TouchGFX to create the screen elements, then I used CubeMX to make GPIOG Pin 13 an output, then I use CubeIDE to add in code. When I add in the required code and run the debugger (green play button) I end up getting a white screen on the LCD. I am not sure what I am doing wrong. I have attached pictures and the code that I added in. Any help is appreciated. I am also following this tutorial: https://www.youtube.com/watch?v=hrx6iqOaGvY&t=613smainView.cpp: #include <gui/main_screen/mainView.hpp>#include "stm32f4xx_hal.h" mainView::mainView(){ } void mainView::setupScreen(){ mainViewBase::setupScreen();} void mainView::tearDownScreen(){ mainViewBase::tearDownScreen();} void mainView::LED_ON(){HAL_
Hello friends,I am having a hard time and I don't know what to do! I need some help.I had created a simple UI with two images and some texts inside. After generated the code, I use the simulator to ensure that everything is ok with the UI and after that I flash the code through TouchGFX with the F6 key. The operation was completed and the UI appears successfully in the screen. After this I wanted to add an interaction, which will disappear the Images from the screen when the user presses a button. I followed the steps of this video https://www.youtube.com/watch?v=vxGxt4A8V3Y and it says that I can flash the code through the STM32CubeProgrammer. This will happen if I show a path to the programmer, which contains the Flash.bin file and the start address at 0x08000000. So I ensure that my code after I had set the interaction that has no errors and after that I opened the programmer I set the proper start address and I found the proper file in the directory based on the
Hello, we have this problem, where once the display is powered on, we get thin small black lines appearing in random places on the display. During the whole device operation the black lines seem to stay in the same spot, however after a reset the lines appear somewhere else (the number of black lines would change) or even disappear completely. Everything else seems to look flawless, just these strange artifacts:
Hello community,I am working on a project that involves the use of both CM7+CM4 cores from an stm32h7, to communicate both i need to use openamp. I have successfully made an standalone project that only have the openamp working, but when i port it to my actual project, it does not work/coexist with the touchgfxapp, i have found there an strange behaivour when i do initialize the MX_TouchGFX_Init before the MX_OPENAMP_Init, if i do the initialization that way, it would be "stuck" forever in the function: OPENAMP_Wait_EndPointready(&rp_endpoint);If i do initialize first the OpenAMP it works fine, until i need to communicate, being able only to send one message and receive one answer and stuck forever in the "OPENAMP_check_for_message();" function.I am going to put this functions (the initialization and also the message check) in freertos task because i have the suspect that this is due to "task/functions" priorities, and until now i have been working them outside the freert
Hi, My TouchGFX project causes a hard fault. When the container is scrolled and released slowly everything is fine. However if the container is released so that it springs back into place, a hard fault is generated. I have tried using a Scroll Wheel and a Scroll List and they exhibit the same bug. I believe that this is due to the easing out logic. The fault always happens at the same location on the same instruction. If I change to a scroll wheel and select a different easing animation, the fault will happen on the same assembly instruction in the alternative easing function. This led me to believe this is a hardware / library issue. I am using an M4 with no FPU and I have linked against the ":libtouchgfx.a" library located in "Middlewares/ST/touchgfx/lib/core/cortex_m4f/gcc". It seems odd that this library is in a M4F directory. However since there is a "libtouchgfx-float-abi-hard.a" library I assume that ":libtouchgfx.a" is compiled to use floating point implemented in software. Har
This is an update to the question I asked earlier, but now I've reduced it to something that is creatable entierly in the Designer (in less than a minute!)Create screen1 and add a scrollable container and a dynamic graph in this container, both 1200 pixels. choose the generate random values option.Create screen2 with 10 lables and a button. Make the button swap to Screen1. Make this the startup screen.Run - and crash!Ive added the designer file so you can re create it. - just open and run in the simulator!thanks Mark
Hi,I'm running the latest release 6.9.2 of STM32CubeMx with admin rights. When I'm going into the install/remove packages and scroll down to the X-CUBE-TOUCHGFX package, the latest release 4.22.1 does not appear, even after a press on "Refresh" button.I exited STM32CubeMx, retried: same result. The latest package version does not appear. In the end I downloaded the latest package from ST's website.I guess this is abnormal, no?Any hint?
I am using this screen Riverdi screen and another one problem that I am facing is that I cannot flash my program to the screen after enabling the LwIP. I need to configure the ETH RMII mode, but the ETH has conflict issues. I set a new project and generate a simple UI, the only thing I did is setting an IP with LwIP, save the program and trying to flash it with the touchgfx. The error I am getting is this:#include "lwip.h"^~~~~~~~compilation terminated.make[3]: *** [CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/Core/Src/main.o] Error 1gcc/makefile_cm7:518: recipe for target 'CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/Core/Src/main.o' failedmake[3]: Leaving directory 'c:/TouchGFXProjects/just4fun'gcc/makefile_cm7:437: recipe for target 'generate_assets' failedmake[2]: Leaving directory 'c:/TouchGFXProjects/just4fun'make[2]: *** [generate_assets] Error 2Makefile_cm7:51: recipe for target 'all' failedmake[1]: Leaving directory 'C:/TouchGFXProjects/just4fun/gcc'make[1]: *** [all] Error 2../../gcc
I am using Touchgfx version 4.19.1 with an STM32CubeIDE version of 1.12.1 (have also tried 1.13.2). The basis is a template from EDT (EVK070006B) which runs on an STM32F746.I have noticed that after maybe a couple of hours the GUI freezes and is hence unresponsive. For the release build I am using the watchdog which is kicked within the tick() function in the Model. For debug (no watchdog) I can see that all the FreeRTOS tasks are running fine except for the defaultTask which is why the tick doesn't happen. There is only limited source code for the Touchgfx drivers, so I can't say much why it locks up but it looks like it is waiting (indefinitely) on a semaphore for the frame buffer and hence not in any part of my code. Someone else looks like they had a similar problem: crash-in-touchgfx-draw-function-waiting-on-framebuffer-semaphore but this doesn't look like it was resolved properly? I have tried increasing the priority of the defaultTask and also given it oodles of stack
I am using TouchGFX 4.20.0 library. We are storing all the Fonts and images to the external memory. During the initialization as per the selected language we are caching the respected Fonts and successfully load the fonts and able to see correct text. We also cache all the images upfront. But while our display module is receiving large number of CAN messages on the CAN task sometimes we observed the few texts on the screen becomes garbled. The issue comes only for text we did not see any issue while drawing the images. As we cache both the fonts and images upfront during the initialization though we are seeing the issue with text(fonts).
Can you tell me the difference between TouchGFX and QT for MCU?
I saw a TouchGFX music player demo running on stm32f469i-disco development board, very beautiful.Where can I learn the source code
I have an issue that caused me a few hours of troubleshooting. And a few tears.I am using the stock background bitmaps on a few screens. They have a blue color to them:So, blue background image with a blue box in the center. But, here is what it looks like:What am I missing? Is there an additional step to get bitmaps with blue to render correctly?
Hi team,I was wondering if it is possible to have TouchGFX update an image on the fly. For instance, updating the `path` of a SVG and refresh the image dynamically.From the APIs it looks like everything has to be static since all assets are compiled into C++ files, but I wanted to see if there's a way to update images in general.Thank you!-Guillaume
Hello friends, I have a problem with a resistive touchscreen interface.The device and the touch perform very well, I managed to combine an algorithm that does not create jumps and considers a neighborhood of the touch to have a very stable value of the outgoing coordinates, but I have a problem with the touchgfx. Even if you make contact (see the attached video), the button blinks but the page does not change. I believe there is a threshold for the temporal release of the button, otherwise the touchgfx does not consider the button touched voluntarily.All of this is hard for me to control. I wanted to know if you had any advice on the matter, I can't find similar problems, usually everyone uses capacitive ones with external controller.Thank you.
Maybe someone has idea how to display PDF file in custom PCB tablet?
Is it OK to call one of the app()->gotoXYZScreenoTransition() functions from inside the Model tick()?The reason I'm asking is that I just got a weird exception on this code that is inside Model tick():case (newData){ if (modelListener != 0) { modelListener->notifyDataChanged(); }}Exception was when it was calling the notifyDataChanged(). There wore 2 more items on the stack, but Visual Studio didn't know to decode them so they were just an address in the call stack. Either something in my code corrupted the modelListener and it was pointing to a bad value, or I called gotoXYZScreenoTransition() when I shouldn't have it changed the modelListener value while I was in the middle of calling it.I got the idea for the above fromhttps://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/backend-communication
I recently received one of these demo boards and all worked as expected at first. I wrote a simple TouchGfx app using MVP which worked fine.A couple of weeks down the line and I started developing the app for which the board was purchased but I am seeing some very odd behaviour and the board is now almost unusable.For example, a very basic application with just a background image from the stock collection and a button shows the wrong background image and the button isn't properly visible (pixelated).If I try to debug the MVP app I wrote (and worked fine) a few weeks ago in the IDE it ends up in the HardFault_Handler() routine.Is it possible the board is damaged?I haven't changed any settings/jumpers on the board.I am using TouchGfx designed version 4.22.0 to initially generate the code and STM32CubeIDE version 1.13.1 for debugging.
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.