Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hello everyone,I'm currently developing a project using Touchgfx on a custom board with a STM32F469II and a 1024x600 screen on RGB565 format. i'm using an external flash running at 100 MHz and an external SDRAM of 8 MB with 4 banks used like so:The first bank contains the first frame buffer.The second bank contains the second frame buffer (use for multi-buffering).The third bank is the animation storage space (use for slide transition between screens).The end of the third bank and the forth bank contains the dynamic bitmap cache where I put pictures from the SD card (my external flash of 8MB is already full).I'm having a trouble where, when I'm performing some animations, a part of the screen is swapped horizontally (see pictures where I've reproduced what this looks like). This happens for a frame or 2 at a time but is very noticeable. Here's what information I could gather:This only happens when the DMA2D in on (If I stop it, the MCU load reaches above 80%, the screen visibly lags a
I designed a GUI on stm32f746 discovery board and programmed the board successfully and GUI worked perfectly, now I want to redesign the GUI and my programm to be able to use a custom board which doesn't have an external RAMat first I disabled the MX_FMC_Init fuction but the display is black and nothing shows up, then I read the article below and followed the instruction but display went black again.I'm a beginner and I would be very gratefull if anyone guides me how to config the CubeMX and touchgfx to work without external RAM. https://support.touchgfx.com/docs/development/board-bring-up/how-to/03-display-internal
Running STM32CubeIDE 1.7.0 and TouchGFX 4.18.0.I double click on .project file to invoke STM32CubeIDE.Project for STM32F746G_DISCO compiles and runs ok.Compile errors encountered with STM32F469I-DISCO. Something to do with how the project is imported and missing drivers. I have tried various methods of importing the project. The first error is missing _hal_uart.c driver. If I delete that, the next error is missing \BSP\Components\mfxstm32l152 and the list goes on.I should add that the board runs ok using Run Target directly from TouchGFX.Also I have tried the simplest TouchGFX app as well as one of the examples with no luck importing to CubeIDE.
Hello :)I'm new with TouchGFX and I'm doing official TouchGFX tutorials.I came up with the problem - code is properly generated and target/simulation can be run, but when I use buttons up/down then not number but question mark is displayed.I'm using STM32F7508-DK.Does anyone have any idea what is the problem?
Hi dear guys! I have a problem in touchgfx:how can I change the scroll direction of scrollwheel using animateToItem()? I used the capability of circulation but I need to send negative value to rotate in a down-up manner... it's okay but if I set a time for animation period and the value change to negative then scrollwheel will rotate over the whole my elements to reach that position! My major problem is changing scroll direction...Please help me...Thanks
I upgraded my CubeMX to 5.0.0 and installed F4 1.22.0 firmware recently.So, I tried to use CubeMX build a TouchGFX Project that use TrueSTUDIO as IDE.Since I was successful run a STemWin Project as my custom F429IGx board graphic solution.In order to enable TouchGFX middleware in CubeMX, I activated and configured FreeRTOS, CRC, LTDC, DMA2D, TIM7 and FMC-SDRAM1.All setting were the same with my previous STemWin project, excepted in GRAPHICS I used TouchGFX as Graphics Framework. And then I generated code.1. When opened the project, there were *.c , *.cpp , *.h and *.hpp files. But in C/C++ Build - Tool Setting , neither C++ Compiler and C++ Linker existed. So if I build the project under this settings, I will get a link error say something like main function undefined. Because main function is in main.cpp file and wound't be compile by GCC like other cpp files.2. So I converted the project to C++ project, by using File - New - Convert to a C/C++ Project (Adds C/C++ nature) method. Now
Hello, everyone!I'm developing smartwatch as a project and I'm planning to use a TFT display which has 18RGB interface. I have STM32L476 at my disposal that doesn't have any embedded LTDC module. Should I change MCU to one that does have LTDC in order to receive/transfer data or I can use some external buffer between MCU and display?
Hi,whenever we are using videos for video widget to upload it was not taken .only it gave output for what they were gave to us as a example video.Any solution please how we can access our videos (that to is in avi format) for video widget in touchgfx 4.18.0 version.
Hi,When I generate the code with STM32CubeMX version 6.3 for STM32H747XIHx something like this happens: I have also noticed that when I chose TouchGFX component I am able to use it only with M4 core (this configuration was forced by CubeMX) what is also weird. This shouldn't matter which core uses LTDC/DSI and GFX library...This is full "log"FreeMarker template error (DEBUG mode; use RETHROW in production!): The following has evaluated to null or missing: ==> data.parameters.tgfx_video [in template "TouchGFXGeneratedHAL_cpp.ftl" at line 81, column 6] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use [#if myOptionalVar??]when-present[#else]when-missing[/#if]. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myO
Hey!I'm having wrong colors issue when drawing shapes with 8 bpp color format. It's clean simulator project with only color format settings changed. How to fix that?Images attached.Thanks
Please note the project folder below:
Hi,I want to create a scroll List where the elements have to be added or removed. I tried using remove but not able to remove elements even through call back like scroll list.is there solution?or how can I use remove ?Thankyou,
I want to display the unit of volume as ft³. How can I do this in text widget of TouchGFX Designer?
I'm working on a project using touchGfx and expected to be running on a WB55 processor (this is not important, except for that there is no WB55 based existing demo for touchGfx). So i used STM32MX to configure some basic items, amongst which the fact i'm using Touchgfx. Then i went into TouchGfx Designer to design the UI interface and flow.The code compile and works perfectly as long as i was building for the simulator.Now that i"m happy with the result in the simulator, next step is to compile and run for the hardware target based on WB55. I know i'll soon or later have to write some low level code for instance for the LCD display and the TouchScreen, but i wanted to already get a first compile ( even not working or even with some errors) from STM32IDE. So i went into STM32MX and generate code (again, just in case). Then i launch STM32IDE, import the project. I can see all the files (core, drivers, middleware, touchGfx) and inside TouchGfx i see all the files i wrote that are running
As the title, the file TouchGFXGeneratedHAL.cpp has some strange content, CubeMX version 6.30, TouchGXF version 4.18.Is there any solution?
I'm using Visual Studio (TouchGFX/simulator/msvs/Application.sln) to debug my project's simulation.I want to understand what is causing an exception. The problem is that the exception is not in the codebase.See the call stack hereHow do I add those external files to the Visual Studio Solution?Regards,Gabriel~~EDIT:After further investigation, It appears that the VS solution is not configured to see the Middlewares\ST\touchgfx directory. Could this be the problem?
ProblemWhen running the simulation, the text resources are invisible. Additional notes:Q: Is the resource properly configured? A: Yes. I think so. Here's an example of the PressureString:Q: Is the simulator Locale configured to GB?A: Yes. I think so.Q: Do the fonts exist?A: Yes. I think so.Q: Has the code been generated properly?A: Difficult to tell, but I see the text initialisation Versioning info:TouchGFX Designer version: 4.16.0
The specific errors are as follows
Hello,I'm developing a custom board with TSC2004 touch controller, in wich i'm able to get touch coordinates from register readings via i2c.How to pass those informations to touchGFX? i read online examples but i'm stuck on coding.Can someone provide code examples?Thank you
Hi,We are working on a project that has more than 100 screens. And multiple people will be working together for this project. Currently we are merging projects by manually editing TouchGFX designer file in notepad. Even this is not proper and has to spend more time to merge. we are facing serious issue to merge these projects into a single project.Could you please let me know how to merge multiple TouchGFX Sub Projects in to Main Project.Thanks and Regards,Bala
Hi,How can I place some fonts in internal flash and some others in external flash as is easily done with images ? I've been looking around for a way to do it without much success.Thanks in advance.
I've been working with the L496 application template v3.0.5. In it, the touchscreen i2c memory read is "guarded" by an __disable_irq() call, and followed by __enable_irq(). For example: static uint8_t I2Cx_ReadData(uint16_t Addr, uint16_t Reg, uint16_t RegSize) { HAL_StatusTypeDef status = HAL_OK; uint8_t value = 0x0; __disable_irq(); status = HAL_I2C_Mem_Read(&hi2c2, Addr, Reg, RegSize, &value, 1, TS_I2C_TIMEOUT_MAX); __enable_irq(); /* Check the communication status */ if (status != HAL_OK) { /* Re-Initiaize the BUS */ I2Cx_Error(); HAL_Delay(200); } return value; }This effectively disables the ability of the HAL to time out of the i2c function (the HAL tick is incremented in an IRQ, hanging the entire TouchGFX thread where otherwise the method would exit and reinitialize itself. The irq lines are not present in some other application templates, such as the F769 v2. Is there a particular reason these lines were added?@Romain D
Hi,because of RAM limitations I decided to try out the L8 color encoding, which is supported by the LTDC of my STM32H753. The basic function is working now, however not to a satisfying extent.In the CubeIDE V 1.5.0, under TouchGFX 4.16, only 8 Bit color space (ARGB2222 etc.) is available, when using the L8 functionality:The problem with this is, that some colors look awful, and especially the anti aliasing of text is bad.This brings me to the question, why for example L8RGB565 or L8RGB888 is not supported from TouchGFX side.Technically, from my understanding, it does not matter, since the memory space of the color lookup table is allocated anyway (256*32Bit words).I would really be glad to display the "true" colors (for corporate design). Limiting myself to 256 of those would not be a problem.Am I missing a crucial setting here or is this maybe supported in more recent releases of TouchGFX/CubeIDE?
I tried using the Jpeg Loader here: Loading Images at Runtime | TouchGFX Documentationbut when I use it it causes a hardfault in JPEGFileLoader::readJPEGFile -> jpeg_start_decompress -> master_selection -> jinit_d_main_controller -> (line 482) main = (my_main_ptr)(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,SIZEOF(my_main_controller));I found that the hardfault here is caused by the master_selection calling jinit_d_coef_controller before jinit_d_main_controller, and in this function (jinit_d_coef_controller ) the "cinfo" variable gets destroyed in an "ERREXIT" (D_MULTISCAN_FILES_SUPPORTED is not defined in any file, and even if I define it manually it still hardfaults).I don't know what the functions are actually supposed to do, and I don't know how to fix this.Is there a workaround? or a new Loader file? (I downloaded the zip file from the documentation)I'm attaching the hardfaulted function - jinit_d_main_controller, the jinit_d_coef_cont
hello i realised a simple Project with DISCO-F469NI like in this video https://www.youtube.com/watch?v=9QDWti5RzBU&t=863sbut in the last part when i used STM32CubeIDE to dubug the project to my cart i found this errors Description Resource Path Location Typemake: *** No rule to make target 'C:/TouchGFXProjects/MyApplication_2/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c', needed by 'Drivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_uart.o'. Stop. STM32F469I-EVAL C/C++ Problem
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.