Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi Team,Currently I am working on project, in which we are using EDT Display board and project has been configured with TouchGFX. For one of our requirements, we have integrated TinyUSB. Most of the things working fine but facing one issue if USB is not connected device is not going for sleep mode. It will be remained in active mode. with USB cable connected, device is going for sleep mode after 15 mins. which is expected as for our project and that is how we configured sleep mode. I am seeking help to understand what the issue could be here? Any insights? please response. Thanks in advance .
I have a text field that's left aligned and rotated by 270 degrees so that the first character is at the bottom.If I change the language where the text is longer the first character shifts down.This is not what I expect.I expect that a text that is rotated is the same as the unrotated text, but rotated around the side of the alignment (and perhaps shifted).The problem is that the anchor point of the text is at the top left regardless of rotation, which is the right of the text when it's not rotated. So the text is effectively right aligned. For 0 and 90 degree rotation the behavior is correct.A similar effect occurs when the text is right aligned and the text is rotated by 0 degrees and the translation is longer. In that case the text extends to the right instead of the left, so it is effectively left aligned. I understand that choice. But for manually setting text using a printf function there is a TouchGFX method called resizeToCurrentTextWithAlignment() which does extend longe
In our project Frontend (and Backend) how some specific meanings, hence the question. I tried just renaming the class, but the generated code (particularly, the presenters) still kept referencing FrontendApplication.Is there an option to change that name?
Hello,Is there a way to add Interaction to every Screen?I want to have power-off button Interaction which should appear to every screen. This common Interaction would be addition to the other interactions added in Designer.I figured I could add handleKeyEvent() to FrontendApplication, but that will override all Interactions from all of the Screens.Is this possible?If I have 100 screens, do I need to individually add this Interaction to all of them? I hope not, that would be impossible to maintain.Thanks!
Hi all.I recently purchased both of the above displays. They are mounted on a NUCLEO-H503RB and a NUCLEO-U575ZI respectively. Both NUCLEO boards are supported in TouchGFX Designer V4.24.0. So I should be good to go. I am proficient enough navigate the TouchGFX environment and produce working simulations, generate code for CubeIDE, navigate CubeIDE/CubeMX etc. etc. I am having trouble though, enabling the joystick button functionality in a working project.I have done quite a bit of research, googling, reading documentation, watching YouTube videos and such but can not seem to find a step-by-step guide that explains clearly the steps I need to take to get the joysticks working. Let's say, for example, I want to use button '4' and button '6' on the joystick to switch between screen1 and screen2 on the display. Should be simple enough! Is there a suitable tutorial for this or, can someone offer their knowledge to help me achieve this? The
Default Image Configuation setting is :Framework Features:Size of .bin file Touch Gfx setting in IOC file: I also followed the link:https://community.st.com/t5/stm32-mcus-products/generated-binary-file-size-is-too-large-2-3gb/td-p/300719 But still size is 2.13 GB. Can you please help me to reduce the size of binary?@UtkrantiYantra
will this code work? #include <gui/screen3_screen/Screen3View.hpp> //#include <math.h> #define PI 3.1415926 // Declare the DAC handle (assuming it's defined in another file) extern DAC_HandleTypeDef hdac1; static bool generateSineWave = false; // Flag to control sine wave generation Screen3View::Screen3View() : end1(172), end2(141), max1(480), max2(200) // Initialize sine wave parameters { } void Screen3View::setupScreen() { Screen3ViewBase::setupScreen(); } void Screen3View::tearDownScreen() { Screen3ViewBase::tearDownScreen(); } void Screen3View::get_sineval() { // Generate sine wave values for both DAC channels for (int i = 0; i < end1; i++) { value1[i] = ((sin(i * 2 * PI / end1) + 1) * (max1 / 2)); // Sine values for Channel 1 } for (int i = 0; i < end2; i++) { value2[i] = ((sin(i * 2 * PI / end2) + 1) * (max2 / 2)); // Sine values for Channel 2 } } void Screen3View::buttonClicked() { generateSineWave = !generateSineWave
Hello ST Community,I am currently working on integrating TouchGFX graphics code with FDCAN in STM32CubeIDE. However, I am facing an issue where the debug process fails to complete successfully. I have verified the code, but I am unable to identify the cause of this problem. Could you please assist me in troubleshooting this issue?Thank you in advance for your support.Best regards,Aashritha.
Hi!So I am doing a program that supports spanish as language, and in spanish we use the "tilde" which is just used sometimes to mark the accent of a word it looks like this: "Actualización", and when I put it in a wildcard it just shows the fallback character, even though I have put the ´áéíóú as wildcard characters.
Hello,I have created custom board with STM32H723 and a external qspi memeory. I can store image data on qspi and showing them on lcd screen. So my external flash its working fine. When i use textarea programs go to Memmanagehandler and stuck. If i try internal flash for textarea program doesnt stuck but nothing show up on the screen.I use CUBEIDE 1.16 and Touchgfx 4.23Can anyone help me.
Hi Community, I have STM32U5G9J-DK1 board and I am able to run several graphics firmware by using 2 data lanes of DSI host.However, in my custom board (yet to develop), we will have only single data lane LCD module.So, I want to try single lane firmware in STM32U5G9J-DK1 board. Firmware is not working (Nothing on display) if I change lane in CubeMX.I have few question here.1. As STM32U5G9J-DK1 board display module has 2 data lane, can I use only single data lane of it? If yes, what should I change in firmware (and/or hardware) to make it possible? 2. If above is not possible due to some limitation, I have to connect single data lane LCD module with STM32U5.Do you have any suggestion of LCD module that I can purchase? What change I need to make in my firmware to make that LCD module work. Thanks,Tarun
how to connect sine wave generation code to the TouchGFX interface and when a button is clicked it has to move to second page and trigger the generation ,how to use the mvp model,this the code for the sine wave generation and contiously writing to dac . /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2024 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. * ****************************************************************************** */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "m
I used STM32CubeMX V5.6.1 to create a project for STM32F103VCT6,I wanted to make a 2.8" TFT-LCD(ST7789) display, it does not work!The configuration parameters in STM32CubeMX:Connectivity -> FSMC: NE1 Chip Select LCD Register Select: A23 Data: 16 bitsI found st7789h2.h and st7789h2.c drive from sample code,and defined parameters as following:#define LCD_REG ((uint32_t)0x60000000)#define LCD_RAM ((uint32_t)0x61000000) // A23I used the command 0x04 (read ID), its response is 0x04 (not 0x85),how to fix this problem?
HiI'm struggling with a TFT Display and a Nucleo U575 board. The Display is a 320x240px Display that I want to control with a 16 bit FMC interface.As the Display doesn't show anything, I connected my Logic analyzer to the Nucleo's FMC Pins.Result: It seems, that the commands (8-bit) are sent correctly to the TFTs D0:D7 pins. However when I try to send data (e.g. a 16 bit color) to the display it's also just D0:D7 that turn high/low. D8:D15 are always low when data is sent and are always high wen nothing is sent.I followed this guide by NickNagy on github. He's using a 8-bit interface. However I changed to the 16-bit command for sending data and I can't find the mistake I obviously made.Can someone help me please? :sleepy_face: I uploaded the code to my githubThanks a lot in advance!
I'm using RVT101HVSNWC00-B.I use TouchGFX 4.24.0 to generate initial code. There's no MX_USART2_UART_Init(); , even though I generate code again through CubeMX. I have to add it by myself to initial USART2.
STM32H750 EXTERNAL FLASH WRITE DATA PROBLEMHello everyone,I am working on a TouchGFX project using STM32H750. In order for the program to be executed, I started the program on the external flash at address 0x90000000 using the bootloader. My project works perfectly for now and I can do everything I want via TouchGFX. I use a 10.1 inch screen. I use MT25QL512ABB8ESF as an external flash and IS42S32400F-6TL as an external RAM. My real problem starts from here. In the later stages of the project, I want to write different data to the external flash whenever I want. And I also want to update the application via WiFi or USB. In order to do these, I need to be able to write data to the external flash while TouchGFX is running. I haven't figured out how to do this yet. Can you help me with this?
Hello community,i'm working now for a longer time on a custom STM32l4r9 board. We want to use the round AMOLED 390x390 display from the Dev-Kit with our Board.Yesterday i worked out how to get the display to work with the new TouchGFX release and implemented the DSI functions from the examples to the TouchGFXHAL.cpp. I created a Projekt from Scratch with CubeIDE and copied all the recent stuff from the templates.We use internal RAM, GFXMMU, LTDC (DSI) and DMA2D. I can get manually a solid color on the Screen or an image from an .h File with DMA2D. Everything works fine. But when i start my touchgfx gui i get a problem. I attached two pictures of it. One is with LTDC Set Pitch 1024 and one without.In the example with the white lines the pitch is aktivated and the proportions are okay, but it seems there are some lines missing.Another strange thing is, that my Code is never running in the TE-Interrupt. I have to HAL_Refresh() the display in the HAL_DSI_EndOfRefreshCallback() interrupt. B
Hello All,I am new to the STM32 Community. I started working on a new project that involves an STM32u5A9. And a Riverdi Screen. Riverdi_50STM32U5A9. After building my project in debug mode, I am receiving intermittent Hardfaults, which the debugger says is from touchgfx. Unfortunately I am not receiving a full stack trace. See Below.I have tried chasing the Address of the hardfault, but that did not bear any fruit either. It seems the BFAR is an invalid address... The issue can happen anywhere from 10 seconds after bootup to 24 hours. Making this extremely difficult to debug. I have tried increasing the stack size for the touchgfx task. and disabling all tasks other than touchgfx.Has anyone experienced this before or have suggestions on how I can proceed?STM32CubeIDE1.15.1TouchGFX Designer - 4.23.2 Thanks
I want to align digits without prepending with 0. So %3d instead of %03d. 000:00 100:00 10:00 1:00 With non-monospaced fonts, such as verdana this doesn't work due to the space character not having the same width as digits. I don't care about the width of punctuation. All digits do have the same width in most non-monospaced fonts, but the space differs.Unicode has different space types. Such as U+2007 "FIGURE SPACE" (https://jkorpela.fi/chars/spaces.html). This character should be a space character with the same width as a digit. Not all fonts support this character(https://www.fileformat.info/info/unicode/char/2007/fontsupport.htm). Arial is non-monospaced, but supports this character.Below is a demonstration with ARIAL with regular space and "FIGURE SPACE"WWW:WWlll:ll000:00100:00 10:00 1:00WWW:WWlll:ll000:00100:00 10:00 1:00As you can see (if the forum renders this correctly) the width of characters differs, but digits have the same width. And the "FIGURE SPAC
Hello, I have created a project in TouchGFX 4.24 based on the STM32U5A9J-DK I am using. I generate the code in TouchGFX and then import the project into STM32cubeIDE 1.16.0. The code will build and compile and I am able to upload it to the board and everything works as expected. When I open the .IOC file to add PE2 as a GPIO_EXTI2 interrupt and generate the code the project will no longer build with the following 2 missing files:C:/ST/STM32CubeIDE_1.16.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.200.202406191623/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: cannot find -l:libnemagfx-float-abi-hard.a: No such file or directoryC:/ST/STM32CubeIDE_1.16.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.200.202406191623/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: cannot find -l:libtouchgfxnema-float-abi-hard.
Hi, I have a problem when using scroll list as a menu list. I have a custom container( a textArea and a background image) for this scroll list. It works good but this lagging problem. I'm running on NucleoG071RB + X-NUCLEO-GFX01M2, I know this resources are quite limited in this board. I tried to make the background as a 200*4pix thin line, still has this lagging problem.Any thoughts? thanks in advance.What I haved tried:1- make the background as small as possible (not working)2- setAnimationSteps(0), (not working, not related to this problem)I uploaded a video to make it easy to get the intuition of this problem.
Hello,I am working on project with:STM34F405RG6 board and TFT Display GC9307 driver using CubeMX V6.12, Keil uVision v5.40 (ArmClang v6.22), and TouchGFX v4.24LCD Driver working library used: https://github.com/Floyd-Fish/ST7789-STM32/blob/master/README.mdusing SPI communication, Half Duplex Master Framebuffer strategies: Partial Frame buffer First, I tried test function in driver above with my board and working just fine displaying colors, fonts, and images. then I want to run my board with 100MHz clock and using CRC (because it's necessary for TouchGFX).Second, I tried change the configuration, using 100MHz Clock and CRC, my board displaying test function just fineThird, I Added TouchGFX through CubeMX without Changing any configuration, before adjusting the driver I want to check is the previous LCD driver working. so I make blank function of: void touchgfxDisplayDriverTransmitBlock(uint8_t* pixels, uint16_t x, uint16_t y, uint16_t w, uint16_t h); uint
Hello everyone, I hope you can help me!!! I'm at the beginning of programming in C++, and I'm having difficulty taking a variable from my main.c file to my screen created in touch gfx. This error appears, where it apparently does not find the variable declaration. Run SimulatorGenerateDoneGenerate Assetsmake -f simulator/gcc/Makefile assets -j8Reading ./application.configReading ./target.configDonePost Generatetouchgfx update_project --project-file=simulator/msvs/Application.vcxprojDonePost Generate Targettouchgfx update_project.cproject file: ../STM32CubeIDE/.cprojectWriting STM32CubeIDE project file: ../STM32CubeIDE/.projectWriting STM32CubeIDE project file: ../STM32CubeIDE/.cprojectDoneCompilemake -f simulator/gcc/Makefile -j8Reading ./application.configReading ./target.configLinking build/bin/simulator.exebuild/MINGW32_NT-6.2/gui/src/monitor_screen/MonitorView.o: In function `ZN11MonitorView15handleTickEventEv':C:\TouchGFXProjects\MyApplication_2\TouchGFX/gui/src/monitor_scree
Hello. I've placed this here as it's the closest location for LCD display information I can find.I've picked up an LCD display hoping to drive it and display some sensor information. The display is 400x1280 and 7.9 inches wide. It came with an HDMI to DSI converter board and this all works nicely but I'm lacking some basic information, I think. First, there are a lot of these things, as a unit, that require an HDMI input then convert to DSI. I'm not finding anything that allows feeding the LCD-DSI interface directly. I'll put the first two questions here:1. Why is the HDMI-DSI interface so prevalent? I understand the possible usage as a secondary display and the HDMI input makes that easy but my thinking is if I want to drive the DSI LCD directly, why would I want to feed it the HDMI signal instead of the DSI signals directly through an IC, a driver, or both?2. Are there DSI boards and drivers in any combination other than the few ST dev boards
Hi,STM32CubeIDE- 1.13.2TouchGFX - 4.24.0STM32F423ZHT6 evaluation board has lack of LTDC and DMA2D compare to other STM32F4 series. I want to turn on the LCD panel (NHD-2.8-240320AF-CSXP-FCTP-ND) and it display the white background. Can any one please guide me? How to do it.
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.