Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
My TouchGFX Designer project is work, but I can't find how to modify the size of the widget in the properties taskbar,no Auto-size item, include Button, textProgress, etc. Could you help check this case? thanks.
Hi,While learning TouchGFX, I created a fairly extensive UI application using TouchGFX alone (i.e., without any custom code). I also have a separate, larger Vending Machine Controller project, where the rest of the system has already been coded. I now need to join them. 1) What is the best and most reliable way to integrate the TouchGFX project into the Vending Machine Controller project? Is there a detailed guide available for this process? 2) Is there a merge or export/import tool available, or should I simply copy the folders manually? 3) What steps should I take before and after merging them (such as checking or modifying settings in the TouchGFX project and/or the CubeIDE project)? Thank you
Hello,I created a project in STM32CubeIDE, I initialized all peripherals to their default mode using CubeMX, and generated some TouchGFX code usingTouchGFX Generator. Then I opened the file ApplicationTemplate.touchgfx.part with TouchGFX Designer, drew some graphics and tried to generate the code, but I got an error, here are the logs :"Generate Code Generate Wrote config/gcc/app.mk Done Generate Assets make -f simulator/gcc/Makefile assets -j8 Reading ./application.config Done Post Generate touchgfx update_project --project-file=simulator/msvs/Application.vcxproj no Done Post Generate Target 
We are facing a critical issue with the alphabetical ordering of bitmap identifiers in the BitmapDatabase.hpp file automatically generated by TouchGFX Designer 4.25.When comparing two consecutive commits in our project, we identified that rendering problems began to occur after a UI design update. After detailed analysis, we discovered an inconsistency in the ordering of bitmap identifiers that appears to be causing these issues.I noted this issues when using a animation widget with variable BITMAP_FRAME_00_DELAY_0_07S_ID to BITMAP_FRAME_78_DELAY_0_07S_ID. After a refactorer images, I chaged another files with the same initial name "FRAME_xx".Specific Example:In the generated file, identifiers for frames with different dimensions are interspersed between sequentially numbered frames, resulting in an ordering like this:const uint16_t BITMAP_FRAME_11_DELAY_0_03S_ID = 71; const uint16_t BITMAP_FRAME_120X234_ID = 72; // Dimensioned frame interspersed const uint16_t BITMAP_FRAME_1
Our team updated a project from v4.22 to v4.25 this week and our clang-tidy scan flagged the following warning message in the constructor of every class that had a "Painter" member variable ("Painter" is aliased in our solution as "using Painter = touchgfx::PainterRGB565;"). AbstractPainterColor.hpp (External\Middlewares\ST\touchgfx\framework\touchgfx\widgets\canvas)Call to virtual method `AbstractPainterColor::setColor` during construction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall, -warnings-as-errorss] GCC [Ln45, Col9]Container.cpp[Ln 29, Col12]: Calling default constructor for 'PainterRGB565'PainterRGB565.hpp[Ln 43, Col 36]: Calling default constructor for 'AbstractPainterColor'AbstractPainterColor.hpp[Ln 45, Col 9]: Call to virtual method 'AbstractPainterColor::setColor' during construction bypasses virtual dispatchIn looking at the warning message, it's not necessarily a problem, depending on the intent. Explanation of warning: http
Dear Gfx Team,Could you please add function 'setAlignment ( touchgfx::Alignment align )' to set text alignment in TextArea widget ?This would override what is defined in 'typedText_database_XXX[]' arrays in TypedTextDatabase.cpp.Thank you
Hi,it seems that unless I make some transition to a specific screen within touchGFX (i.e. a button changing another screen to the screen in question), then TouchGFX does not generate any code for that screen (view, presenter, etc).I guess it makes sense in order to save memory. But I want to transition to that screen programmatically so I do need all the code to be generated for that screen.Is there some other way to force TouchGFX to generate the code for that screen?Thank you
Hello guys, I want to control 128*64 GLCD(ks0108) with STM32 blue pill.I searched many resources on the internet but I could't find any useful example.How can I use 128*64 GLCD with STM32 MCUs?Could you share library and connection diagram?
Hello, I'm using stm32 blue pill and my code communicates with several sensor using UART and displays it on LCD using i2c. My code works perfectly fine on debug. But when i power it again, it doesn't start execution. Although power LED is ON but code execution doesn't start. It only starts after i press reset button.I read some other solutions saying changing capacitor next to reset button, or connecting BOOT0 to GND. but I'm not sure how to do it.Can someone explain how can i do it through software.Similar - https://community.st.com/s/question/0D50X0000ArSX5ISQW/why-my-mcu-doesnt-work-when-powerup-it-only-starts-code-if-i-do-a-reset
Would it be possible to add the Radio Button capability to the Flexbutton?
Hello!I wonder if someone can point me to instructions on how to assign a flash memory region for TouchGFX assets on an STM32H7S78-DK, such as images and large files that won't change during an update? Currently there is a Boot and Application region setup by TouchGFX. Just need to add one for the assets so that it is not necessary to erase the whole flash and upload everything, just what is needed.Thank you
Thank you for reading.I'm developing a GUI application using TouchGFX on an STM32H750-based board with a 1024 x 768 display using double buffering.As the UI became more complex, the FrontendHeap instances exceeded 300KB, causing RAM_D1 region insufficiency. To solve this, I implemented the following:Placed FrontendHeap instances in external SDRAMHowever, when the bitmap cache was placed in external SDRAM, screen tearing occurred.My final solution was to allocate only the View instances that are members of FrontendHeap to external SDRAM.(View instances accounting for more than 80% of the total FrontendHeap instance size)The resulting SDRAM configuration is:Framebuffer[0]:Bank 0 (TEX=1, C/B/S=1/1/1)Framebuffer[1]:Bank 1 (TEX=1, C/B/S=1/1/1)FrontendHeap views:Bank 2 (TEX=1, C/B/S=1/1/0)Outer and inner Write-Back. Write and read allocate.Q1: For FrontendHeap views, I set Shareable to 0 since this area isn't accessed simultaneously by CPU and DMA/LTDC. Is this understanding correct? How do
For my project, an error message must display on the screen when there's a I2C related communication error. To simulate an I2C error, I pulled out the resistor that is connected between SDA and VCC(for good working of I2C communication, a resistor between VCC and SDA is necessary). When I2C error communication occurs, I2C error callback is called, a lot of things are apparently deactivated such as systick timer etc, using of a delay halts the code(since tick value doesn't increase). The MCU can't enter presenter and view of touchgfx anymore. What can be done so that TouchGFX works again, so that I can display the needed error message on the screen)?
Hello!I wonder if anyone has had experience making a dimmer on an STM32F746? For example, want the display to dim after 1 minute of being idle. It should remain bright enough to read, then return to full brightness on touch.I saw some posts that PWM should be used with a Timer pin, but this doesn't appear to be an option on the STM32F746?Thanks,the Windmill
Hello,I created a timer for a display using two text areas. One is a text area with a single wildcard (i.e. minutes), and another is a text area with two wildcards (i.e. seconds). It runs fine for ~9 minutes and 4 seconds but then suddenly the text area with two wildcard randomly generates a ? on the second wildcard, and this occurs on both the simulation and on the hardware that I am running. The typography has the 0-9 wildcard ranges, for all font sizes used. There are rare occasions when the question mark (?) goes away, but I do not know at what time that occurs. Any help is greatly appreciated.Here is the code that controls the timer.HPP code#ifndef RACETIMERVIEW_HPP #define RACETIMERVIEW_HPP #include <gui_generated/racetimer_screen/RaceTimerViewBase.hpp> #include <gui/racetimer_screen/RaceTimerPresenter.hpp> #include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp> #include <touchgfx/Color.hpp> class RaceTimerView : public RaceTimerViewBase { pu
Hi everyone, after I've configured TouchGFX, the program needs to be manually run in Keil's debug environment to execute. Why is that?My ICNA3306_DrawBlock data transfer did not use DMA.
Hi,what is the best way (excluding asking them to use TouchGFX) to show a preview of a touchGFX project - with just button functionality to navigate between screens - to a someone?Is there perhaps a viewer for Window or can a project be compiled and sent as .EXE?If not, what is the best way to send someone an interactive TouchGFX UI project (again, all I need is the navigation between screens through the buttons in the UI)?Thank you
I have three buttons who's wild card text I change programatically. When I do so, the alignment of the text changes from centre-aligned to left-aligned.Before: After:A) How do I prevent that from happening?OR B) How do I change the alignment to centre-aligned programmatically?This is my code:// Elsewhere: typedef struct _Parameters { ThingA thingA; ThingB thingB; ThingC thingC; } Parameters; const touchgfx::TypedText ThingANames[] = { T_TEXTA, T_TEXTAA, T_TEXTAAA, T_TEXTERROR, T_TEXTNONE }; // Here void selectThingsView::setupScreen() { selectTubingCustomViewBase::setupScreen(); Parameters parameters = presenter->getParameters(); buttonSelectThingA.setWildcardText(ThingANames[static_cast<int>(parameters.thingA)]); buttonSelectThingA.invalidate(); }Thanks,Julia
Hi there,I'm new to STM32 and was successful to setup a 800x480 LCD with a STM32H743 and SDRAM as Framebuffer.Now I'm stuck with desiging the GUI with TouchGFX. I would like to add the Slide Menu Option to my screen, however when I press on the assigned button nothing happens in the simulator. I looked at the Slide Menu example but I can't see a difference to my setup. Could someone also have a look at my configuration?
Hello all,I have issue of Touch GFX post generate target error of unable to locate file. I am using STM32H755ZITX. it is dual core MCU. I am using CM7 for Touch GFX. when i tried Touch GFX for single core MCU STM32F446RE that was successfully run. but for dial core MCU I am facing issue of post generate target error of unable to locate file. How can i solve it.
Hi,I designed a screen like the one below. The page works very well in the simulator. However, when I load it into the demo kit (STM32N6570 DK), nothing appears on the screen. When I hide one of the texts, thinking it might be related to the buffer, the screen appears on the kit without any problems.Increasing the Canvas buffer did not solve the problem. Where can I see the size of all the text icons etc. loaded on the screen? How can I calculate it?I use a special font in the texts I add. Also, the product will support more than one language. What should I pay attention to regarding size?I'm sharing my settings.BR,Onur
Hi all,we're facing some issues with the STM32F469IDISCOVERY board. Sometimes the display seems to be freezing. I started a debug session yesterday and found out that during this error the ft6x06_TS_GetXY function gets called without touching the display. If the error doesn't occur we can see that the ft6x06_TS_DetectTouch function is called frequently to poll for new touch events, right? Only if there is an event the GetXY function is called to get the proper coodinates for the touch event.This is why I think that during the error state multiple touch events get rocognized without a real touch event.Our STM32F469IDISCOVERY board uses the FT6336G touch controller. Is the ft6x06 driver still the newest driver for this controller or is there an alternative (if I create a new TouchGFX project with TouchGFX Designer this driver is also loaded).Are there any solutions for this behaviour? Thanks.Julian
I have a STM32H750B-DK board that I'm trying to build a TouchGFX project on bare metal ( No OS). I've gone through the steps as indicated on this page https://support.touchgfx.com/docs/development/scenarios/running-without-rtos When I compile I get errors in the HardwareMJPEGDecoder.cpp Such as C:/Projects/artemis-r-and-d/NoOSTest/TouchGFX/target/generated/HardwareMJPEGDecoder.cpp:114:5: error: 'semDecodingDone' was not declared in this scope 114 | semDecodingDone = SEM_CREATE(); | ^~~~~~~~~~~~~~~ C:/Projects/artemis-r-and-d/NoOSTest/TouchGFX/target/generated/HardwareMJPEGDecoder.cpp:114:23: error: 'SEM_CREATE' was not declared in this scope 114 | semDecodingDone = SEM_CREATE(); | ^~~~~~~~~~ C:/Projects/artemis-r-and-d/NoOSTest/TouchGFX/target/generated/HardwareMJPEGDecoder.cpp: In member function 'void HardwareMJPEGDecoder::decodeMJPEGFrame(const uint8_t*, uint32_t, uint8_t*, uint16_t, uint16_t, uint32_t)': C:/Projects/artemis-r-and-d/NoOSTest/TouchGFX/target/generated/Har
..
Hello, I am using basic demo project of stm32h7s7-DK demo projecttrying to compile and generate binary using below mingw64 make versionLatest arm-none-eabi-gcc it is getting stuck in the below place kindly help me how to resolve this issue using make file, 1.what is the basic environment need to compile using makefile for stm32 products
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.