Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
hiby this code click event enable for 2 Continer and work fine void CNTR_A_ClickHandler(const CNTR_AntenaLevel&, const touchgfx::ClickEvent& e); touchgfx::Callback<MainView, const CNTR_AntenaLevel&, const touchgfx::ClickEvent&> CNTR_A_ClickedCallback; CNTR_AntenaLevel1.setClickAction(CNTR_A_ClickedCallback); // ******************************* void CNTR_B_ClickHandler(const CNTR_TempLevel&, const touchgfx::ClickEvent& e); touchgfx::Callback<MainView, const CNTR_TempLevel&, const touchgfx::ClickEvent&> CNTR_B_ClickedCallback; CNTR_TempLevel1.setClickAction(CNTR_B_ClickedCallback); but i have 14 Container in this method i have to add many code line for each container for "Click Event". is it possible use one container Clicked Callback for multi type of container?
It have a new project with LCD(4.3' RGB:480*272) and touch panel, To drive this LCD and touch panel, i will select STM32H750VBT6 to develop , Whether can the TouchGFX support this MCU or not ?
Hello everyone,I’m working on an STM32 project using TouchGFX and STM32CubeIDE. The code compiles fine on the real target, but when I try to build the TouchGFX Simulator, I get the following error repeatedly:fatal error: i2c_data.h: No such file or directory The i2c_data.h file is present in my project under Core/Inc.It seems the simulator build does not include the folder containing i2c_data.h in its include paths.Any guidance on:How to add additional include directories for the TouchGFX simulator? Thank you very much for your help!
Buongiorno a tutti sto provando ad interagire con un flexbutton voglio rilevare la pressione del rilascio, ho visto molti esempi di altri post, ma alcuni esempi che trovo in rete includono un file flexbutton.hpp che la mia demoboard "touchgfx 4.24 stm32u5g9j dk2" non genera, ho cercato in tutte le cartelle ma niente e anche in rete non riesco a trovare dove scaricare il singolo file, c'è qualcuno che può darmi una mano o illuminarmi, grazie Translation: Hello everyone, I'm trying to interact with a flexbutton, I want to detect the release pressure, I've seen many examples in other posts, but some examples I find online include a flexbutton.hpp file that my demoboard "touchgfx 4.24 stm32u5g9j dk2" doesn't generate, I've searched in all the folders but nothing and even online I can't find where to download the single file, is there anyone who can give me a hand or enlighten me, thanks
Hi all,I'm looking to integrate our translations from TouchGFX designer into a localization program, but does anyone have an idea how to convert TouchGFXs xml format to XLIFF or other more general formats easily?
Hello,I am trying to import several images into my TouchGFX assets. I'm able to load them in and build, but when I flash my application hard faults. I've noticed the error once I exceed ~8Mb in the external flash.I believe I should have 64Mb of external flash. Is there a way to adjust the partitions? Has anyone else seen this problem? Thanks
Hi everyone,I’m running into a strange rendering issue in TouchGFX and could use your insights.What I’m SeeingI have a function that hides or shows several UI elements (e.g. buttons) and then calls invalidate() on them.When I invoke this function from a touch button, everything works as expected: the elements disappear from the screen.However, when I call the exact same function from my hardware-button within (handleKeyEvent()), the elements become non-interactive (I can’t touch them) but they remain visible on screen.What I’ve ConfirmedThe function is definitely being executed (the elements lose touchability) it means changes have applied.I’m correctly calling element.invalidate() (and even invalidating the parent container).If I defer the call using a flag and perform the update in handleTickEvent(), it works reliably. but I believe it is not a good approach.What I’ve TriedCalling the function via touchgfx::Callback<>Triggering it with an “Action” in the DesignerEvery approach
I'm experiencing a strange horizontal ghost/stripe effect mostly on light images (it's very visibile in text)What could it be?I'm using the STM32H7S78 microcontroller
The new version of TouchGFX (V4.21.0, V4.21.1) displays the text of a Button With Label no more vertical centered. In the designer the text is shown correctly, but in the simulator and in the compiled controller application it is positioned too high.Is there a way to correct the position?Screenshot with TouchGFX 4.20.0Screenshot with TouchGFX 4.21.1
Hello everyone,I'm facing an issue with jumping from my application to the bootloader on an STM32H747 microcontroller. I'm using a 7-inch Riverdi display and have developed graphical interfaces using TouchGFX. My application, which I've built using only the M7 core (disabling the M4 core) and FreeRTOS for task management and graphics, has its main file structured as man1.c attached.I've also created a bootloader program with the following structure: The bootloader works perfectly when the STM32H747xx_FLASH.ld file contains the following instruction:Assolutamente! Ecco la traduzione del tuo post in inglese, adatta per un forum tecnico come quello di STM:Subject: Trouble Jumping to Bootloader from Application on STM32H747 with Riverdi Display and TouchGFXHello everyone,I'm facing an issue with jumping from my application to the bootloader on an STM32H747 microcontroller. I'm using a 7-inch Riverdi display and have developed graphical interfaces using TouchGFX. My application,
Hi,I have created a simple GUI using TouchGFX Designer for the STM32N6570-DK, generated the code, built it, and ran it. Everything works fine.Then I noticed that the TouchGFX_Framebuffer is located in internal SRAM. However, I plan to use that SRAM for the NPU and other purposes. So, I moved the framebuffer to PSRAM, and now the GUI becomes partially corrupted after pressing buttons or sliding.It seems that additional adjustments are needed when using the framebuffer in PSRAM. Could that be the case?Below is a snippet from *.ld: BufferSection (NOLOAD) : { *(TouchGFX_Framebuffer TouchGFX_Framebuffer.*) *(.gnu.linkonce.r.*) . = ALIGN(0x8); } >PSRAM /*FB_RAM*/ UncachedSection (NOLOAD) : { *(Nemagfx_Memory_Pool_Buffer Nemagfx_Memory_Pool_Buffer.*) *(.gnu.linkonce.r.*) . = ALIGN(0x8); *(Nemagfx_Stencil_Buffer Nemagfx_Stencil_Buffer.*) *(.gnu.linkonce.r.*) . = ALIGN(0x8); } >PSRAM /*CMDLIST_RAM*/
I have a flex button. I have an image for released and an image for pressed.The released image contains a drop shadow. The released image does not, but has a transparent boundary so the dimensions match.I want the clickable area to be the button image excluding the shadow and transparent edge. I want to set this clickable area as a rectangle.How do I do this?
I'm trying to configure the LCD display using STM32CubeMX for the STM32H750B-DK.Under the Middleware and Software Packs, in X-CUBE-TOUCHGFX, under the TouchGFX Generator tab, I get a Dependency Error in red: Width/height values must equal LTDC Window width/height.I think I've selected the values properly to do that: 480 x 272 (right?), and adjusted for the other places these values go. The result of this error is the code generation emits the expected warning, and BlitOp.h/.cpp isn't produced, causing the build to fail.I've attached my ioc file as a zip file.I am stuck on this and don't see what to adjust. I am essentially trying to get a "Hello World" application to run, although I haven't actually modified anything except the Makefile so far (also attached).If I deselect TouchGFX, there are no warnings from the code generation step and the build completes.Thanks!Chris
Hi,I have two sliders that I want dependent on one another. Slider1 has a minimum value of 0 and Slider2 has a maximum value of 50. How can I make it so that the maximum value for Slider1 is never greater than the minimum value for Slider2? I.e. if I move Slider2 to 28, then the Slider1 range changes to 0-27. Please let me know if this is doable. Thank you for your help in advance.
Hi,I'm trying to make a dynamic scroll graph such that the number of data points and x-axis scale changes when a user sets a value through a slider. The issue I'm running into is the inability to update the number of data points for when the graph scrolls (ie if scale is 30 min, then graph scrolls after 30 data points are added; if scale is 10 min, then graph scrolls after 10 data points are added). Using the slider below, the user is able to pick a number of minutes between 1 and 30. I already have it so that the slider changes the x-axis scaling and labeling: For example, if the slider changes the visible range to 10, the number of data points is still always set to 30. This causes the graph to not scroll until 30 data points have been plotted even if it's not shown on the graph. Is there a way to change the number of data points (max capacity) through code? One thing I tried is within the touchgfx framework, I went into the graph widget folder and edited the AbstractD
I am currently working on interfacing a 2.83-inch TFT display (320x240 resolution) with the STM32U5F7VJT6 microcontroller using the FMC parallel 8080 interface. I have successfully configured the FMC in STM32CubeMX with the following settings: Mode Configuration: NOR Flash/PSRAM/SRAM/ROM/LCD1 Chip Select: NE1 Memory Type: LCD Interface LCD Register Select: A16 Data Width: 16 bits After generating the code, I utilized the ST7789 driver to fill the screen with solid colors using the function ST7789H2_FillRect(0, 0, 320, 240, 0xFFFF);, which worked as expected. Subsequently, I aimed to integrate TouchGFX to enhance the graphical interface. I configured TouchGFX accordingly, added an image using ApplicationTemplate.touchgfx.part, generated the code, and flashed it to the device. However, the image does not appear on the TFT display. I would appreciate your guidance on the following: TouchGFX Integration: Are there specific steps or conf
Hello,Our project with TouchGFX uses a version control system (git, of course). In your documentation, you recommend the `config`directory to be included in the VCS. The pain point is that `TouchGFXEnvPath` tag in `config\msvs\Application.props` contains the 'TouchGFX Designer' installation path and might change from a developer to another. I don't know if `config\gcc` should be versioned, but I think that `config\msvs` should not. Am I missing something ?Thank you
Hi,I have TouchGFX project for MDK-ARM V5.27 toolchain. I am using TouchGFX Designer 4.25. In Keil project, I have added some additional Include paths. When I need to do some change in GUI and I re-generate code from TouchGFX Designer, IncludePaths in Keil project (uvprojx) are modified in a way that the same paths are added 3 or 4 times.For example, before re-generating TouchGFX project there is 10 paths which every path is just once here (as I manually delete duplicities). After code generation from TouchGFX Designer, there is 35 paths and some of them are here 4 times, after another regen it´s 60 paths, some of them 8 times ...Project is compileable, so it´s not problem in this way, but:it makes includePaths really messy there is change in commit which is badly readable, and it´s absolutely uselessproject file size is growingI have tried to find some pattern in that, but I absolutely have no clue why it happens. Definitely, I have some problem in project. But I would like to as
Hello everyone,I'm completely stuck and could really use some help.I’ve been trying to integrate TouchGFX into my project and wanted to set up this example: https://github.com/maudeve-it/ILI9XXX-XPT2046-STM32 which provides functions to handle SPI-based TFT LED touch displays (480x320 or 320x240) controlled by an ILI9488 or ILI9341 + XPT2046.However, I'm facing issues getting it to work on my Nucleo H755ZIQ board. I’ve added TouchGFX to my project but can't seem to make any progress.Any guidance would be greatly appreciated!It looks like STM32CubeMX is creating the correct folder structure.Now I'm getting 64 fatal errors.I also tried generating a TouchGFX GUI code, and now I'm getting this error.I tried solving it as described here: https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/cannot-build-project-with-cubeide-undefined-reference-to/td-p/699214The project has already been converted to C++.I have also added all the FolderI keep getting the same errors. I woul
I have successfully used dynamicBitmapCreateExternal() with RGB888 on another project but on a different project this causes a hard fault when the bitmap is used to render an image to the display when RGB565 is used. I have been able to change the parameter to RGB888 and it works but of course since the image loaded is RGB565 it is not formatted correctly on the display...but it proves that works with the only difference being the RGB565 entered for the format parameter...FrontendApplication::FrontendApplication(Model& m, FrontendHeap& heap) : FrontendApplicationBase(m, heap) { /* * Initialize dynamic bitmap cache; * bookkeeping memory for external bitmaps not stored in cache */ uint16_t* const cacheStartAddr = (uint16_t*)myBmpCache; const uint32_t cacheSize = sizeof(myBmpCache); Bitmap::setCache(cacheStartAddr, cacheSize, 1); void* srcPtr = logoGetImagePtr(); BitmapId bmpId = Bitmap::dynamicBitmapCreateExternal(LCD_X_Size, LCD_Y_Size, srcPtr, Bitmap::RG
Hello,I am developing a GUI application with TouchGFX which I would like to run on a STM32F767ZI connected via LTDC to a display with RGB888 interface.The display datasheet: https://newhavendisplay.com/content/specs/NHD-5.0-800480AF-ASXP.pdfI am having problems with the configuration in CubeMX. I followed the guide in AN4861 to configure the LTDC but I am still having problems.With my current configuration, when I set the background for the LTDC to red, and the Layer 1 to transparent (alpha = 0), I can see that the display correctly displays a red background.When I set the Layer 1 to opaque (alpha = 255) with a red background, the display always shows a black background with a TV static like white rectangle on the top of the screen. It doesn't matter if I added TouchGFX as a Middleware or not, it always displays the same thing.Current configuration attached.Thanks in advance for the help!
Hello,I have built a project in touchGFX and it loads and runs on my STM32H735G-DK discovery board using the TouchGFX software only. However, I need to be able to expand this program to do more things so I want to use TouchGFX with Keil. This is what I have been told to do to make this work:1) Generate the project using TouchGFX2) Open .ioc file and change the tool chain to Keil MDK and Generate Code3) Go back to TouchGFX and generate code again4) Go back to CubeMX and generate code again5) Open project in Keil and Go to Project Options --> Debug --> Settings --> Flash Download and make sure the RAM for Algorithm has a large enough size. I change these settings to Start: 0x24000000 Size 0x0000FFF4After making these changes and building the project and loading it to my Discovery Board it should allow me to just click "Run" once and the program should run...however in the command window I get the following message:Cannot access Memory (@ 0x70000000, Read,
GoodDay all stm32 developers, My company having a IoT device that running touchGFX via SPI screen using stm32wb55, we found an issue that when switch to another screen, by calling button callback. buttoncallback: { FrontendApplication *const poApp = static_cast<FrontendApplication *>(Application::getInstance()); if(p_gui_obj->contr_mgr.pending_screen_type != p_gui_obj->contr_mgr.curr_screen_type) poApp->gotoSettingScreenNoTransition(); } While the LCD display transit to new screen, SettingScreen, at very first moment the button and toggle switch , slider able to react but the handleDragEvent void SettingView::handleDragEvent(const DragEvent& event) unable to get DragEvent until a short waiting like 2 seconds, is there any solution we can implement to shorten the wait time before the user could having a gesture input after a screen change? Thank you for your help in advance, I know you all have more experience than me.
I have a hmi project using stm32u599 and touchgfx,I use RGB565 lcd and double buffer,totally in sram.Recently,I noticed there is some thing flick on my screen,it appears very short time,but still noticeable.This phenomenon appears only a week,I managed to take a snap of screen and here it is:the dark part of the picture is what appears on screen. position and shape is fixed every time. there is no resource like this in my resources.
I have created a tool called TouchGfxHelper, which automatically generates all the main, model, ModelListener, presenter, and view components with your specified functions. All you need to do is define them.The tool is free of charge and can be downloaded from the www.ib-uk.net/Downloadbereich(please note that my website is currently only available in German). The ZIP file includes the software and an example project that runs on an STM32F746 Discovery board.Any feedback is welcome—please feel free to send it to me
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.