Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
QUESTION - TouchGFX Community repost - Eyal goltzman - July 2016Hello,Following Yossi question from today and Martin reference to Soren answer in https://touchgfx.zendesk.com/hc/en-us/community/posts/206708899--orientation-180-degreeWe are using LCD without SPI interface, only parallel RGB interface through the LCD-TFT Controller peripheral, so controlling the LCD as describe in your answer to the above link is not an option.Since our customers have a mechanical issue with the display orientation (the flat cable position) we are trying to address it with SW solution.As I see it, there is an option to rotate the frame buffer just before calling swapFrameBuffers, what do you think? It could be done? performance issues? Can we do it ourselves? How?Thanks,EyalANSWER - TouchGFX Community repost - Soren Pingel Dalsgaard - July 2016Hi Eyal,How unfortunate! You could do the rotation manually, but the performance penalty will be very significant
In the new designer - just create an empty simulator project,- error indicator : Combination of Simulator & Blank UI failed and designer crashes.Worked on previous versions.
I have purchased STM32F411RE & Nucleo-GFX01M2.I attempted to complete one of the examples in “ TouchGFX ” but there is no option for the board.The “ TouchGFX 4.22” does not have the above board.Is there a tutorial on adding the board to the list or is it a “ST Microelectronics” only function
Hi,I'm try to convert a unicode::char to a float.I not find a function to do it. https://support.touchgfx.com/4.20/docs/api/classes/classtouchgfx_1_1_unicodeIn C language, I used to using a simple char with iotf() to convert it.Today I'm following this steps:- read the textArea Unicode::char, convert it to a char type in a new buffer- with this new char buffer I'm using the itof to convert to a floatThe cons about this method is I need to create another buffer to it.Please, anyone could you guide me how to do it in a smart way?Thank you.
Hello,i have few problems with the new version of Touchgfx 4.221. When using Dynamic Graph every time the code is generated the Base class is broken. This effect was also observed in previous versions. If the Line / Array sequence is changed and restored again and the code is generated again then all is well. 2. On Touchgfx 4.22 I have problem with vertical text version 4.21.4version 4.22Greetings Boyan Panchev
I want to store this to external SDRAM. Is it possible?And I put this code to STM32H743ZITX_FLASH.Id/* ****************************************************************************** ** ** File : LinkerScript.ld ** ** Author : STM32CubeIDE ** ** Abstract : Linker script for STM32H7 series ** 2048Kbytes FLASH and 1056Kbytes RAM ** ** Set heap size, stack size and stack location according ** to application requirements. ** ** Set memory bank area and size if external memory is used. ** ** Target : STMicroelectronics STM32 ** ** Distribution: The file is distributed as is, without any warranty ** of any kind. ** ***************************************************************************** ** @attention ** ** Copyright (c) 2022 STMicroelectronics. ** All rights reserved. ** ** This software is licensed under terms that can be found in the LICENSE file ** in the root directory of this software component. ** If no LICENSE file comes with this software, it is provided AS-IS. ** ***************
I have several flex and nonflex buttons on a screen and wanted to be able to call a beeper function with any button press. So I thought I could override the callback handler for button and flexButton to do this. Is this not possible since they are private in the base class? I'm used to C and not very familiar with C++ classes and inheritance.
Hi all,I'm new to touchGFX. I keep importing the very small projects I make (for STM32F746 Disco board) into the cubeIDE to test code. I read several posts that show how to fix the re-naming of the project so I can import the next test I try but they're cumbersome and you can't go back to the touchGFX project because of the filenames changes. I just saw that there is a new minor version change in touchGFX (from 4.21.4 to 4.22.0) but no fixes to this issue.I'm wondering when will this import project name issue be fixed?Thanks
Hi there,I am currently trying to get TouchGFX working on the U575I-Eval Board.Is there a project to start from?I made a new project with components initialised and TouchGFX activated.What do I need to activate too?Do I need the hx8347i driver? (from bsp or demo project of the eval board).If I correctly analysed the nucleo144 project, the lcd driver isnt even used?When i use X-Cube-Display->Board Part->Memory->Custom: OSPI, the "parameter settings" for external memory parameters tell me that bus type is "octo SPI", but the Instance says "Unavailable Quad SPI Mode", OCTOSPI1 is configured as Octo SPI. I dont get how i set it to OSPI and then it asks for a Quad SPI.Do I even need the X-Cube-Display? I found the "TouchGFX Presentation AL Development – Hands-on" where the X-Cube-Display isnt even used, but a LTDC instead of FMC display is used there. Thanks in advance.
I am new and trying to learn touchgfx and stm32. I have stm32f769 disco. and i am want to ask 2 things.First i tried to make project using the relative template and it seems that i worked, i placed just a button and it works normally. Then i tried to open the project from CubeIDE but after compilation i get black screen .My second try is about the tutorial in documentation, the proposal is to use from cubemx a template setup for the board. In this case from Cubeide when you create project for the board then ltdc has issues dspi has also and it does not work. Also in the documentation you talk only about spi setup which is different then DSPI which probably needs dspihost setup...https://support.touchgfx.com/docs/development/board-bring-up/how-to/03-display-internalWhat it works is if from the cubeide you create the touchgfx example that does not have cubemx file at all so i can not identify easily the complete setup. But from the code they setup several thing with dspihost and ltdc and
The datasheet (DS10685 Rev 6) in Table 16 says that the VLCD pins are:PB0/LCD_VLCD3PB2/LCD_VLCD2PE11/LCD_VLCD1PE12/LCD_VLCD3PB12/LCD_VLCD1In the reference manual RM0367 Rev 7 (for STM32L0x3)Section 10.2.2 (SYSCFG_CFGR2), for bits LCD_CAPA:Bit 1 controls the connection of VLCDrail1 on PB2/LCD_VLCD10: VLCDrail2 not connected to PB2/LCD_VLCD11: VLCDrail2 connected to PB2/LCD_VLCD1Bit 2 controls the connection of VLCDrail1 on PB12Bit 3 controls the connection of VLCDrail3 on PB0Bit 4 controls the connection of VLCDrail1 on PE11Bit 5 controls the connection of VLCDrail3 on PE12So, the reference manual seems to be wrong about PB2.The VLCD names are wrong in the schematics for STM32L073Z-EVAL too (document "MB1168.pdf" revision C-01): PB2 is marked as "VLCD1", and PE11 is marked as "VLCD2" (whereas PE12 is correctly marked as "VCLD3").The actual voltages on the pins agree with the naming in the datasheet (PE11/LCD_VLCD1 < PB2/LCD_VLCD2 < PE12/LCD_VLCD3)The options available in CubeMX fu
After upgrading from TouchGFX 4.21.3 to Touchfx 4.22.0 the project was converted. If I open the touchgfx project the touchgfx designer crashes: Application: TouchGFXDesigner-4.22.0.exeCoreCLR Version: 7.0.122.56804.NET Version: 7.0.1Description: The process was terminated due to an unhandled exception.Exception Info: System.IndexOutOfRangeException: Index was outside the bounds of the array.at TouchGFXDesigner.Communications.NewsManagerViewModel.SwitchCurrentCard(Object state)at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)--- End of stack trace from previous location ---at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)at System.Threading.TimerQueueTimer.Fire(Boolean isThreadPool)at System.Threading.TimerQueue.FireNextTimers()at System.Threading.ThreadPoolWorkQueue.Dispatch()at System.Threading.PortableThreadPool.WorkerThread.WorkerTh
I am using Stm32CubeIDE 1.12.0 and would like to install the latest touchGFX generator (4.22.0) but it is not available in Embeded software package manager...
I am using FMC LCD interface to power my TFT LCD controlled by SSD1963. FMC data width is 16-bit, and below is a workable code using pixel-by-pixel transmission.void lcd_fill_pixels(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey, uint16_t *pixels) { uint16_t xlen = ex - sx + 1; Set_Column(sx, ex); Set_Page(sy, ey); SSD1963__write_memory_start(); for (int i = sy; i <= ey; i++) { for (int j = sx; j <= ex; j++) { TFT_RAM = *pixels; pixels++; } } }I want to convert the code in the lines 8-13 into DMA. I first tried to use MDMA since the core running on is Cortex-M7. I also tried DMA MemToMem. below is my MDMA and DMA configuration.I checked from the build analyzer that the buffer is placed in the .bss region of RAM_D1. Also, I disable both D-Cache and I-Cache for testing. However, I still cannot see my LCD filling with pixels.Could someone familiar with DMA on STM32H7 devices help me with it? Really appreciate it! Below is my attempt using HAL.void lcd_fill_pixels_dma
I use strncpy to print some value in the wildcard but after that the board crashes and does not react anymore. Has anybody an idea what is going wrong? (the text is displayed),Unicode::strncpy(textAreaMMethodBuffer, "Multimeter", 11);textAreaMMethod.resizeToCurrentText();textAreaMMethod.invalidate();
TouchGFX 4.20.0 is now out. Please follow this link to download it. Attention : Please regenerate code from CubeMX when you migrate your projects from older versions of TouchGFXDesigner to this new one.Details:* New TouchGFX Designer Features: * Import and Export of custom containers. * A new notification will tell why F5- and F6-shortcuts are unavailable. * A new Code-menu with the ability to run simulator, run target, generate code and open project files. * New trigger added, with the ability to trigger on every N-tick. * Ability to copy text ressource Id, similar to copying image-Id.* Bugfixes in TouchGFX Designer: * Run-buttons update when validation changes. * Some widgets now support non-int radius, including circle. * Fixed Menu-items being available via shortcuts in the lobby. * Fixed SetShapeColor Action not generating correct code. * Fixed TextArea widget was not showing text when outside its parent, when
Hello,I have a NUCLEO-H755 + NUCLEO GFX02Z1.NUCLEO GFX02Z1 is based on DT022CTFT screen (ILI9341 drivers) and MX25L6433FM2I QuadSPI memory.With ST Software package X-CUBE-DISPLAY 3.0.0, I have severals problems :- With GFX02 "HelloWorld" example, there is nothing in MX_DISPLAY_Process(); function ??- With LCD configuration (ILI9341 drivers) configured on FMC, it's working fine because the MX_DISPLAY_Init() successful passed (ReadID OK).- With memroy configuration, there is no QuadSPI configuration, only SPI. QuadSPI is only available with "custum" selection. So, if i select Custom + QuadSPI (and not MX25L6433 + SPI) I will loose MX25L6433 drivers produce with X-CUBE-DISPLAY soft ...But at this moment, I just want to print a character or backgrtoung color but the screen remains white ...My understanding :To not configure QuadSPI memory is not a problem at this moment because I don't use DMA transfer (no DMA), so no transfer from peripheral to Memory and/or Memory to
..
I checked a few manuals. RM0432 explains memory mapping but it does not mention how to connect LCD, what address to send data and command. I have 800 x 480 pixel LCD with 16 bit data bus.I think the problem might be with the address to send command and data. I am using STM32L4Q5RGT6this is I am trying to send command*(__IO uint32_t *)(0x60000000) = command;for data;*(__IO uint32_t *)(0x60040000) = data;there is something wrong with the address or maybe it should be*(__IO uint16_t *)(0x60040000) = data;this is the beginning of LCD initialization: LCD_WR_REG(0xF000); LCD_WR_DATA(0x55); LCD_WR_REG(0xF001); LCD_WR_DATA(0xAA); LCD_WR_REG(0xF002); LCD_WR_DATA(0x52); LCD_WR_REG(0xF003); LCD_WR_DATA(0x08); LCD_WR_REG(0xF004); LCD_WR_DATA(0x01);
Posted on April 20, 2018 at 11:55 Hello, I'm interfacingSTM32H743II with 8080 parallel bus LCD. I configured FMC in CubeMX as LCD Interface with 16bit bus and A11 as R/S pin. However I've run into problem with writing commands/data into LCD. A single uint16_t write under 0x68000000 address results in 4 writes to memory, out of which first write is valid data, and rest are 0, as seen on logic analyser snapshot. Write is performed by following code: #define COMMAND_POINTER 0x68000000 #define DATA_POINTER 0x68001000 ... static uint16_t * command = (uint16_t *) COMMAND_POINTER; static uint16_t * data = (uint16_t *) DATA_POINTER; ... *command = ILI9341_SWRESET; //software reset�?�?�?�?�?�?�?�?�?�?�? I also tried HAL_SRAM_Write_16b(), but result is the same. These writes basically compile to strh (Store register halfword) instruction, and executing this single instruction causes 4 write accesses to LCD. After little investigation i noticed, that writes under incremented addr
I understand that when TouchGFX Designer starts, it connects to the server and downloads board setup and example.I want to know that server logs or not because my company security policy.Thank you and regards
Hello,I'm currently experiencing an issue with my Touch GFX 4.21.4 interface, as it keeps displaying an alert stating that I'm not connected to the internet. I have tried different solutions on my side, such as checking my internet connection and using other devices, but the problem persists. I would like to know if there are any specific configurations or settings that I should be aware of to ensure the proper functioning of the Touch GFX. If anyone has encountered a similar issue or has any suggestions to resolve this problem, I would greatly appreciate your help. Thank you in advance.
Iiiiiiit's ... tiiiimeeee! I'm pleased to finally be able to announce the release of TouchGFX 4.12.3, the first official release since 4.10.0. We've worked with CubeMX and CubeIDE to improve the integration experience some, so please get the latest versions of those (5.4.0 and 1.1.0 respectively). For CubeMX, you can upgrade to 5.4 through the software updater, or you can download it from st.com as usual.Please read the following for an overview.https://touchgfx.zendesk.com/hc/en-us/articles/360009767400Teaser:Lowering memory requirements with Partial Frame Buffers8-bit framebuffersL8 Image format (Pallette)Improve performance with "Cacheable Container"Binary fonts and languagesCustom Triggers and ActionsImage Manager with support for sectionsTexture Mapper Widget and more.../Martin
I encountered a memory allocation error (Transition allocation error) for animating transitions between screens while debugging GUI in Visual Studio 16.8.6. Assert check tells me that all transitions should be registered in FrontendHeapBase.hpp / FrontendHeap.hpp files.Since I don't use my own transitions and work with animations using TouchGFX Designer 4.16.1, all transitions are already registered in the FrontendHeapBase.hpp file (I use only one animation):/** * Determine (compile time) the Presenter type of largest size. */ typedef touchgfx::meta::select_type_maxsize< GeneratedPresenterTypes >::type MaxGeneratedPresenterType; /** * A list of all transition types. Must end with meta::Nil. * @note All transition types used in the application MUST be added to this list! */ typedef touchgfx::meta::TypeList< touchgfx::NoTransition, touchgfx::meta::TypeList< SlideTransition<EAST>, touchgfx::meta::Nil > > GeneratedTransitionTypes; /**
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.