Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
..
I know how to ooverride a virtual function of a button callback for example. I would like to override the virtual method handleDragEvent. I have a mainScreen that contains SwipeContainer. How do I override virtual function of a swipeContainer. Where (in what file) shoud i do it and how?
MCU: STM32H7B3IIT6 Custom BoardGUI: TouchGFX Version: 4.18.1IDE: STM32CubeIDE Version: 1.8.0CPU Clock: 280MHzPeripherals & Timers Clock: 140MHzI created a new project, but there is a delay in screen interactions. I summarized the situation in the video below. Anyone have an idea about this? Why could it be.
I m stunding TouchGFX with X-Nucleo-GFX01M1 with an example provided by STm.In a ScreenView.cpp I can see the following code (Im will copy only one part).void Screen1View::handleKeyEvent(uint8_t key) { if (animationState != ANIMATION_READY || menuAnimationState != MENU_ANIMATION_READY) { return; } if (key == '6') { // Right menuSelectRight();where menuSelectRight isvoid Screen1View::menuSelectRight() { menuAnimationState = MENU_ANIMATION_STEP_0; menuAnimationTickCounter = 0; menuAnimationDirectionLeft = false; }menuAnimationState is just a enum and menuAnimationDirectionLeft is a boolean.Can someone expalain where is the function to trig to go in the anohter Screen?What I found is application().gotoLI found only I found only application().gotoSCREENNAMENoTransition();It is in Screen1View subclass of Screen1ViewBase whitch call FrontendApplication subclass of FrontendApplicationBaseSo I modify the paramter of the class Screen1View that it will read, a
Failed to copy file:C:\TouchGFXProjects\P51NG\CM7\TouchGFX\assets\images\gauge01_needle.png to C:\TouchGFXProjects\P51NG\CM7\TouchGFX\assets\imagessee log for more information
We require on one file all images used in gui and address map file for locate images.Is this possible with simulator TouchGFX project?
Dear allWhen I generated example of GFX designer, unexpected error has happend.TouchGFX Designer-4.18.1 stopped at 88%I already tried to uninstall and reinstall but without success. And the TouchGFXDesigner.log as follows.2022-02-09 13:12:13,354 [1] INFO TouchGFXDesigner.App: Logging configured 2022-02-09 13:12:20,826 [1] INFO TouchGFXDesigner.Main.MainWindow: Application started 2022-02-09 13:12:20,827 [1] INFO TouchGFXDesigner.Main.MainWindow: Username: rlove 2022-02-09 13:12:20,827 [1] INFO TouchGFXDesigner.Main.MainWindow: Designer version: 4.18.1 2022-02-09 13:12:20,828 [1] INFO TouchGFXDesigner.Main.MainWindow: Designer installation path: D:\TouchGFX\4.18.1\designer 2022-02-09 13:12:20,828 [1] INFO TouchGFXDesigner.Main.MainWindow: Windows version: Microsoft Windows NT 10.0.19044.0 2022-02-09 13:12:20,828 [1] INFO TouchGFXDesigner.Main.MainWindow: Current culture: ko-KR 2022-02-09 13:12:20,832 [1] INFO TouchGFXDesigner.Main.MainWindow: Current culture time seperator: : 2022
Hi,I'm a french embedded developer.I'm working with a STM32F429 custom board with a LCD screen, a 64Mbits SDRAM (IS42S16400J), and STemWin v5.32 library. I'm using STM32cubeIDE 1.7.0.I start from scratch.The LCD screen is a PH320240T-023-I02Q, based on ILI9341, i think. In CubeIde, I use FMC, LTCD and DMA2D for the LCD.After a few days and some headache:the SDRAM works, used by LCD as display bufferno display on the LCDI know this board works, because I have the binary file of the old project.I need to make some modification, but the source files of the old project can't be used.I just want to have some text on the LCD, using GUI_DispStringHCenterAt.If i understand, LCD_X_DisplayDriver is called by the display driver for several purposes.In this function, case LCD_X_SHOWBUFFER: layer_prop[LayerIndex].pending_buffer = ((LCD_X_SHOWBUFFER_INFO *)pData)->Index; break;I think It's used to refresh the display buffer.But, using break point, LCD_X_SH
Hello,I want to print Korean in <value> of wild cardThe encoding used in CubeIDE is attached as a picture file.The touchGFX version we use is 4.16.The initial value entered in wildcard is normally output as "정지".(textArea and Typographies images are attached.)"Unicode::snprintf(textMasterAirflowBuffer, TEXTMASTERAIRFLOW_SIZE, "STOP");" -> "STOP" is output.Unicode::snprintf(textMasterAirflowBuffer, TEXTMASTERAIRFLOW_SIZE, "정지"); -> Fallback Character is output.Unicode::snprintf(textMasterAirflowBuffer, TEXTMASTERAIRFLOW_SIZE, "%s", "정지"); -> Fallback Character is output.How can I get Korea to be printed on the LCD normally?Best regards,
Hi!Since upgrading to TouchGFX 4.17, a box with an Alpha value does not work anymore. It just paints like as an opaque box, but not like a (semi-)transparent box.Thus I tried to create my own widget that draws a rectangle with the following code:HAL::getInstance()->lcd().fillRect(invalidatedAreaAbsolute, color, alpha);But when alpha > 0, the rectangle is NOT (semi-)transparent, but opaque.How can I get the alpha working with TouchGFX 4.17?KR, Klemens
Hi,I build a custom bootloader.Trying to load app on FreeRTOS and TouchGfxMCU - STM32H7BITThe MCU has 2 FLASH banks:0x08000000 - 1024k0x08100000 - 1024kgcc-arm-none-eabi toolchain.openocd for loading and debuging.The app works fine when loaded at 0x08000000. FLASH origin.Next...Begin Option 1:-------------------------------------------------- --------------------------------------------------The application works after loading from the bootloader if stored at 0x08100000.I do in bootloader:void Bootloader_JumpToApplication (void){ HAL_RCC_DeInit(); HAL_DeInit(); /* Disable SysTick */ SysTick->CTRL = 0; SysTick->LOAD = 0; SysTick->VAL = 0; __asm("B 0x0812E700"); // Address obtained from *.map file
Had to redesign my STM32F769 design take the STM32H747 (silicon supply issues). So I cloned the H747_DISCO pin for pin with the exception that I've no external Flash. I then built a TouchGFX test app based on the H747_DISCO, removed the QSPI need in the linker (pointed the QSPI to the internal Flash), burned it to a real _DISCO and all is good. Burnt it to my clone and I have video issues. Swap the displays and the error stays with the clone electronics. Both the _DISCO and the clone have the M4 cpu disabled. The M7 cores on both platforms run all day long, pass DDR memory tests happily. Have spent the past 3 days going over the schematics, the MX config etc, etc. but now at the point of asking for help. Can anyone point me in a direction as to what this could be?
Hello,I'd like to export a custom container from a GFX project to an other GFX project.What's the proper way ?Thanks.
I´m usiing TouchGFX with X-Nucleo GFX01M1Being a beginner I would as a first step to change the screen with the joystick on the board.Checking an example I notiiced that the Action is set as:and the interacion is set as with Run Simulation i could manage with the keyboard of the pc, pressing the numbers ( 4 to go left, 6 to go right, etc). Idem when i flash the example to the board i can use the joystick.I have tried to do the same, coping the settings of the previos example and it does not work.iI fact, can see where i should set the button to do a specific command. Checking a second example. the interaction setting is different.... there is no action and the interaction is completly different.I had not generated any code, so I woder if the examples are running with the code in background and mine still need a code or my setting is worng. Thanks in advanceFausto
I am working with a project in TouchGFX Designer/Generator 4.17 and STM32CubeIDE 1.7.0, which uses the LTDC interrupt from the display to drive the main display loop. The display is configured according to the manufacturer's specifications, and TouchGFX generator generates code to enable the VSYNC interrupt, which calls OSWrappers::signalVSync() to unblock the main loop. Adding a counter to signalVSync() and examining its value after an elapsed time indicates that the VSYNC interrupt, HAL_LTDC_IRQHandler(), is occurring at a rate of approximately 170 times per second and that signalVSync() is being called at half that rate, or 85 times per second:unsigned int signalCount = 0;void OSWrappers::signalVSync(){ signalCount++; osMessageQueuePut(vsync_queue, &dummy, 0, 0);}When rendering is done, a corresponding TouchGFX-generated call is made to OSWrappers::waitForVSync() to indicate that rendering is complete. A similar analysis shows that waitForVSync() is al
Hi, for a few days I have been trying to run the OV7670 camera on the STM32F446RE (Nucleo), but the image it gets does not resemble what the camera is looking at, I have checked the connections many times, but I have not found any problem there, maybe someone of you had a similar problem to mine . I found the configuration of the camera registers on the network, but it did not improve the situation, my own register settings did not work either. Initially, I thought that the fault might be on the display side, but as you can see, the test image is displayed correctly. I use DCMI with DMA connection in DCMI_MODE_SNAPSHOT mode and then throw buffer from RAM to display.
Can somebody send me a template application which contains BSP (Not STemWin) definitions for using LCD display? I just would like to show very basic progress bar, text.Then can anybody tell me how can I rename a project?Many thanks for your help.Louis
Hello EveryoneI am trying to use STemWin with STM32CubeIDE, but facing a lot of problems.I have STM32F769I Discovery Board with me, and I have downloaded the CubeF7 package which already has few examples related to STemWin, I took the simple example of HelloWorld available as "STemWin_HelloWorld" in the CubeF7 Package.It works fine, but I am facing two issues.First When I am debugging using single stepping, I don't see anything on display.Second, I modified the software little bit to display another string on display with some delay and the string after delay which I wanted to display is not displaying on the screen.The following is the program without delay i.e. GUI_Delay and it works if I program and don't do single step debugging.void MainTask(void) { GUI_Clear(); GUI_SetFont(&GUI_Font32_1); GUI_DispString("Hello World from STM32F7\r\n"); GUI_DispStringAt("Hello world!", (LCD_GetXSize()-100)/2, (LCD_GetYSize()-20)/2); while(1); }But when I updated the above program by addi
When i use simulator and change screen I want to have a sliding transition from one screen to another. I managed to do this in Simulator, but when I try it on actual display the screen change happens without transition or so fast that it is not visible.Please help
I created a project using the STM32F429I-DISC1 Discovery board. I have spent a couple of days figuring out how TouchGFX integrates with STM32CubeIDE. I am able to create the widgets I need for a project I am goiing to develop. Everything works fine in my test project.I started the real project today with TouchGFX and used the Discovery Board as a starting point. The new project was created in a new folder. I placed a couple of buttons on the screen as a test. I renamed the generated IOC file, opened it with STM32CubeIDE, and generated the code. When it finished generating the code a box popped up and I clicked "Open Project". I then get this strange message:Verbatim:A project 'STM32F429I-DISCIO' already exist into the workspace:This: C:\TouchGFXProjects\ButtonsLEDs\STM32CubeIDETheir: C:\TouchGFXProjects\Project2\MultiScreen\STM32CubeIDEWould you like to remove it and import the new version?I answered No and the project did not open. So I started over and answered Yes. The project opene
HelloI want to know how to make The STM32L476VGTx can use GUIBuilder to design a custom GUI to display on an LCD screen.I want to know if it is possible or not. or is there any way(Actually my project is a ST25R3916 board that uses an STM32L476VGTx MCU and has an LCD screen.)thank you.
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.