Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Q&A session from webinar "Low cost GUI solution with TouchGFX"One key trick of low RAM usage is using partial frame buffer, but what's the main limitation of this technique? What about updating a large part of the screen? Thank youIt is indeed the main limitation of this technique ! The larger the screen area to update the more steps are needed to render it whe using a too small partial frame buffer, see : https://support.touchgfx.com/docs/development/scenarios/lowering-memory-usage-with-partial-framebuffer/#configuring-partial-frame-buffersis there a way to rotate imagesYes either statically when importing the image (Image panel) or dynamically but this will use intensively the CPU as rotation is curently not supported by any hardware IP (DMA2D or LTDC), see : https://support.touchgfx.com/docs/basic-concepts/performance/#the-complexity-of-rendering-the-pixelsHow to use/edit a TouchGFX project, when a hex file of a project is available.It is not possible to edit the applicatio
How flexible is TouchGFX to use external (i.e. non-ST) HAL/PAL drivers. I am looking at using it for a STM32F767 application but am currently using custom-made bare-metal HAL and PAL abstraction layers. I assume that at minimum it would need to be tailored for the API that TouchGFX expects, but what's involved with that?TouchGFX requires a locking mechanism (smaphore or global variable), a tick information and a pointer to the frame buffer, see https://support.touchgfx.com/docs/development/board-bring-up/board-introductionIs STM32F072RBT too low end for TouchGFX?For TouchGFX itself, as long as you find a proper display the only limitation would be the needed minimal RAM for partial frame buffer but also GUI elements, so in theory Cortex M0 is supported by the TouchGFX library, so it should run, then it strongly relies on what you want to achieve in terms of GUI, it will be for sure limited (animation, number of widgets, etc.)Hi, I have other meeting in 30 minutes, like to ask
Hello!I put to project a widget box1, it's color is white.I want to set color of each pixel of boxlike this: SetPixel(x,y, R,G,B);And after I want to read color of pixel? like this: color=GetPixel(x,y);How can I do it in TouchGFX?
..
Hi Problem. There are two screens, S1 and S2. The S1 has two buttons. GO to change screen to S2 and ON to set output pin. The ON button state is sent to main.c. I want to change the screen after pressing GO, but also the state of the ON button. How to do it? best regardsAndrzej
https://www.st.com/content/st_com/en/stm32-graphic-user-interface.html
Hi,If we have multiple versions of HMI software developed using TouchGFX framework then how can I upgrade it from version 1 to version2 using USB drive?What steps are involved in this implementation?BR,Shree
I am attempting to use blockCopy to copy a block of memory. I have used it in the past, but with latest version of TouchGFX, for some reason I am now getting a compile error on the following generated function:bool TouchGFXGeneratedHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes) { return HAL::blockCopy(dest, src, numBytes); }Below is the error I am getting on the line HAL:blockCopy(dest, src, numBytes);../TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:85:15: error: 'blockCopy' is not a member of 'touchgfx::HAL'Any ideas?
Hi,We have created a custom PCB for our project using STM32L4R9ZI. We are using 390*390 AUO Display.Previously I used STM32L4+ Discovery board for evaluation and by taking that as a base code I made display working in our PCB. Normally display is working fine. But when i do cover transition, certain pixels on the Top side of the display will always lags while displaying. I have attached a video that shows the issue. Only top side, pixels are always giving that delay while displaying. To see the issue, i have given transitionSteps as 70 in Cover transition logic.Please help to solve the issue.Thanks and Regards,Bala
Q&A session from webinar "Low cost GUI solution with TouchGFX"2. TouchGFX looks impressive concerning memory footprint and performance. But are you planning to officially support other graphics frameworks like LVGL (what Espressif/NXP is doing)?ST has partnership with many other framework such as Embedded Wizard, Crank, Qt and maybe also LVGL (to be confirmed) but even if they make full use of ST's graphic-related accelerators, none is as integrated as TouchGFX is in the ST ecosystem. That being said the mass-market launch of the Cube Expansion Pack feature (the way to add pack to CubeMX) is quite recent so things may change but only if partners are involved in the process.Can I get this source code?Sure, until it is deployed as a MooC video please request it from the Online support portal : https://my.st.com/ols#/ols/I want to use GFX UI wirh MicroPython backend. Will it work together? Are there any known examples?No at this timeYou spoke about a 5USD bom at the beginning of the p
I haven't looked at the forum for a few weeks but just noticed that my full name is being displayed in a question I just posted, rather than my nickname.I would prefer that my nickname were displayed instead - could we revert to doing that please?Also, when I look at my profile, I can't find how to change my real name anywhere, although I can see where to change my nickname. Is it possible to modify my real name?
Hello everyone,I am using STM32L4R9AII with my custom board. When i start to develop my project, cubemx didn't support my MCU. So, I got discovery board project from Touchgfx and changed a lots of things to adapt it to my custom board.Now cubemx supports my MCU. I started to pass my project to cubemx project. My screen resolution is 400x400px via MIPI dsi. When i established my project from cubemx, it didnt work well. I put a box on screen, i could see the box color but every lines were different places. I digged down deep:I passed display width as 400px to cubemx. So, Touchgfx passed BlitOp.nSteps=400 to DMA2D.But GFXMMU module knows evey line has 1024px, but display is 400px. BlitOp.nSteps must be 1024. When i check my old project and discovery board project from new version of cubemx, i found code below to fix it:#define BSP_LCD_IMAGE_WIDTH (3072 / 2) #ifndef GUI_FRAME_BUFFER_WIDTH #define GUI_FRAME_BUFFER_WIDTH BSP_LCD_IMAGE_WIDTH void TouchGFXHAL::setFrameBufferStartAddress
In my code when I am using touchgfx::Unicode::UnicodeChar it is showing expected an expression....What files should I include to solve this error
I draw a container in a screen over all the other controls (such as buttons etc).Background buttons continue to respond to click event as they were in foreground.In my opinion this is not correct: they should be disabled by default.I had to put: setTouchable(true) in the container to have a right behaviour.Is this a BUG?
Hi,I'm using the dynamic graph widget in Touchgfx. I wanted to know how the data points are plotted if in case the number of data points are greater than the number of pixels available to draw data. Also what is the difference between number of data points & Visible Range(Index values ).Iám assuming a 480x272 pixel display for the below example.For example, Suppose I have ADC data sampled @ 250Hz and I want to show 5 seconds of ADC data i.e. (250*5 = 1250) samples to be shown among 480 pixels(horizontal pixels). So If I divide 480 by 1250 ,it comes out to 0.384 pixel resolution per data point. So does that mean every 3rd data point will be shown on the Display because (3*0.384) comes out to be an integer value?Kindly help me understanding this part.
I'm using a ToughGFX Designer with STM32H7B3I-DK and when I hit "Run Target" it runs but then stops with the error below. How do I fix it?Erasing memory corresponding to segment 1: Erasing memory corresponding to segment 2: Download in Progress: ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± 0% ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 75%ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 69%ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 100% Error: failed to download Segment[2] Error: failed to download the File Hard reset is performed gcc/Makefile:294: recipe for target '_extflash_' failed make[1]: *** [_extflash_] Error 1 ../gcc/Makefile:52: recipe for target 'flash' failed make: *** [flash] Error 2 Failed Failed
I have purchase one set STM32H750B-DK, currently i am practice to use toughgfx function, it work well under simulation mode, and i use STMCubeIDE compile is ok , when download to STM32H750B-DK, encounter error below. appreciate you all able advise.Error in final launch sequence:Failed to execute MI command:load C:\\Users\\admin\\STM32CubeIDE\\workspace_1.2.0\\Implement\\Debug\\Implement.elf Error message from debugger back end:Load failedFailed to execute MI command:load C:\\Users\\admin\\STM32CubeIDE\\workspace_1.2.0\\Implement\\Debug\\Implement.elf Error message from debugger back end:Load failedFailed to execute MI command:load C:\\Users\\admin\\STM32CubeIDE\\workspace_1.2.0\\Implement\\Debug\\Implement.elf Error message from debugger back end:Load failedLoad failedFurther go to debug mode, show error above,Starting server with the following options: Persistent Mode : Disabled&n
I have installed the example software for the recording machine on the STM32L476VG Disco MCU. The recording sofware has uploaded to the microcontroller. The mic input and the headphone outputs work fine.TheLCD screen will not operate. I have installed the lcd.h and .c files for the MCU but I am getting 45 errors. Theses errors are unclear to me and I would like to know if aditional files are required or infromation an a suitable workaround for the problem. Can anyone help with this please?
I have installed the example software for the STM32L476VG microcontrooller for the audio recorder.The HAL driver files for the LCD screen has been installed also.The LCD screen wont enable.Is there a soldered connection on the bottom of the PCB board or something that can be done to get the display to operate?
Hi, which is the fastest way to migrate a touchGFX project from STM32F746G-disco to STM32H735-DK? Actually on touchGFX application template I can't choose the STM32H735-DK. I will glad if someone could help me
Hi Team,I am planning to use STM32F439 Controller and want to interface DCMI and TFT Display ! When i enable both DCMI and TFT Display in STM32CubeIDE, it is giving an error ! Could understand that there is conflict with some pins !Can you please suggest me some solution to interface both and use both at a time !
hi, i have been trying to develop a touch based project in my STM32F7508-DK,i created a project of a simple switch turning on and off , using STM32IDE and TouchGFXbut while trying to build the project i got an error message saying : OSWrappers.hpp dose not exist what to do
Hi everyone,STM32CubeIDE 1.3.032F746-DicoveryIn the above environment, I chose TouchGFX as an additional software and added graphics.And I created a simple GUI for testing by opening the file in the created TouchGFX directory.And when compiling, the following error appeared.../TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:35:32: error: 'OSWrappers' has not been declared registerTaskDelayFunction(&OSWrappers::taskDelay); ^~~~~~~~~~make: *** [TouchGFX/target/generated/subdir.mk:28: TouchGFX/target/generated/TouchGFXGeneratedHAL.o] Error 1make: *** Waiting for unfinished jobs....Is there any way to solve it?Thank you.
Hello to all,I am fighting for days now to get a simple Animated Image Example running on a new STM32F769I-EVAL Board Rev. BThe main problem is that the examples are downloaded from the cloud by the TouchGFX designer and are very very old!They do not reflect the newest BSP/CMSIS/HAL from ST.I have CubeMX 6.1.0. When I first open the *ioc file of the example, it says it is written in 5.6.1 and wants to migrate. OK I did it.But when I generate code with CubeMX it requires still TouchGFX Generator 4.13! But I have the new version 4.15 installed. And even if I reinstall 4.13, it is not compatible with CubeMX 6.1.0.... The project compiles ok in Keil IDE, but because old BSP drivers are used the program hanges (for example wrong I2C adress for touch controller is used) Can you please help me to solve this dead lock?How can I work with TouchGFX Examples using latest CubeMX software on an actual (Revision B! not A) eval board?Thanks for your help indeedAndy
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.