Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
We had been evaluating with STM32U5G9J-DK2 board and have generated GUI code. We do not use Video or JPEG. For our production board we are using STM32U599VJ MCU which does not have JPEG module. So I am stuck with this code that has JPEG DMA usage. How do I tell touch GFX not to use JPEG peripheral and generate code for STM32U599VJ MCU? ThanksSansh
Hello All, I am trying to use STM32H757I-Eval board for one of Development project and need to get one clarification regarding it.I am using Touch GFX Designer Version- 4.24.2, while creating a new project I can see STM32H747l Eval for Board Setup in Touch GFX, but not STM32H757I-Eval. Though I can run the sample code on STM32H757I-Eval using STM32H747l Eval base setup, Will this cause any major problem in my future development, or I can use STM32H747l for any STM32H7 Series Eval Board ? BR
Hi All ,I am doing a projet using STM32f469I disco board with Touch GFX i able to run the Touch GFX GUI properly but when i try to conncet the I2C sensors to the same bus the I2C is always busy with the Touch GFX. hence i am not able to initialize the I2C sensors. Could anyone provide something to wok with it Such that the Touch GFX and other I2c sensors are on the same Bus and works efficentlz.With RegardsLakshminarayana KS
Hi,first time using TouchGFX and I have been going through various tutorials but cannot find one that shows how to use TouchGFX Designer with a partial TouchGFX project set of files (first screenshot) generated by CubeMX (.touchgfx.part file extension and not a .touchgfx file). But instead of generating the 800 x 800 resolution, it generates a 32 x 32 pixel screen in the .touchgfx.part file (and opens a 32 x 32 pinxel canvas/screen also when that file is opened in TouchGFX Designer). I don't want to edit it manually just in case there are other settings in the files generated in the other folders that might be affected by this manual change. This is the CubeMX generated file: { "Application": { "Name": "Display V1", "TouchGfxPath": "../Middlewares/ST/touchgfx", "AvailableColorDepths": [ 16 ], "AvailableLCDs": { "16": "LCD16bpp" }, "AvailableResolutions": [ { "Width": 32, "Height": 32 } ], "PostGenerateTargetCommand": "touchgfx update_project", "Fami
Hello,i want to render frequency spectrum FFT in the small area of screen and handle touch in this area. This should be done by some custom widget/container. Can you help me how to do it? Best Regards,Petr
Hi Gfx Team,Could you consider adding an option to build code without running.Thanks
Hi there,I am doing a DIY project based on an STM32F469 disco board. I am using Touch GFX Designer v4.24 and generating the code with it. The thing is that when I import the project to CubeIDE software, it does not take it as a cproject because it does not show Core files.If I import all the folder (as it can be seen in previous image) I can modify .h files but cannot compile because it counts it as an undefined reference, apart from the fact that you cannot compile 2_SPI_TEST file directly, because it does not take into account that it is a project file. Could anyone help me and explain how to do this properly? I know main.c is in DISCO file but the .h are inexistent. Do not know how to manage this, I've tried to add path system to compiler but does not fix anything...
I am having an issue adding a bitmap into my project, its ID doesn't seem to get added into the bitmap database, but in debugging this I noticed that there is a bunch of info from a bunch of bitmaps that got deleted from the project long ago.I go into images, hit +, point the file picker at my .png file, add it in, looks great, put in a screen, looks great. Generate code, compile the code, compiler can't resolve the symbol for the bitmap ID. Grr.Maybe I just don't understand how these files work, but they do say that I should not edit them since they are generated by imageconverter. I expect that the database is borked, but if I delete it, and generate code, that makes a bigger mess. Apparently there is a trick that I don't know.Okay, how do I fire up imageconverter so that my bitmap gets an ID and the old stuff gets deleted?(4.24.1)
Hi,How to shift X labels min/max ('0' and '100') to be fully visible ? Thanks
I am evaluating the MP line of processors and want to use TouchGFX. The current version of TouchGFX is 4.25.0 put the MPU addon is 4.24.0 and won't install with 4.25.0. Is an updated MPU addon coming out soon?
Hello, I am working on a project that includes HTTPS communication, peripheral communication via LIN, and a graphical user interface. I am using the STM32H745I_DISCO board. I have already tested and successfully implemented the HTTPS and LIN parts.Yesterday, I started investigating how to get the GUI up and running. I downloaded an image with TOUCHGFX 4.24.2, and it displayed correctly. Then, I followed the example from this link to configure it via CubeMX, but without success. The strange thing is that when I tried downloading an image or a demo to the board again using TOUCHGFX 4.24.2, artifacts started appearing. I tried erasing all the memory areas visible in STM32CubeProgrammer, but after loading an image or demo, the artifacts persisted. The last thing I tried was loading a blank GUI. I am attaching an image of what appears on the screen: vertical red stripes and pixels randomly turning on and off in red. It seems like a RAM read issue, but I can't understand why it per
I am new to MCUs in general and now I am working with a riverdi rvt70hssfwca0. My issue atm is that I am trying to run the stimulator on TouchGFX before I can further work on the main issue but it showing the following errors:while there is no building error when I build it on STM32CudeIDE. I have tried many solutions suggestion I found online but nothing seems to work. Any tips would be appreciated!
Hello,I have a STM32F777 with ST7789 Display controller over SPI.To write the Framebuffer i have the following code: void TouchGFXHAL::flushFrameBuffer(const touchgfx::Rect& rect) { // Get Framebuffer Address uint8_t* frameBufferAddress = (uint8_t*)HAL::lockFrameBuffer(); // Calc start address uint8_t* fbPtr = advanceFrameBufferToRect(frameBufferAddress, rect // Set window DisplaySetWindow(rect.x, rect.y, rect.width, rect.height); // Start DMA Transfer DisplaySendDataDMA(fbPtr, rect.width * rect.height * 2); // Wait for DMA Transfer end if (osSemaphoreWait(DisplayTransferSemHandle, osWaitForever) == pdTRUE) { HAL::unlockFrameBuffer(); HAL::flushFrameBuffer(rect); } } I can't build the code because the function advanceFrameBufferToRect() is defined as inline but without implementation in the header. The implementation in the source file is not accesible with the inline statement.How can I fix this error? Is the code above correct?Thanks for your r
Hi, I was curious on the operation of the tearDownScreen function in regards to local variables created in the screen views hpp file. If I create a Struct A in screenview, and pass it by reference to the presenter then to the model, is this recommended against since tearDownScreen would get rid of the struct A? Is it recommended to dynamically create the Struct A in the screen view then delete it in the tear down screen function after sending it to the model?
I'm working on a STM32F7 software project with TouchGFX, FreeRTOS, lwIP and more. Now I'm playing with the "cereal" library for serialization which needs the RTTI option enabled. So I unchecked the -fno_rtti option in the compiler/linker options. But this gives me a lot of linker errors for the TouchGFX code: ld.exe: [...] undefined reference to `typeinfo for touchgfx::Application' ld.exe: [...] undefined reference to `typeinfo for touchgfx::Container' ld.exe: [...] undefined reference to `typeinfo for touchgfx::Drawable' ld.exe: [...] undefined reference to `typeinfo for touchgfx::Container' ld.exe: [...] undefined reference to `typeinfo for touchgfx::Screen' ld.exe: [...] undefined reference to `typeinfo for touchgfx::TextAreaWithWildcardBase' ld.exe: [...] undefined reference to `typeinfo for touchgfx::Image' ld.exe: [...] undefined reference to `typeinfo for touchgfx::Screen' ld.exe: [...] undefined reference to `typeinfo for touchgfx::DMA_Interface' ld.exe: [...] undefin
Hi everybody,I have some screens where is present a scrollable container and listLayout like child to generale a scrollable list (in other words a vertical menu) (see the video).Everytime I scroll Up e Down the container a glitch compare in the middle of screen like a horizontal black line.The project has a lot of screen but I don't have any other problems with transictions or other objects.Only with scroll container in every page their are present..I'm using a custom board with an STM32H743VIT6 and a 16bit RGB display. connected on LTDC.(all graphic assets are placed into an external QSPI memory )I tried to disable DMA2D, Dcache, I change the clock of LTDC but without success. Does someone has some ideas? some suggestion?Thanks in advance
Hello,In previous touchgfx releases, we all know that partial framebuffer is limited to 20 lines. Now with touchgfx 4.25, is it possible to increase it? If yes, how can I do it?In addition, I tried to increase "Block Size" in .ioc file, however it still sends only 20 lines. It does not use remaining block size. I need a clear example.Thanks!
I'm working with TouchGFX in 1-bit mode with custom SPI display and its working ok, but, I'm encountering an issue where any image widget I add always appears black, regardless of how I configure the PNG or try different combinations. I’ve seen someone mention this problem from a few years ago, suggesting a modification to a function, but I don’t quite understand how the project is compiled since none of those functions are used in the code directly. It seems like they might be using a precompiled version of the library.Here are my questions:Is this actually a bug?. How can I modify the relevant files and ensure they are compiled? For context, none of the files in Middlewares\ST\touchgfx\framework\source\touchgfx\widgets\canvas seem to be compiling, even though the headers from those files are being included. From what I understand, the header files are used to reference functions in the precompiled library. How can I ensure the source files are properly compiled into the project?This
I am using the STM32HUB50xBT6 development kit with TouchGFX. When enabling USB as Full-Speed (FS) and programming it with `USBH_PROCESS_STACK_SIZE` set to 4096, I face an issue where the allocation of `MSC_Handle` fails in the lower layers of the `usbh_msc` file. The debugging print message shows "cannot allocate memory for MSC handle," and this occurs within the `USBH_MSC_InterfaceInit()` function.Can anyone help me in thisThanking you in advance.
Hello.I have a project on TouchGFX Designer, in a view (called routing_channel) i have a ScrollList with a container that i use as template.I am doing the scroll with hardware buttons, my goal is, get the index value from the items of the list and pass this value to container.How can i pass values from view to container? example:ScrollListitem1item2 < Selected this item, now i want to pass his index value to the containeritem3If my goal isn't clear enough, i can provide more details. Thanks!
Attached SVG image with vertical gradient renders correctly in TouchGFX Designer 4.24.1, but not in the simulator.In simulator the gradient is horizontal in landscape mode and vertical in portrait mode.Edit. SVG attachments are banned, but renaming it to TXT is banned too so my attachment wasn't attached."The attachment's gradient.svg.txt content type (text/plain) does not match its file extension and has been removed."So I've attached it as source code:<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="400" height="100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <linearGradient id="grad1" x1="0%" y1="0%" x2="0%" y2="100%"> <stop offset="0%" stop-color="yellow" /> <stop offset="50%" stop-color="green" /> <stop offset="100%" stop-color="red" /> </linearGradient> </defs
Hello,After lots of tries, I have finally been able to set all registers of the display driver I'm using. It is Ili9881c. However I have to solve my next problem as well - I'm unable to display content and it is becoming somewhat unresponsive after sleep out command. For sure I know that I'm accessing the right registers.When I drive the display into BIST mode, it starts displaying all the patterns correctly, without any noticeable flickering. After that I can also send commands like Turn All Pixels On/Off, with delays can make it flash and so on. But... when I exit BIST mode, then it feels like it is not listening to any commands and then I'm unable to turn on/off the pixels or do anything else. But I have placed Read commands, so I can check on if I'm changing the state/mode of the controller. And I'm, so the driver is responsive, returning correct values after every change(depending on the change ex. display on/sleep out/all pixels on), but unfortunately nothing happens on the scree
Pops up when opening TouchGFX-generated .oic file. What do do?Windows11TouchFGX v. 4.25.0CubeMX v. 6.14.0
Hello,I have integrated touch GFX with quad SPI, and images are stored in external flash, in debug mode the code is getting stuck inside the Hal Delay. What is the root cause for this, if I disable the external loader the Hal delay does not get stuck.
I am using STM32H747I-DISCO board, and this is the selected board in TouchGFX Designer.I created the Tutorial 3 Applications with multiple Screens in TouchGFX Designer called DigitalClock app. I added Clock displays and UP/DOWN arrows with its virtual functions. The app works fine in Simulator, hours and minutes can be set to any value between 0-23 and 0-59 range. Overflows are handled right.Even the DigitalClock runs fine in Visual Studio 2022 (C:\TouchGFXProjects\DigitalClock\CM7\TouchGFX\simulator\msvs\Application.sln). I can set breakpoints, check value of display buffers. It is amazing job guys. Congrats!The problem begins when I connect the STM32H747I-DISCO board to my PC and I click Program and Run Target in TouchGFX Designer. It fails with a funny "No such file or directory" as the first error (There are other errors and all are related to generating fonts. The first error is arm-none-eabi-g++: error: CM7/TouchGFX/generated/fonts/src/Font_verdana_20_4bpp_0.cpp: No such fil
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.