Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I've found a bug in the analog clock widget. It works perfectly, except when passing midnight, then the arms go all over the place. I think they go in the wrong direction first and then bounce a few times. I've attached a video and an example project. Glitch occurs in simulator and on board.
Hi there,I want to try touchGFX on my homemade board with the STM32F429BIT6 and a band flash chip H27U1G8F2B.After config by cubeMx and TouchGFX designer, my demo can work as well.However, I checked the map file and found the image is still stored in the internal flash.Need I change the "config.hpp" file to complete this function?How can I restore the data to external NAND flash?Could this step be done automatically, or need some tools to finish it?If possible, please give me some documents about it.Thanks for your help!
Hi all! I'm looking for a custom numerical keypad, with negative sign, comma(for float vaues) , clear and enter.How can i create? I found only querty, and numerical without comma and sign. Thank you!
Something I've seen (with all embedded GUI software) is the need for more speed and support for more art asset types. I've written my own imaging codecs (originally for PC). Recently I created new versions that are optimized to run on constrained targets like STM32 MCUs. These include JPEG, PNG, GIF, TIFF, BMP, MPEG, H.263.Besides being faster than the code distributed with TouchGFX (e.g. libjpeg), my codecs require less RAM and can take advantage of DMA to move pixels to the display while the CPU is decoding the next set. If there is enough interest, I can make this code available for STM32 and TouchGFX. The main impediment is that I don't have a business need to work on this.
Hi,how is supposed to work rendering of objects set as "not visible"? My layout is composed of several containers/objects whose visibility is turned on or off at runtime.I've noticed that rendering time is high also when objects are hidden, as if they were always rendered. As a counterproof, I've used the "Animated image" example on an STM32H735G-DK.When animation is off, rendering time (measured on Arduino D2 pin) is approx. 250us; when on, it raises to 800us ca.Setting the animation widget as not visible does not change rendering time: 250us when off, 800us when on despite nothing drawn on display! Am I missing something?TouchGFX v. 4.23.2 Alessandro
Hello, i am unable to compile a touchgfx project.Try #1:Starting from CubeMX, Version 6.10.0 i click on Generate Code. It ends with "The Code is successfully generated under:". When i click on Src/ApplicationTemplate.touchgfx.part, it opens TouchGFX Designer Version 4.23.1.I start with a "Blank UI" and klick on Import.Then i define there a Box and a Button.Then i click on "Generate Code" it fails with: Generate Code | Failed.Unsupported toolchain: Makefile Here the CubeMX is running on a linux box while TouchGFX Designer is running on a Windows 10 computer. Try #2:I import the .ioc file from CubeMX into STM32 CubeIDE version 1.14.0 with "Import an Existing STM32CubeMX Configuration File (.ioc). I choose target language C++. During import code is generated. The structure looks different compared to generated code in Try #1. When i click TouchGFX/ApplicationTemplate.touchgfx.part it opens TouchGFX Designer.I start with a "Blank UI" and click on Import.Then i define there
Hi All,Im working with a Custom board using STM32h743 and an RGB Display with ST7796 driver.I'm configuring SPI to send the right settings to the display for working with RGB pins on LTDC.In effect I done the 90% of work but I don't understand the reason of the effect on the below image:Display draw the screen with wrong pixels: it seems shifted.The original screen created with TouchGFX Designer is:Whitch parameter is the cause of this effect?Does someone has some suggestions?Thanks a lot?
Hello people.First of all... I haven't worked with screen displays before, sorry if this post sounds dumb:Now that I said the above:I want to interact with any ST board GPIO through GUI buttons. I also want to do this on a "big" touch screen with great quality and not the 2-3" LCD screens that usually come with the boards.1. Where can I find 10" LCD screens with great quality for this purpose? 2. Which IDE will be better to draw the GUI? I have seen many, some are free and some are not (I use CubeIDE for everything not related to screens).3. How can I communicate the GUI buttons with any ST board? Is it by I2C? Or I should instead use the GPIO of the board that runs the screen?I hope I made myself clear enough to get pointed to the right direction.Thanks for your time.
Hello, I hope you are well.The problem is, I create a project in TouchGFX Riverdi_101STM32H7 v2.2.0 (to get the BSP folder), I generate the code in TouchGFX, then I open the STM32CubeIDE, I compile with STM32CubeIDE and I don't have any error. I try to use the default functions in the BSP folder, when compiling with STM32CubeIDE there is no error, but when compiling with TouchGFX to upload to the board it says the following: undefined reference to 'BSP_LED1_toggle'The only line I add to the task by default is: "BSP_LED1_toggle();"When it is supposed that everything is ready to use these drivers. I don't understand where my mistake is.I tried to use other functions from the BSP folder and it always gives me that error (undefined reference to) of the function that I use.It also happens to me when I want to directly use the functions of the "ff.c" library when compiling with STM32CubeIDE it does not give an error. When I try to upload the program to my board with TouchGFX it gives error:u
So I need to have a screen with a scroll list in which different elements will appear depending on the amount of elements stored in the local database. I want each line to have 3 elements, so my question is, how is this ment to be in touchGFX? I have designed a custom container that has one element but I dont get how this expands downwards, I mean, I have set the list to expand to the right, but i want it to grow another line when an elemnt doesnt fit in the same line. And i want it to be scrollable vertically not horizontally I don't get how this is supposed to be done, the only thing i can think of is creating a clone of the same container under the current container but I think this is a bad solution.
Hi everyone.I use scalable image in extflashsection. But image is not shown on the TFT. If i select the intflashsection, the image is shown on the TFT. I am using external flash. There is not any problem in normal image widget. And it is storaged in extflash.Is there any solution for this problem? How to i can use scalable Image in external flash? xxx_flash.ld fileExtFlashSection :{*(ExtFlashSection ExtFlashSection.*)*(.gnu.linkonce.r.*). = ALIGN(0x4);} >SPIFLASH
Hello TouchGFX Community,As part of my project, I'm developing a menu system within a TouchGFX application. The menu is intended to display either ToggleButtons or standard Buttons based on configurations set by the user. The aim is for the UI to dynamically adapt to these configurations, showcasing different functionalities as per the user preferences.I have read, that creating UI components dynamically on the screen at runtime is forbidden by TouchGFX design, however I've been exploring the possibility of dynamically generating these components before the screen initializes, tailored to the user's setup.I've had success with dynamically creating buttons pre-initialization, but only when they are of the same type, so I could keep them in the same array/vector.I know that the other route would be to predetermine all possible buttons in the .hpp file and manage their visibility according to user configurations, but I would prefer to avoid this method to save some of that memory.Given th
I have a monochrome display and use the framebuffer B/W with one bit per pixel. With the framebuffer and the TouchGFX Designer I can display text, but I have problems with small black and white images or e.g. a progress bar. Either only a black block or a black block with white highlights is displayed. But nothing usable. Has anyone had a similar problem and found a workaround?
Hello I'm luis.I wanna to control new LCD(partname WF50DTYA3MNN0, MIPI-interface). show attached file.But I have problems how to setting TouchGFX many parameters about WF50DTYA3MNN0. please help me. Even if it takes some time, please let me know step by step. It would be better if you attached a picture. I would appreciate it if you could mark the parameters that need to be set in touchGFX with a red box, display the contents of the data sheet to indicate what value to enter, or tell me the value.thanks
HiI am integrating TouchGFX into own RTOS.I use a TouchGFX/CubeMX generated project for STM32L4R9-DISCO board.I have moved initialization code into a driver for my RTOS - it seems to complete without errors.On touchgfx_init I get a bus fault from this code:As I cannot find anywhere in ARM documentation that 0xe000'2000 should be a valid address, it looks like the code is causing a bus fault deliberately.The exact same code gets executed in the ToughGFX/CubeMX generated project.Our RTOS is - of cause - set up to catch bus faults, but bus fault is not triggered/caught in the generated project.What is going on here - and how can I fix this?Rgds Tage
Hi,is it possibile to decide what area of microcontroller to program (the range) while debugging?I would like to remove QSPI memory update (via loader) because it take too much time.
I'm a student and i'm creating a project of a HMI adc acquisition interface with a STM32H757I_EVAL according to this video: https://www.youtube.com/watch?v=Y7d6-59YQu8I created the HMI as simple as possible, simulated and uploaded into the board via TouchGFX and works fine. Then i wrote the code according to the video with my teacher into STM32CubeIDE, compiled and got 0 errors and 0 warnings. Simulated again into TouchGFX and still simulated fine. When i upload the code into the board via STM32CubeIDE it upload but the lcd monitor shows a pixelated grey screen, but if i touch the button i placed into the HMI it changes screen into a different pixelated grey scale screen, so the "button object" works but not displayed properly. When i upload the code via TouchGFX it compiles but when flashing it got "undefined reference" error to the hal adc instruction i wrote (start, pollforconversion, getvalue,stop) and the flashing fails. I got this exact errors: CM7
Hello, i'm trying to incorporate TouchGFX into STM32CubeIDE with project based on STM32F767BIT6 (2MB Flash). Without TouchGFX the project can be build with size about 170kB. I updated STM32CubeIDE from 1.14.1 on 1.15.0 and i dont have working Build Analyzer (empty Memory Regions and Memory Details) but code still can be compilated and works on hardware. Then i tried to add TouchGFX application via *.ioc and designed blank screeen in TouchGFX designer. In the simulator window with blank screen shows correct. But when i'm trying to compile application in the STM32CubeIDE together with TouchGFX graphic design im getting errors about huge flash overflow: C:/ST/STM32CubeIDE_1.8.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.100.202403111256/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: ARM_FPGA_SoftWebRadio.elf section `IntFlashSection' will not fit in region `FLASH'C:/ST/STM32CubeIDE_1.8.0/STM32CubeIDE
Hello, I`m trying to get TouchGFX run on a Nucleo Board and with a monochrome E-Paper Display via SPI. For the first "Hello World" I want to use the full refresh from the E-Paper Display to show the Single Framebuffer. Maybe only refreshed when Button is clicked or periodically with a Timer Interrupt. I used mostly this Tutorial as a Guide.In order to do that I did the following Steps:Start a new Project with TouchGFX, SPI and working E-Paper DriverCreated "Hello World " in the Designer (white Box in the Background and a black Label)Setting up Timer with Interrupt ~ every 4 sec (tried with LED, so this is working)Ive put the following Code in the TouchGFXGeneratedHAL.cpp (not perfect but otherwise I got the error that the function touchgfxSignalVSync is unknown) and called it from the interrupt extern "C" void touchgfxSignalVSync(void) { /* VSync has occurred, increment TouchGFX engine vsync counter */ touchgfx::HAL::getInstance()->vSync(); /* VSync has occurred, sig
hello , i want link to download touchGFX and gui
I am working with a Riverdi screen (RVT50HQSFWCA0) and TouchGFX for the first time. I followed the installation instructions and tried working with multiple TouchGFX examples and new simple projects. I get a compiler error in both TouchGFX and importing into STMCubeIDE. The error comes from nema_hal.c. I saw a known issue related to the nema file, so I downgraded STMCubeMX from 6.9 to 6.8, but that did not change anything. A picture of the compiler error is attached. The versions I am working with:TouchGFX Designer: 4.22.1STMCubeMX: 6.8.1STMCubeIDE: 1.13.2 Does anyone have any recommendations?Thanks
I am working on a feature related to DragEvent. The goal is to detect when a certain container has been pressed for a few seconds, after which it would proportionally enlarge and become draggable. During the dragging process, if it encounters other containers, those containers should automatically move aside, left and right, similar to the behavior on an iPhone. Is this feasible to implement in TouchGFX? Or is there already a related post that I might have missed?Note: The mentioned containers are clickable and can change screens.Sorry if this is a simple question.
Create IOC file with CubeMX at "Root"Generate code from CubeMX for IAROpen "Root\TouchGFX\NGEN_NTZ.touchgfx" in TouchGFX designer and generate the code.It fails, as it tries to update project in "EWARM\Root" instead of "Root\EWARM", i.e. one level up comparing to what it is supposed to be.By manually creating extra directory "EWARM\Root" and placing there fake EWP project file, the problem gets fixed and Designer is able to finish code generation. However, then that file has to be manually edited to change correctly referenced but from incorrect location files and then be copied back to a proper location at "Root\EWARM".Seems like there is still some problem with counting dots in file paths. However, 23.1 places all the rest of files at correct locations, unlike previous versions, which is definite progress!See the attached screenshot. Thanks
Hey!When I use images in TouchGFX, the color sequence seems different than in regular widgets. It only appears when images are stored on external flash (QSPI flash in my case), images stored on internal flash are fine.Below is an example: the top 3 squares are BOX widgets, the bottom 3 are images in .png format.In TouchGFX:IRL:I'm driving RGB display with LTDC module. I'm using the ARGB pixel format, so the pixels are aligned at 32 bits:Also I tried to fill framebuffer manually with pixels to verify their colors and everything showed as expected: const uint32_t colors[8] = { 0xFFFF0000, // Red 0xFF00FF00, // Green 0xFF0000FF, // Blue 0xFFFFFF00, // Yellow 0xFFFF00FF, // Magenta 0xFF00FFFF, // Cyan 0xFF000000, // Black 0xFFFFFFFF // White }; What setting am I missing?
Hi,After deleting some actions from a project I get this error:Sorry - something unexpected has happened which caused an error to occur in the Designer.For more information, see the log file located at: C:\Users\admin\AppData\Roaming\TouchGFX-4.23.2\TouchGFXDesigner.logPlease consider reporting this bug and steps to reproduce it at the TouchGFX Help Center so it can be fixed in a future version.You can find the Help Center here: https://community.st.com/touchgfxError: Should never convert Action
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.