Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi there,I have a STM32F746G Discovery board on which I have developed an application. The application was running fine, there was some strange behaviour, probably some minor bugs, but it looked good. When I bought a new identical board and flashed the application, the display literally showed some random noise, like this:I flashed the examples from TouchGFX to see if it made a difference, but I got the same result. My old board is DK32F746G$U2, which works fine, but the new one is DK32F746G$CU4, which renders everything wrong. I found a STM post on this link: STM32F746G_Discovery touch screen buttons stop wor... - STMicroelectronics Community, that says there may be different display built-in:1. CU1 uses - HT043C2. CU2 uses - GJX043A6 -40D YI have no clue what the display is used for CU4 as I could not find any information about it. How do I solve this? Thanks for the help!!!
Hello,I have successfully implemented a Touchgfx based UI app using cubeMX and freertos on the STM32U599 chip. This is a basic application with multiple screens, a number of components all in ARGB2222. I am now in the process of porting my app from FreeRTOS to the zephyr platform. I am able to initialize touchgfx and start the process.Using gdb I verified the touch gfx process going through my first screen setup and invalidate it. But at some point in touchgfx::Application::draw(touchgfx::Rect&), a hard fault is produced.I have two theories on how this could be happening:1- Linker issues. At first zephyr was trying to allocate my UI elements where it saw fit. So I looked at the '.list' generated by cubeIDE to understand where my sections should be placed. Doing so I was able to put together the following linker sections and passed it to zephyr using cmake:SECTION_PROLOGUE(TouchGFX_Framebuffer, (NOLOAD),) { . = ALIGN(4); __TouchGFX_Framebuffer_start = .; KEEP(*("TouchGFX_Framebuf
Hello,I'm busy working on my first touchGFX project and I am using flex buttons instead of toggle buttons. I set the trigger to toggle and change the color of the button which works really well. The issue I am facing is that if I set a button to the off state when its default state in on and change screens the buttons will all reset to on when returning to the screen.I notice the same thing happens even with toggle buttons. Is there any way to save the state of the button when leaving the screen so that when I return it will still be in the correct state?Thanks in advance.
Hello, I am facing an issue where the rendered frame buffer is printed on the display as gibberish pixels.I'm using the Nucleo F746ZG and interfacing it (over SPI) with an external display controller that writes to a 240*320 display. I was not able to locate the exact color depth of the display in the datasheet, but the information suggests that each pixel has 2ddot. Given RGB, I assumed 6bpp is the correct format.Initially I set up touch gfx to render a 16bpp frame buffer. With the 16bpp rendering I used the following code segment to send the rendered gibberish buffer to my display controller and get some random pixels printed.In TouchGFXGeneratedHAL.cpp:void TouchGFXGeneratedHAL::flushFrameBuffer(const touchgfx::Rect& rect) { uint32_t ibaseaddr = (uint32_t)getClientFrameBuffer(); uint16_t istride = lcd().framebufferStride(); uint16_t HParam = 1; uint16_t WParam = 1; uint16_t HScale = 100*HParam; uint16_t WScale = 100*WParam; uint16_t rot = 128;//<< rotates 90 degrees
Hello,I found an "edge" case with TouchGFX Designer.I have a message box that can swap syntax between language and wildcard count.think of:-ID1: "Clock stop"-ID2: "Clock <min>"-ID3: "Clock <sec>.<usec>"I was able to set a base class with id3 and both wildcard buffer. Then switch to id1 without apparent issues.The bug that I found is that I cannot set id1 in designer as it will report non-use of wildcards.Is there a format of "<!wc1>" to explicitly ignore/drop one or both wildcard for id1 and id2 ?[1] https://support.touchgfx.com/4.20/docs/development/ui-development/touchgfx-engine-features/texts-and-fonts#wildcards[2] https://support.touchgfx.com/docs/api/classes/classtouchgfx_1_1_text_area_with_one_wildcard
I would like to check which screen is activated from model.cppI tried to use getCurrentScreen() in touchgfx::Applicationhttps://www.touchgfx.com/documentation/html/classtouchgfx_1_1_application_af560e49a149b6d2d0ccffd4ca42e5991.html#af560e49a149b6d2d0ccffd4ca42e5991But I am not able to use in model.cppCan you explain the philosophy and some code example ?Regards,Sébastien
Hi, I went through some other discussions discussing a similar problem, but they did not seem to help. I have screen one which displays (dynamically) a container. The container has a button on it, which when clicked, changes screens to screen 2. At the same time the container needs to send data to screen 2 (an int). The button is a flex button which I set up from the GUI call a virtual function. I would prefer a way where the container is not permanently tied to screen 2, as this container appears on multiple screens and does something similar.
Hi everyone,I'm working with the STM32F429i-Disc1 board, writing code from scratch, and I encountered something odd. I created an empty project for the LCD, and during the LTDC pin initialization, I mistakenly set the alternate function (AF) to the wrong value.According to the STM32F429-Disc1 schematic, the R3, R6, G3 & B4 pins of the LCD are connected to PB0, PB1, PG10, and PG12, respectively. As per the STM32F429xx datasheet, the alternate function to configure these pins as LCD_R3, LCD_R6, LCD_G3, and LCD_B4 should be AF9. However, by mistake, I set the alternate function to AF14, which is meant for other peripherals.The strange thing is, the code still works! :\ I'm trying to figure out why. Shouldn't this wrong AF setting prevent the LCD from working properly?Does this mean that the effect of setting these pins (PB0, PB1, PG10, and PG12) to AF14 is null, or is something else happening behind the scenes?Any insights or explanations would be really helpful!Thanks in advance.&nbs
Hi. My TGFX project is based on a Swipe Container employing multiple screens. Each 'swipe' will bring a set of widgets into view that are responsible for many different settings. Amongst these widgets are pairs of Radio Buttons which should work independently of - for example - another pair, located on another screen in the Swipe Container.I notice that all of the radio buttons I have impleneted thus far belong to a single Radio Button Group in TouchGFX Designer (identified in the Properties Menu under Group). I don't see a way of adding multiple entries into this property field in order to handle the values of another pair. In other words the name given to the first array of buttons in the Radio Button Group manages all radio buttons added thereafter.This is not the behaviour I am looking for as, interacting with one pair of buttons on one screen - for example - an on/off pair, directly affects the values set of another pair on another screen. Currently, my proj
Hi,I am having STM32U575 boards with me and I am able to use a simple TouchGFX project with U575ZI_GFX02Z1 example from TouchGFX.I tried embedding example Video from TouchGFX and my compilation fails for the below error:(.text._ZN8touchgfx11VideoWidgetD2Ev+0x8): undefined reference to `touchgfx::VideoController::getInstance()'Upon looking into ST forums, I found that either I need to enable the support of video through hardware of software.But the U5 package does not have "libjpeg" package avaialble for download from CubeMX.Can you confirm if the STM32U575 can support playing video through software or hardwar Means? If yes, can you provide me instruction on how to support it from hardware and software both for U575? If not U575, can UF9 support playing video using hardware?Thanks,Mehul
i am using STM32F746G-Disco board for this GUI.i need to display every button values in the text editor.eg: if i enter keys of 12345 continusly should display 12345 in text editor not 1 when click 1 and 2 when click 2 like that.
I'm just starting to use touchGFX and am trying to figure out the best way to design the functionality I need. I need a numeric input panel along with a display of the number that was entered. I need 10 digits (0-9), decimal point, a backspace, and an Enter key. The display portion needs to display a number up to 999.999. I see individual buttons available in touchGFX Designer, as well as a full keyboard, but not a numeric keypad. What is the easiest/best way to get to this functionality. My eventual target is an STM32F469 Discovery board, although I'm willing to upgrade to something faster if needed. Thanks
I would like to enter password through numeric keypad. But could not find any example with numeric keypad. Since my display size is limited 320x240 pixels, alpha numeric may not be easy to use, any body has implementation for numeric keypad for quick integration ?
Hi, therewe will start a project which will use STM32H523 as MCU, to control a LCD.first, we want to know, is there any GUI tool which can help us to build LCD display contents, then generate codes fot STM32H523?and do you have any sample project using 8080 I/F? thanks.
Hello, I am using STM32H7B3I development kit and with appwizard generating the UI for the board using Keil MDK-ARM V5.24.1, I can not find the suitable library and if I linked any given library i still has many errors that can not be resolved especially undefined symbol.Is there any ready project to try AppWiazrd with Keil for STM32?
There was an issue where the screen froze due to too many packages. Is there a way in TouchGFX to check the memory limit for a screen and the amount of memory each package uses to evaluate the number of packages that can be used?
Hi there Touchgfx team,Touchgfx can not run simulator or generate code on my Win11 laptop. I found out that touchgfx needed administrator access to have those function in Win11, but Win10 not. Because my laptop is for working and provided by my company, I don't have administrator access in Win11. Is there any plan to fix this issue?
Hi, I wanted to know is it possible to use QT designer (with stm32h735g-dk) for GUI instead of TouchGFX.Thanks,
Hi all,I am trying to use the STM32H735G-DK as a Dashboard/Speedometer for a car project. However, I am having trouble integrating the FDCAN with the GUI. I have tried building the FDCAN code first then generating the GUI and vice versa.The Board is receiving CAN messages fine however it is not sending anything back, instead, the TxBuffer fills up and causes error 512. My colleague told me there is something to do with the interrupt timing and FreeRTOS, so I have tried polling and it still wouldn't work. my main way of testing is connecting the two FDCAN peripherals already on the board in normal mode and sending messages.I have uploaded my .ioc file and main.c any pointers and help would be much appreciated, thank you!
Purchased 5 RVT70HSSNWC00-B displays from RiverDi. Can not get even the demo project working on them from touchgfx or anything, and it is very frustrating. Has anyone know a fix or had a similar experience?
Hello! First post on this forum.I need to run automated testing of a TouchGFX application in an isolated environment.The application takes screen snapshots and stores them to files.It should not need a display to run if it can just render images to the display buffer and capture the result.It runs on windows, and the framework I have uses docker containers, so it would be nice torun headless, while still taking snapshots, in a windows build.Is it possible to produce that kind of headless build? Would it run in a Windows Nano server container?Best regards/M
Good morning to all,I am wanting to make a simple numeric keypad where I only press numbers and they are seen in a text area and then when I press a button it compares it with a char and if it is the same it does one thing or another.My problem is that I can't see anything in the text area and if I send in the sprintf directly the variable contrasena_ing (which is of type char contrasena_ing[11]; ) it prints and the delete button erases but in fact it prints anything (from touch gfx the range of ascii characters is ok).what am I doing wrong? Info_5View::Info_5View() { } void Info_5View::setupScreen() { Info_5ViewBase::setupScreen(); contrasena_ing[0] = '\0'; pos = 0; } void Info_5View::tearDownScreen() { Info_5ViewBase::tearDownScreen(); } void Info_5View::service_unlock() { // Override and implement this function in Info_5 //Unicode::snprintf(unlock_textBuffer, UNLOCK_TEXT_SIZE, "%s",contrasena_ing); //unlock_text.invalidate(); //char contrasena_ing[11]; } vo
Hello ST community,I am having some issues with importing the generated code by TouchGFX into STM32CubeIDE.I am able to press run target on TouchGFX and load my application onto the board. But when I import the into STM32CubeIDE, I encounter an error Error in final launch sequence:Failed to execute MI command:load D:\\development\\stm32_touchgfxprojects\\My745i-disco-2\\STM32CubeIDE\\CM7\\Debug\\STM32H745I_DISCO_CM7.elfError message from debugger back end:Load failedFailed to execute MI command:load D:\\development\\stm32_touchgfxprojects\\My745i-disco-2\\STM32CubeIDE\\CM7\\Debug\\STM32H745I_DISCO_CM7.elfError message from debugger back end:Load failedFailed to execute MI command:load D:\\development\\stm32_touchgfxprojects\\My745i-disco-2\\STM32CubeIDE\\CM7\\Debug\\STM32H745I_DISCO_CM7.elfError message from debugger back end:Load failedLoad failed(As shown in the image attached). I have attached the debug log as well. For my debug configuration, I followed AN5361 Setting up
Hi, is there an example project or example for STM32U5G9ZJ+ILI9341+TouchGFX using SPI? I've followed the tutorial on youtube and github still can't.thank you
When I flash some .bin the LCD doesen't work. It just display the a noise picture. With similar examples does work and with more advanced examples like the EmbeddedWizard it works too.When does not work, every time display the same static image:
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.