Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi Team, I'm working on Touchgfx(TFT LCD - 240x320) for STM32H743BIT6 microcontroller.I need to design a screen which contains list of menu options and need to highlight the respective menu with cursor pointing to it. Can anyone suggest how to interface a hardware button to highlight menus with cursor as shown in the below image Provide some reference sample code or video links or document to work on it. Thank youHarsha
I have been having issues with Touch GFX bricking my project during code generation. It starts out working but at a later point it starts generating invalid code. An example is that it starts generating a touchgfx::GraphElementLine without a variable name. Another example is it cannot find certain fonts cpp files during compilation. I can e.g. fix the GraphElementLine by deleting my dynamicGraph and creating a new one. The font issue I haven't found a solution for. Anyone else experienced this and know how to fix it?
I want to create a scrollable list of menu item, If I understand correctly, a List can be scrolled when placed inside a Scrollable container and the add property can be used within the list class to add children which will then populate and the list and space automatically. I have defined my basic layout as a custom container and would like to populate the list based on my custom container as shown in the example at the bottom here: https://support.touchgfx.com/docs/development/ui-development/ui-components/containers/list-layout. The issue I keep running into is that when I add more than 1 element to the list, they overlap on top of each other instead of stacking vertically to form a list. I am able to remove the elements individually after they have been added so that would imply it's not a drawing issue, but an element spacing issue. The code I use to add the elements within void InfoScreenView::setupScreen():listElements[0].updateScrollIcon(0); listElements[1].updateScrollIcon(1); O
Generate Code Generate Done Generate Assets make -f simulator/gcc/Makefile assets -j10 The system cannot find the path specified. 'B' is not recognized as an internal or external command, operable program or batch file. The system cannot find the path specified. The system cannot find the path specified. The system cannot find the path specified. Failed Failed
Hi!I am using TouchGFX in my application. In one of the pages I need to render unknown amount (depends on backend) of lines as well as boxes. What is best approach to this? Should I use TouchGFX MVP and send from backend information about width/color/position or maybe create my own function that will use DMA2D and render lines/boxes. If the first option is way to go, in TouchGFXDesigner I guess I would need to create one line and one box. How to change this line/box parameters (like position) without deleting previous rendered line/box? Since TouchGFX treats objects as rectangles it will overlay as rectangle. Is it even possible with TouchGFX engine?TL:DR: How to use TouchGFX engine to render unlimited number of custom objects (linex/boxes)?Thank you
..
i am using STM32F7 and MX25L128 for external flash.I am getting hard fault in TouchGFX_Process function.what could be the reason ??
Hi all,I would like to store all graphics resources on my external QSPI memory.I have an STM32H743VIT6 and I use TouchGFX 4.16.if I didn't understang wrong I modified my project following these steps:on TouchGFX projects, all image properties ( Section and Extra Sections) are converted to "ExtFlashSession")I realized an Custom Loader to be used on debugger (to store graphic contentens on external QSPI Memory)On my project I added to the linker the sections:MEMORY { ....... QUADSPI (rx) : ORIGIN = 0x90000000, LENGTH = 8M }andExtFlashSection : { *(ExtFlashSection ExtFlashSection.*) *(.gnu.linkonce.r.*) . = ALIGN(0x4); } >QUADSPI FontFlashSection : { *(FontFlashSection FontFlashSection.*) *(.gnu.linkonce.r.*) . = ALIGN(0x4); } >QUADSPI TextFlashSection : { *(TextFlashSection TextFlashSection.*) *(.gnu.linkonce.r.*) . = ALIGN(0x4); } >QUADSPII inserted Routine to Init and access to external QSPI memoryApplication crash inside void touchgfx::Texts::setLang
Hi all,I am doing one project where TouchGFX data has to be store in External Flash.For this I created Custom External loader for QSPI Flash.Tested this external loader in STM32CubeProgrammer by writing and reading 1Mb of data, and its working fine.And also TouchGFX with internal flash its working fine.But once I added the External Loader for TouchGFX project then code is going into HardFault Error.Also I added below script still its is going into HardFault Error./* Memories definition */MEMORY{ DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K FLASH (rx) : ORIGIN = 0x8000000,
Hi,I have an application created with TouchGFX 4.13 and STM32CubeIDE 1.4 on an STM32F750Z8. It was not running very well from erxternal RAM so I decided to change to the STM32F767ZI with enough internal falsh to store the application. Also I changed to TouchGFX v4.16 and STM32CubeIDE 1.5.1. The board and configuration stayed almost the same but now the TouchGFX lib stops in DM_Interface::addToQueue after the first VSync. It looks like it tries to take a semapthore in touchgfx::OSWrappers::tryTakeFrameBufferSemaphore and afterwards calls TouchGFXGeneratedHAL::disableInterrupts. From that point I don't get any further ltdc line events any more, even if I remove the call to NVIC_DisableIRQ(LTDC_IRQn).For curiosity I linked the programm against the old TouchGFX(v4.13). I know it will not really work with the generated files from TouchGFX Studio but at leats it didn't stop working at this point.I also debugged the init code and ltdc, dma2d, gpios and the os are initialized correctly. Also t
Thank you for helping.environment:TouchGFX Ver4.15.0When designing the screen design verticallyWill the points x0 and y0 be at the bottom right of the screen?Or is it in the upper left?Where is this specification written?
I need to know simple code for login details display on tochgfx display, please help us to complete project
Hello I'm just a beginner at STM32.I'm going to use 800 x 480 TFT LCD this time.First, I set LTDC to CUBEIDE like this.I'd like to check if only the color comes out with HAL_LTD_SetAddress.When you attempt to use uint32_t frame_buffer [384000] as a global variable, an error appears stating that there is not enough RAM area.In this case, do I have to use an additional external ram?Or is there another way?HAL_GPIO_WritePin(LCD_RESET_PORT, LCD_RESET, SET);LCD_Init();HAL_LTDC_SetAddress(&hltdc, (uint32_t) frame_buffer, 0);for (i = 0; i < 384000; i++){frame_buffer[i] = 0xF81F; // pink}Is the method of controlling TFT LCD with LTDC wrong?I'm sorry that the sentence is not smooth using a translator.
I have a NUCLEO-F446RE board, and I'd love to get my hands on the circular display featured on the 32L4R9IDISCOVERY. Where would I be able to buy it? Could the NUCLEO even run it?
Hi, is there a way to get the B-LCDAD-HDMI adapter to work together with TouchGFX? So far I could only get it to work in i few CubeF7 examples, but those do not involve TouchGFX, CubeMX and so on... Setup: STM32F769I-Disco + BlLCDAD-HDMI + Waveshare 7" The examples provided by CubeF7 are also not running perfectly since the Screen is flickerung and the Image is shown two times (one is moved about 1/4 inch towards the Bottom.) Is there a way to adress those two issues?
Hi,I was wondering if anyone have made a 'rotary-style' button, like a rotary encoder or a volume knob that can go on-screen?I suspect it would involve resolving a touch input and mapping it to some sort of circular motion or something like that. A rounded slider would also be of high interest!Any inputs would be appreciated! Thanks!
I am developing with stm32f469i_Discovery board.The development board is a 4-inch LCD and what I need is a 5-inch LCD.While searching for 5-inch LCDs, it found ILI9806E Control IC products.I am looking for an LCD driver for a test with a 5-inch LCD instead of a 4-inch LCD, and I have a question, so I ask someone to answer it.The development board's LCD is the MIPI interface. I saw the circuit diagram of the development board, and I understand that the control pins are connected to the HS_D0P, HS_D0N, HS_D1N, HS_CP, and HS_CN pins.But if you look at the initialization code on the development board,MX_LTDC_Init();I think the square part is not MIPI interface but I2C communication to initialize LCD Control IC...Can you tell me what your configuration is on this stm32f469i_Discovey board?
Hello community,I'm working on custom board based on stm32f429bi that is connected to 800*480 TFT LCD and 32MB of SDRAM. LTDC buffer is configured to be on the SDRAM. I can properly pour whole screen with red, green,blue and any other colors without any problem. But when i try to load a image from sd card or somewhere else, the pixel information of image are corrupted at the "edges" of image. Something like the following two picture:original image: and displayed image:I'm not sure that the problem is related to LTDC config or SDRAM or something else.Any help will be highly appreciated.Thanks in advanceA.Haji
Hello!THis is my SCT file; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* LR_IROM1 0x08000000 0x00100000 { ; load region size_region ER_IROM1 0x08000000 0x00100000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x20000000 0x00050000 { ; RW data .ANY (+RW +ZI) } } LR_EROM1 0x90000000 0x2000000 { ; load region size_region ER_EROM1 0x90000000 0x2000000 { ; load address = execution address *.o (ExtFlashSection) ;*.o (TextFlashSection) *.o (FontFlashSection) } } when ExtFlashSection and FontFlashSection are commented (disabled), system loading is OK.But if these sections are not commented (enabled, written like I quoted) - I get error;on this stage I get this error What's wrong in my SCT file or other settings?My IC is STM32h743B.On project for STM32F746B this
We are porting a display-project from Imagecraft-compiler to IAR-compiler for the STM32F446-chip. This is the most vital bits of the LDC-drive (with ILI9488-chip). The pins are alive, checked by an oscilloscope (we don't have a logic analyzer) and the codes seem to be identical. Still no performance with the IAR-code. We can control a LED and serial ports with IAR so the compiler and download works. Any ideas?the solution was:The problem is solved and it seems to be the HAL-drive init of USART 3 to pin PC10 & PC11 that corrupts the initiation of PA2 and PA3 as general purpose outputs. PA2 and PA3 can also be routed to USART 3 but we use PORTA as a 16-bit parallel access to the LCD. By swapping order of initialization and first define USART 3 to PC10 & PC11 and then PORTA as parallel output it all works fine.Working code on Imagecraft:/* Writes 1 control-byte and then n data-bytes if n != 0 */ void LCDw_n_data( uint8_t cmd, const uint8_t *ptr, uint16_t n ) { D_D_NC.Clear(); port
Small generated fonts are not pixel perfect (in fact 70% are incorrect), and I want to fix them by hand.My generated font data looks like this (10px source sans, 1bpp): // Unicode: [0x0030, zero] 0x96, 0x99, 0x99, 0x06, // Unicode: [0x0031, one] 0x93, 0x24, 0x1D, // Unicode: [0x0032, two] 0x96, 0x48, 0x24, 0x0F, // Unicode: [0x0033, three] 0x87, 0x68, 0x98, 0x06, // Unicode: [0x0034, four] 0x8C, 0xA9, 0xF4, 0x11, 0x02, // Unicode: [0x0035, five] 0x1E, 0x71, 0x88, 0x07,How this encoding works, so that I can edit it?
Hi all,we have a STM32F103 MCU with an Epson TFT controller with an internal framebuffer. This framebuffer is attached via FSMC bus and memory-mapped at 0x68000000. We already have an application that draws graphics successfully to our display (using Atollic TrueStudio 9). Now we are evaluating touchGFX as an abstraction layer to create the GUI. What we have achieved so far:created a small demo app with touch designer (background + 1 Button); this runs in windows simulatoradded the generated code to our Atollic project; compiles and runsuse application template from F4 Disco boardfollowed the instructions in MCUs without TFT controller, Running TouchGFX without an operating system and old support thread Porting TouchGFX to 8080-based LCDsfrom the second link we use the OSWrappers classwe have defined an own HAL: class STM32F103HAL : public STM32F4HALour timer triggers OSWrappers::signalVSync() (verified with debugger)Most important steps we are doing in pseudo-code:init_our_hardware();
I have designed a custom board with the STM32F469BET microcontroller, and have configured all the necessary IO's and drivers for the display,The LTDC is configured with the proper variables (Probbebliy),The display turns on and loads a gibberish image, (as nothing is yet in the frame buffer)I have set up a framebuffer in the internal RAM (just to test the displays colors)#define FRAME_SIZE 10000 uint8_t *frame_buffer; uint8_t fram_buff[FRAME_SIZE]; //frame_buffer = malloc(100000); frame_buffer = &fram_buff; HAL_LTDC_SetAddress(&hltdc, frame_buffer, LTDC_LAYER_1); int i = 0; while(i < FRAME_SIZE){ fram_buff[i] = 0xFF; fram_buff[i + 1] = 0x00; fram_buff[i + 2] = 0x00; i += 3; }And nothing has changed on the display?I can see in the debugger that the data in the frame_buffer have changed, but somehow the HAL_LTDC_SetAddress(&hltdc, frame_buffer, LTDC_LAYER_1); doesn't do anything?maybe I need to use a different function?Note: I h
I added "graph clicked trigger" to graph and generated code. In the MainView Base.cpp graph.setClick Action(graphClickCallback) gived this error.Error[Pe434]: a reference of type "touchgfx::GenericCallback<touchgfx::GraphWrapAndClear<(int16_t)100> const &, touchgfx::ClickEvent const &> &" (not const-qualified) cannot be initialized with a value of type "touchgfx::Callback<MainViewBase, touchgfx::AbstractDataGraph const &, touchgfx::AbstractDataGraph::GraphClickEvent const &>"
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.