Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hello Community member, I have a STM32F746G-DISCO, which I used to learn touchGFX application. I'm trying to load images from the mini SDCARD, instead of QUADSPI space. I used touchGFX to create a very simple screen to demonstrate, but I was not able to load images from the sd CARD. Could you review my code below, and advise me what I missed? I tried the following tutorial to learn how to use images from SD CARD (completed till part 3). STM32 Graphics: How to Cache Bitmaps Stored on an SD Card, Part 1I also reviewed the following documents as well:Caching BitmapsUsing Non-Memory Mapped Flash for Storing Images Software ver:STM32cubeIDE: 1.17.0STM32CubeMX: 6.13TouchGFX: 4.24.2 The below is the codes and explanation of what I did. First, I went through all the steps were necessary to setup touchGFX and and STMcubeMX from the part 1. HighlightsPC13 as input pull upenable SDMMC1SD 4bits wide busDMA RX and TXSDMMC1 global interrupt enable
i want to use touchgfx make UI's for board STM32H750VB with display 2.8inch 240*320 ST7789 driver. > In touchgfx designer i have choose STM32H750 DK for my board ? is there any another board similar to h750vb or this is one correct?> I created the UI , when i directly try to program and run target it get stuck on programmer part and then fails
hello everyone..i am getting problem in the stm32f469 disco board while using the QSPI along with the touchgfx, i worked previously only on Qspi with external loader what ever stm given and it worked fine but after that i configured project from tochgfx the IDE, IDE it self Enable and give the configuration some other peripheral, i am using qspi with default configuration whatever by touchgfx IDE given itself, i am not able to write and read to External QSPI flash even though i am following same procedure what ever i followed while working without touchgfx. if i disable memory mapped mode it is going to error handler.please some one suggest solution why the QSPI is not working with touchgfx.
Hello,I am using a 480*480 display(st7701s driver) with STM32H745BIT6. I would like to rotate the touchgfx screen dynamically based accelerometer output. How to do this. I would like to rotate the screen 0, 90, 180 and 270 degrees and should be possible as the width is equal to height. Thanks in advance.
During the process of using the software, the error shown in the picture occurred. Please inform me of how to fix this problem.We would be most grateful.
Can some one help me with this to integrate graphic. Step By Step Guide path included.LVGLgraphic Files This is my current STM files
When TouchGFX generates code to a project's .cproject, it uses spaces. When STM32CubeIDE saves to .cproject, spaces are replaced by Tabs. This causes Git (SourceTree) to label every line in an otherwise identical project file as changed. The actions of the two environments need to be coordinated such that both use the same whitespace characters (preferably spaces).
This will result to version control to annoyingly showing the whole file as changed when you use both generation tools now and then.Please fix either CubeMX or TouchGFX to use same format? Thanks!
I have a third party screen that is driven by an ILI9881C and I am having a lot of trouble getting TouchGFX up and running.I first started running DSIHost in Adapted Command mode with TE Pin and I could configure the driver's registers as necessary and turn the display on (with a PWM for the LED backlight), however I could not display any frame data via TouchGFX.Looking further, I realised that the ILI9881C does not have internal GRAM, and therefore I could only run it in Video mode. On switching DSIHost to video mode in CubeMX, my initialisation code no longer works, with all the DSI Writes returning a timeout error.If anyone has experience in getting this driver chip up and running with TouchGFX, or just a bit of help with configuring DSI in Video mode, it would be much appreciated!
Good morning,we are working on a project using a 5 inch display (RVT50HQSNWC01-B) in the TouchGFX Designer environment. Simulation, code generation and code download to the MCU works.Problems arise when moving to STM32CubeIDE. In this environment, carrying out the build (compilation + linker) of the application various errors are reported, and this even after generating the code via CubeMX.It should be highlighted that by carrying out the same procedure (project creation in TouchGFX Designer + build in STM32CubeIDE) for an ST board (therefore not Riverdi), the errors do not appear and everything goes smoothly.I look forward to your cordial response.Thank you.
Hi, I recently started learning TouchGFX. And faced with the need to use the graphics work with the screen without the Touch panel. Instead, there will be physical buttons. Is there an example of how to implement this?
I googled how to make this change. I found several references to class members setBackgroundColor, setButtonColor, setBoxColor but none of them work (are members). I checked BoxWithBorderButtonStyle.hpp and could find no reference to any of these nor any (obvious) function that would allow me to change the color. The documentation that I can find online does not match my results. Any feedback would be helpful. I am using TouchGFX 4.24.2
Hello,I am trying to configure project manually for STM32H745I-Disco from scratch (without using any example template). used app versionsCubeIde 1.17.0Touchgfx 4.23.0cubemx 6.12.0I configured everything from cube mx and also created a blank UI from Touchgfx and generated code from there. But i am always getting errors like below: ../TouchGFX/target/generated/STM32DMA.hpp:21:10: fatal error: touchgfx/hal/BlitOp.hpp: No such file or directory 21 | #include <touchgfx/hal/BlitOp.hpp> | ^~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. ../TouchGFX/target/generated/TouchGFXConfiguration.cpp:19:10: fatal error: texts/TypedTextDatabase.hpp: No such file or directory 19 | #include <texts/TypedTextDatabase.hpp> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from ../TouchGFX/target/STM32TouchController.cpp:25: ../TouchGFX/target/STM32TouchController.hpp:28:10: fatal error: platform/driver/touch/TouchController.hpp: No such file or
Hey there!I'm trying to design a TouchGFX GUI using a background image that has some placeholder 'boxes' (that will eventually hold status of things) and custom flex buttons. I'd like these buttons to have rounded edges, so I am using PNGs with transparency around the edges. However, TouchGFX seems to ignore the alpha of 0 and fill that space with blue - see screenshots of the buttons below:They appear the same way in the simulator. Am I doing something wrong? Thanks for your help! Julia
I want to support two variants of a product in the same codebase, but select the appropriate screens at compile time to avoid redundant code in the binaries. I considered two separate .touchgfx files but that doesn't work because they write over top of each other when generating code. So I have a TouchGFX project with all screens and images in it. I have a CMake project and I can use variables in CMakeLists to select appropriate src and generated files for View, Presenter etc but I also want to exclude image srcs. I can do this in CMakeLists but they are also defined and referenced in BitmapDatabase.cpp and BitmapDatabase.hpp. These are autogenerated so not really editable. I would like the designer to support compile-time product variants - is this possible?What I'm thinking is tagging some screens to a variant string and during code generation these sections get wrapped in #ifdef VARIANT. But I note that BitmapDatabase.hpp uses incrementing indices, which would need to chan
Hi, i discovered wierd behavior for touchgfx when using 1bit mode (BW or BW_RLE). Issue happens when you place black color on white one, then in editor everything looks normal but in simulator and on the board the white color overlays the black one. For example when you have white background and black square in the middle, only white background is displayed (opposite works fine). I am attaching touchgfx project where you can reproduce this issue.I am using touchgfx 4.10.0
Is it possible to create a custom widget in TouchGFX using code, specifically in STM32CubeIDE? I would like to start with a blank screen, add a custom widget, import the generated project into STM32CubeIDE, and then write code for the custom widget. What are the steps involved in achieving this?
Hello! First, some information: I am running a custom board with an STM32U599VJT6 and a 480x480 RGB666 screen. I am running single frame buffer, by allocation. All other settings are like the STM32U5A9-DK discovery board uses (as far as I know).The problem: the handleTickEvent function is not running, model tick is only running once (I checked with breakpoints). The initial framebuffer does get generated and displayed successfully on the screen but I cannot update the screen after that. The LTDC interrupt fires at a correct 16ms interval. So far, the debugging has led me to find that it seems that some functions related to the VSYNC in HAL_LTDC_LineEventCallback in TouchGFXGeneratedHAL.cpp are not mutated (defined as virtual functions but not overwritten). (See pictures).(Eclipse code highlighting says that the bold text is mutated, the normal text is virtual.) I cannot find where the mutation is supposed to happen. This is the only significant difference I have been able to
Hello, it seems there's some bug in TGFX. I have progress bar png's (600x140) and want to use it as circle progress. When I'm debugging it with background image + progress Color (no progress img) only, it's working until I increase radius and Center position [y] over values 1000. In TGFX is all working normally, but after flash into target I can see only background image and no progress. What's wrong here ?(the same situation is , when I use Circle and change values like start/end arc and radius over 1000...)Thanks.PS: in attached picture the upper bar is done by normal Image progress, which is working well, but I need some arc based progress bar....)
Good afternoon,I'm using a screen that is naturally in a portrait orientation but my application requires landscape. I've found how to rotate the entire GUI in TouchGFX, however I am finding that I need also to rotate every PNG asset I've imported 90 degrees for it to appear correctly on the simulator or the actual screen (Focus LCD).Here it is without the asset rotated:And here you'll see that I've rotated the asset 90 degrees in the `Images` section, and it appears correctly:Is this expected behaviour or is something set up incorrectly in my project? I wouldn't expect to have to rotate every single asset, in addition to the global setting being set.Thanks in advance!Julia
Dear Gfx Team,When building Gfx in CubeIDE 1.17, C++20 compiler,in file framework\include\platform\core\MCUInstrumentation.hpp ,statement 'cc_consumed += cc_temp' causes this warning../Middlewares/ST/touchgfx/framework/include/platform/core/MCUInstrumentation.hpp: In member function 'virtual void touchgfx::MCUInstrumentation::setMCUActive(bool)': ../Middlewares/ST/touchgfx/framework/include/platform/core/MCUInstrumentation.hpp:73:37: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile] 73 | cc_consumed += cc_temp; | ~~~~~~~~~~~~^~~~~~~~~~If you could please change it tocc_consumed = cc_consumed + cc_temp;With this change the warning is no longer.ThanksFerro
Question moved from this thread. Okay, now I can turn off the LCD/Backlight anytime, but I need to turn it back (on) if any part of the LCD Module is touched. I probably need to capture the TOUCH interrupt and turn the backlight on from the interrupt service routine. I could not find any usable idea in the community forum. Thanks, Louis
Hello!I've been having some problems to update a flex button inside a custom container that i created and used as template in a scroll list. My goal is: select an item in scroll list by hardware button, and change the state of a flex button from "Released" to "Pressed" and vice-versa.Issue: the function that i use to update the items only update when the scroll movement is made, create another function to send the button's update command to the container didn't work. I need to update the button state immediatly with a button click, how can i do this? My code://My container void RoutingContainer::setListElements(int item) { //Function to define items in scroll list switch (item) { case 0: channel_number.setTypedText(TypedText(T_RESOURCEID1)); break; case 1: channel_number.setTypedText(TypedText(T_RESOURCEID2)); break; case 2: channel_number.setTypedText(TypedText(T_RESOURCEID3)); break; case 3: channel_number.setTypedText(TypedText(T_RESOURCEID4)); b
Hello All Members,I am building one project using STM32 controller and using TouchGFX for creation of GUI for touchpanel.I am trying to look for the QWERTY keyboard, where I can be able to have LOGIN Screen and can provide option for User to select Characters, Numbers and Special Characters to set their username and Password.It would be great if someone could provide me a direction, where I can get the Qwerty Keybord for my TouchGFX project.Also please let me know how I can customize the keyboard if required ? BR,Shiv
Hi,I built the demo below (from STM32Cube-F7) and Flash the .hex file using CUBE-Programmer (with external loader enabled) it to my STM32F746G DISCO. \STM32Cube\STM32Cube_FW_F7_V1.15.0\Projects\STM32746G-Discovery\Demonstrations\TouchGFX\SW4STM32\STM32746G-Discovery\.projectThe display looks like the picture attached. Does anyone recognise this problem ?(The Hardware is OK … as I can run STemWIn demo fine.)Any ideas please ?Richard.
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.