Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
In the ScreenView(), Iam adding a handleTick function and trying to update the value for every one second. The value is updating according to the code I have written. But at the time of updation my screen is flickering.May I know what is the reason?And I am initializing the external SDRAM peripheral and not configuring the MPU related things.Thank you.
We’d like to integrate 3.5" TFT Display (320x480) to the B-U585I-IOT02A Discovery kit – We’re open to suggestions in that regard. One possible option is HXD8357D. Correct if I'm wrong, integrating it to the Discovery Kit is possible via SPI interface - Since there is no 8-bit parallel LCD interface on the Discovery Kit.We need to keep the resolution and dimensions the same in the PoC as the end product i.e 3.5" TFT Display (320x480) - keeping that in view:Do we have a better alternative (in ease of integration) to HXD8357D? Would 8-bit parallel LCD interfacing be possible between HXD8357D and B-U585I-IOT02A?Looking forward to your response,Thanks in advance,Ukhan
I am getting error on building. C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe/Application/User/gui/Screen_02View.o:(.rodata_ZTV13Screen_02View+0x3c): undefined reference to `Screen_02ViewhandleClickEvent ()I am getting this error only on adding "virtual void handleClickEvent();" function in Screen_02View.hpp request for solution.RegardsNagaraj
I am trying to integrate STM32CubeMX and TouchGFX using IAR EW on STM32F769I-Discovery Board. I followed the instructions on the link below to configure the board:https://touchgfx.zendesk.com/hc/en-us/articles/360020208091 Then, I use ST-link Utility to program my board following the steps given in: https://touchgfx.zendesk.com/hc/en-us/articles/205264831-How-do-i-program-STM32-based-boards-using-ST-Link-But, ST-link Utility is unable to program the external memory and throws 'File out of External Memory Range' error and does not shows 0x90000000 as an external memory when hex file is opened in ST-link.I have successfully implemented Embedded Wizard's demo program on the board but stuck with TouchGFX!
Hello to everyone,I'm working on displaying JPEG files using STM32H745BIT6 chip. I successfully configured all peripherals (LTDC, DMA2D, HW JPEG decoder) and now I'm able to dislay JPEG data. At first JPEG decoder converts JPEG data to YCbCr data and then DMA2D converts that data to RGB and transmits it to the screen (1024x768).Here's part of the code:// JPEG HW decoding JPEG_Decode(&hjpeg, (uint32_t)image_320_240_jpg, IMAGE_320_240_JPG_SIZE , (uint32_t)JPEG_OUTPUT_DATA_BUFFER); // Waiting for the end of decoding while(Jpeg_HWDecodingEnd == 0); // Getting JPEG data HAL_JPEG_GetInfo(&hjpeg, &JPEG_Info); // Set the org of the image xPos = 0; yPos = 0; // Send the image using DMA2D DMA2D_CopyBufferJPEG((uint32_t *)JPEG_OUTPUT_DATA_BUFFER, (uint32_t *)0xC2000000, xPos, yPos, JPEG_Info.ImageWidth, JPEG_Info.ImageHeight, JPEG_Info.ChromaSubsampling);Here's the screen: The only problem is when X-coordinate of the image makes it to be out of th
https://drive.google.com/file/d/1slB_5LC5tWVdE61MoUpXk6XO0F--_Sts/view?usp=drive_link Hello,I use 1366*768 lcd in stm32h743iit6 with 50MHZ frequency and touch gfx. When I use value.setwildcard() and want to update a value on the screen it flickers ( the screen video is attached ). Would you please tell me what is happening? I have no idea. this is work and I have limited time to fix this.frame period = 778 One line Scanning Period =1446this is the link to watch the screen video.https://drive.google.com/file/d/1slB_5LC5tWVdE61MoUpXk6XO0F--_Sts/view?usp=drive_link
Hello,I have a stm32h747i-disco board. When I create a touchGFX project by using touchGFX designer template, it works perfectly. Its color depth is 24-bit and when I change color depth to 16-bit(RGB565), it fails.To change color depth to 16-bit, firstly I am changing Framebuffer Pixel Format section to RGB565 like in the below: Then I am changing the Layer 0 - Pixel Format section to RGB565 like in the below: Before pressing to cubeMX save button, I am deleting target folder. After that, pressing cubeMX save button. Ref: https://community.st.com/t5/stm32-mcus-touch-gfx-and-gui/8-bpp-color-palette/m-p/221627Later, I am opening touchGFX project and as you can see it is 16-bit now.Then I am pressing "generate code" button and finally, i'm downloading new 16-bit project to stm32h747-i disco but it shows me this screen when I try to use 16-bit color depth. It fails. However, when i use 24-bit color depth, it shows me this screen as expected and works without any pro
Hi,I recently purchased a STM32H747I-DISCO board from Mouser. As far as I know it was new and not used.After I flashed the ST demo application I noticed that the screen quality degraded over time and the white objects started to show white horizontal lined on the left side of the screen. If I unplug the board for 10 minutes the screen recovers and after about 2 minutes the image degrades again. Has anyone experienced this kind of artifacts? Is this a known SW/HW issue or shall I go in the direction defect HW?Thanks for the feedback! MihaiDisplay MB1166-A09 / Board rev D03
Hi,I have the task of connecting the X-NUCLEO-GFX01M2 to the NUCLEO-G071RB via the SPI interface to display, for example, "Hello World" on the screen. I am supposed to use IAR for this purpose. I have an example code from the official ST website that does exactly what I need. However, when I try to implement it, I consistently receive the error message: "There were warnings while generating flash loader input, see the Debug log window for details." Is it possible that I need TouchGFX, or can the task be accomplished without TouchGFX? Or why i get this message? Tue Dec 26, 2023 11:56:08: IAR Embedded Workbench 9.40.2 (armPROC.dll)Tue Dec 26, 2023 11:56:08: Loaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 9.2\arm/config/debugger/ST/STM32G0xx.dmacTue Dec 26, 2023 11:56:08: Flash download warning: 806400 out of 806400 bytes from data record CODE:[0x9000'0000,0x900c'4dff] will not be flashedTue Dec 26, 2023 11:56:08: There were warnings while generating flash loader i
Hello! I have a problem with simulator. When switching between screens (no animation) simulator crashes. The finalizeTransition function returns, after that the application ticks one time, and then crashes. Everything is executed normally on the target though.I recently switched to TouchGFX 23.0 Can it be somehow related?Any advice on how to fix the simulator?
i am looking to integrate a 10.1�? touch screen into a project and I have never worked with high resolution screens or with touch before. I’m not looking for code examples as I can figure that part out. I’m looking to find a screen that I can easily integrate and use TouchGFX for some GUI design. I’m not really able to find anything definitive as far as documentation. I figure I could just use a serial interface and a off board controller but since this MCU has a TFT LCD controller on board I was looking at LVDS. Something like this. https://www.ebay.com/itm/WS-10-1-Capacitive-Touch-LCD-Module-1024-600-Graphic-FT5406-Screen-RGB-LVDS/262170057749which has both RGB and LVDS. If this is the correct display to be using with this board, then how would I bring the 40 pin LVSD into the Nucleo board?I saw something from Adafruit that. Had a 40 pin breakout with backlight driver but I don’t know if the pin out will match the ribbon as it looks to be more of a RGB than LVDS which I think I shoul
hello everyone, I have absolutely identical versions TouchGFX 4.22.1 ; CubeIDE 1.13.1 ; CubeMX 6.9.1 on two computers win10.I’m creating a project in TouchGFX on the first computer, which takes up about 800MB, which I think is very strange, I don’t think this is normal. but everything compiles and works. but when I make copy - paste project folder on second computer, I get this errors in during compilation 1) ./Application/User/main.o: in function `main': STM32F429I-DISCO C/C++ Problem2) make: *** [makefile:93: STM32F429I-DISCO.elf] Error 1 STM32F429I-DISCO C/C++ Problem3) undefined reference to `MX_TouchGFX_Init' main.c /STM32F429I-DISCO/Application/User line 295 C/C++ Problem4) undefined reference to `MX_TouchGFX_PreOSInit' STM32F429I-DISCO line 297, external location: C:\ST\STM32CubeIDE_1.13.2\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626\
Hello all,@Martin KJELDSEN, I just updated my project to Version 4.23.0 and now get a compiler error for the creation of a canvas.The update info tells, that there has been done a change, but there is no example and I don't know how to fix this.Original code for the construction:Canvas canvas(this, invalidatedArea); But now the parameters have changed: Canvas(const AbstractPainter *constpainter , const Rect &canvasAreaAbs , const Rect &invalidatedAreaRel , uint8_tglobalAlpha ) Can anybody tell, how to set correct parameters and what they represent?The code for the canvas was taken from github for a graphics canvas "abstractgraph.cpp", therefore I am lost and don't know what these parameters will do.Any help is very much appreciated.Thank you and have a Merry Christmas!!!BR GS
Hello dearIt would be very nice to give us a simple example to explain all your codes to order to change a widget on a screen.You tellus to use "TouchGFX HAL Development" in your example gpio https://support.touchgfx.com/docs/development/board-bring-up/example-gpio/ but where is it possible to put it?Thank you for you aid.Roger
hello everyone ,i have successfully using MX+TouchGFX+IDE with my custom PCB board,and i want to add a video into my project,but i can't find "LIBJPEG" in "Middleware and Software Packs" or "JPEG" in "Multimedia",like this website:https://support.touchgfx.com/docs/development/touchgfx-hal-development/generator-how-to/touchgfx-al-configuration/video-decoding so how can i do?MCU:stm32wb5mmgLCD driver:st7789Display:240x240pixels,RGB565FW Package:STM32Cube FW_WB V1.18.0X-CUBE-TOUCHGFX version:4.23.0Tony.
Hello all,I am developing a touchGFX application on STM32F7 with the frame buffer stored on an external QSPI flash. While app is running, I need to write data to this external memory but, to allow the flash write, I have to exit the memory-mapped mode. On this configuration the GUI task can not access the frame buffer so I have tried to block its execution. I have implemented it this way:1- System starts: QSPI flash configured in memory-mapped mode (GUI task working fine)2- Disable LCD and DMA interrupts and exit memory-mapped mode3- Write flash4- Enter memory-mapped mode and enable LCD and DMA interruptsSince the data is received from modbus communications, I repeat steps 2-4 on each message reception until I have written all data on external flash. This solution works sometimes but others the GUI task seems to crash and the screen is not refreshed anymore.My question is: what is the correct way to block GUI task (or frame buffer access) so that it could continue its normal function o
Hii,Iam using the STM32H745XiH6 board and a ST7701S display driver IC. Is TouchGFX Designer tool compatible with the board and the driver IC? We are using SPI and LTDC pins for initializing and working of the display.
Hi @Romain DIELEMAN @Yoann KLEIN @JTP1 @Mohammad MORADI ESFAHANIASL ...Please guide..... I'm in the process of developing a screen which takes input from main board and the down timer keeps ticking. LED blinks until the progress bar fills.The requirement for the LED is to blink when the progress bar is filling and become stable green once the down timer displays 0:00.The calculation for the down timer is done inside handleTickEvent() and I get to know that the timer has reached 0:00 inside handleTickEvent() and this is how my code looks.if (testDuration == 0) //To set LED intensity to stable green{ StableRGB(GREEN);}else if ((tickCounter % 30) == 0) //To set LED intensity to blinking green { if ((BlinkingGREEN() != HAL_OK)) { //Report error }}Since the check, w
Hello, This seems like a basic question but I can't seem to find an answer anywhere: I'd like to change the background color of the dynamic graph from white to some other color (black ideally). This would be the entire background color I'm after, not just the color below the line as it's drawn. In all examples of the dynamic graph the background is always white so I'm sort of wondering if this is even possible?I noticed in MainViewBase.cpp when the graph is being drawn initially a background is added and it is explicitly set to white so it seems like this could be some other color?graphBackground.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));..add(graphBackground); Is there a way to change this? Thanks!Rich
How to simply send a value in a text or numeric zone (textArea)?
I'm creating a TouchGFX project on custom hardware and I'm a little confused about where to set the button controller for physical buttons. As far as I can tell from the documentation, the custom button controller needs to be initialized in TouchGFXConfiguration.cpp and attached to the HAL in touchgfx_init():static UserButtonController ubc; void touchgfx_init() { Bitmap::registerBitmapDatabase(BitmapDatabase::getInstance(), BitmapDatabase::getInstanceSize()); TypedText::registerTexts(&texts); Texts::setLanguage(0); FontManager::setFontProvider(&fontProvider); FrontendHeap& heap = FrontendHeap::getInstance(); /* * we need to obtain the reference above to initialize the frontend heap. */ (void)heap; /* * Initialize TouchGFX */ hal.initialize(); hal.setButtonController(&ubc); }However, the top of `TouchGFXConfiguration.cpp` explicitly says "This file is generated by TouchGFX Generator 4.23.0. Please, do not edit!". Additionally, the Versi
Hello,I need help how to add new customcontainer to scrollwheel dynamically.First I created customcontainer named MenuElement, add TextArea named textItem and Button named buttonRemove to it.Second I add to screen (menuScreen) scrollwheel element with propertis : Number of elements = 0 and Initial Selected Item = -1, ItemTemplate = MenuElement.In code I want when button is clicked to call function(interaction to call new virtual function) which will add new item(MenuElement) to scrollwheel and set it to next index of existing MenuElements in scrollwheel.
hi friends..i have configured custome LDTC touch Display for STM32F746IGT controller. I have refferd the following video for configuration:https://www.youtube.com/watch?v=SRQD8JMeg_ki have done every thing step by step according to that video and made changes according to my 1024x600 wave share display properties.after completiing the configurations and cearting GUI in touchGFX im not getting anything on touch Display..im sharing my project file also ... if some one finding mistakes in my configuration ... pleaz help me to correct it ..
I am using Riverdi RVT70HSSFWCA0.I am creating a project based on the TouchGFX template. A GitHub repository must be created.After compilation, the project size increased to almost 280 MB.The size of Project_name\CM7\Middlewares\ is 225 MB.What files and folders to exclude from the repository?What will be the recommendations? How to do it?
Hello! Please, help me to recover from designer crush.I open my .touchgfx file in the designer (4.22.0), and it opens fine, but with a yellow dot next to Texts tab. (I re-installed some fonts that were used by the application before). But when I press on the Texts, the Designer closes. The designer log then looks like this:2023-09-28 11:32:40,191 [23] ERROR TouchGFXDesigner.App: Object reference not set to an instance of an object.System.NullReferenceException: Object reference not set to an instance of an object.at TouchGFXDesigner.Main.Project.Texts.CalculateLineHeight.HashLanguageSetting(LanguageSetting languageSetting)at TouchGFXDesigner.Main.Project.Texts.CalculateLineHeight.Execute()at TouchGFXDesigner.Main.Project.Texts.FontLineHeightCalculator.Monitor()at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)--- End of stack trace from previous location ---at System.Threading.ExecutionContext.RunInternal(Executio
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.