Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
In the TouchGFX program, there are Model, A_Screen, and B_Screen.It's working in A_Screen, and it's working in Model::tick()When I have time, I want to move the screen to B_Screen.To do this, I want to know what to do in Model::tick() to switch from A_Screen to B_Screen.If anyone knows how, ask me for advice.Thank you.
During development on stm32f469i_Discovery, LCD with ILI9806Eic was changed.There was a problem with LCD display after the change.Unicode::snprintf(Hour_TimeBuffer, 4, "%02d", mHour_Data);main_pageView::Hour_Time.invalidate();On this writing screen, write the changed value on the screen whenever the mHour_Data value is changed.When writing the changed value, something like an afterimage remains on the LCD screen.It's a problem that hasn't happened before, but it keeps happening after changing the LCD.LCD spec is set to Video mode and set to 60 frames. The same problem occurs when set to 40 frames.I don't know why this problem is happening.Is it related to the speed used to display data on the LCD and the number of LCD frames?True! After changing the LCD, the cycle of the Model::tick() function was changed. Previously, it worked every 17msec, but after changing the LCD, it was developed by 11.stm32f469i_Discovery and changed the LCD with ILI9806Eic.There was a problem with LCD display a
Hi, I have already a ioc file for my board. So I created an application template for Touchgfx Designer using it. But when I generated the code in Designer, I was getting an error about that ioc file couldn't be found. So I put the ioc file under the project file. Then I got an error about that uvprojx file couldn't be found. So, what are the needs to create a app template?
I have tested example projects on custom display by just changing the screen parameters in initialisation. But while creating a new project using TouchGFX I am unable to create the screens for custom display. Is there any guide on how to configure custom screen for TouchGFX instead of the inbuilt development boards?
Hello,can you upload a tutorial to setup the STM32F769I-DISCO Board with touchgfx support included in the stm32cubeide.I downloaded the newest Toolchain but it is still very hard/ impossible to create a clean working project.Ralf
Hello,I have multiple flexbutton and I'd like to change the border size of the button which is pressed only.In GFX interraction panel I could of course excecute C++ code like flexButtonName.setBorderSize(5); but I'd like to have it in a generic function, with a flexbutton pointer, like this :void Screen1ViewBase::flexButtonCallbackHandler(const touchgfx::AbstractButtonContainer& src) { if (&src == &flexButtonName) { //InteractionName Screen1View::changeBorderSize(&src); // } } // Screen1View.cpp changeBorderSize(const touchgfx::TextButtonStyle<touchgfx::BoxClickButton>& src) { src.setBorderSize(5); // I got build error: "incomplete type 'Screen1View' used in nested name specifier" }But I got an error "incomplete type 'Screen1View' used in nested name specifier", it seems that I failed my cast somewhere.Thanks
I made the animation run as TouchGFX Designer on the STM32F769I-DISCO board.When i click the animation, I want to do another action(change the screen)what should i do?It would be better if there were related links or samples.
Hi,I use the Nucleo-64 F411RE a lot. Has anyone ported the GFX01M1 display to the F4 Nucleo's board?I tried, following the TouchGFX documentation, but I found it too general and didn't get very far. I did the CubeMX part and got all the I/O sorted, but wasn't sure what to do next.Is ST going to add the other Nucleo-64 boards to the TouchGFX designer platforms?Th NUCLEO-G070RB is OK, but I use the Nucleos for realtime floating point stuff so I need an FPU and a bit more RAM.
Hello!I have a problem with my Swipe container. It is composed of three screens, and it works fine.Besides, I have another screen (Screen2) that is called by a hardware button.When I push the button again, I return from Screen2 to my swipe container, but (sometimes) one page (container#3) is empty! Can I reload the whole container?void Screen2View::handleKeyEvent(uint8_t key) { if(0 == key) { //Interaction1 //When hardware button 0 clicked change screen to Screen1 //Go to Screen1 with screen transition towards North HAL_Delay(1000); application().gotoScreen1ScreenCoverTransitionNorth(); } }Thank you and Best Regards!
..
Is it possible to create an UI template just like examples of TouchGFX Designer?
Hi,In my Project i have a Texture Mapper to rotate an image(Z axis) with respect to vertical drag. So whenever i get a Drag event interrupt, i am updating the Z axis with respect to the getDeltaY() Value. In PC Simulator i am getting getDeltaY() value linearly and Rotation is very smooth. But in actual hardware i am not getting getDeltaY() value linearly as similar to PC Simulator.I have attached an image that shows the drag value in simulator.Do i need to make any changes to the configuration to get the linear delta value on the hardware? Thanks and Regards,Bala
Hello! I try to make powersaving mode for my device. So i should power off all chips on my board. I use TouchGFX with external RAM and QSPI and CMSIS OS v2. How could I reinit TouchGFX? I posted my code below. All is working, when powerups, but after calling function EnterSleepMode()->WakeUp() display enables, but there is no image. What's wrong with it?void WakeUp(){ power_state = power_ON; TouchGFXTaskHandle = osThreadNew(StartTouchGFXTask, NULL, &TouchGFXTask_attributes);}void EnterSleepMode(){ power_state = power_SLEEP; POWER_TIM->Instance->CR1 &= ~TIM_CR1_CEN; PWMLCD_BLEN_STOP(); LTDC_LCD_POWEROFF; osThreadTerminate(TouchGFXTaskHandle); HAL_LTDC_DeInit(&hltdc); HAL_SDRAM_DeInit(&hsdram1); HAL_QSPI_DeInit(&hqspi); HAL_DMA2D_DeInit(&hdma2d); SleepGPIOConfig(); PS_POWER_3V3_1_OFF; PS_POWER_3V3_2_OFF;
Hi all,I'm developing a custom external loader to flash a QUADSPI memory as part of a TouchGFX project. I'm using an STM32F7 processor and developing using the STM32CubeIDE.I’m struggling with a specific issue that I’m hoping I’ll be able to get help with. Since I’m unable to observe the state of the processor while the external loader is being called from the ST-LINK Utility I’m planning on redirecting stdio to an unused USART to get run time information. When running in debug mode in the ST32CubeIDE this is working fine, but as soon as I switch to using the .stldr (generated from the same source) through the ST-LINK Utility the functionality goes away. A rundown of what I have done on this so far is below:I’ve proven that the Init() function is being called and is running by toggling some other GPIO and observing them. I’ve globally disabled interrupts in Debug mode to verify that interrupts are not needed for functionality of the UART in blocking mode. I’ve tested removing the stdio
I'm trying to figure out how to create a template. I made a simple project. Based on this link : https://support.touchgfx.com/docs/development/scenarios/scenarios-create-at The .json file was created. I fixed the name part, data version part, erased the other parts and set the Type to TGAT. Then .tfa was created. I moved it to app/packages. When I tried to create the template, I got the "Downloading Application template failed" error. I read the other questions about it but they couldn't help me. There is no designer log file by the way.
I am using a custom interface, the settings are below!
Hi, my problem is that when I use the dynamic graph, when it ends on the X axis, but unfortunately the X value increases How can I solve this problem and start the X axis again from scratch?
I need to make application of pressure measurement across time by using dynamic graph feature. The X axis is time from 0 - 10 s. But as times go by beyond 10s, I want the X axis label remain as 0...10s instead of incremented for every data point added i.e. addDataPoint(float newData)How to do this?
Iam looking for a howto to setup up the STM32F769I-DISCO board as a stm32cubeide project with cubemx with touchgfx integration.is there a howto?
Hey all -I really need one of the ST guys to weigh in on this question... I have been struggling with graphic performance on things that I THOUGHT should be simple and easy for a high power F746 core and TouchGFX, but I'm starting to wonder if my expectations weren't realistic.Reference: I first got serious about the expected power of the platform with the F469 Discovery board and the TouchGFX demo app where they had the set date wheels spin to a random date. The animation was smooth and the scroll wheels were pretty cool. If a simple demo app could do that with a high-resolution 480x800 pixel display, what could I make it do?!? Unfortunately, the ToughGFX is obscured from us so I really can't easily tell if I have unrealistic expectations or if I have some other issue with configuration or hardware. I don't really have the time to reverse engineer the assembly code as I'm using TouchGFX because it's supposed to SAVE me development time.So, I've implemented a f
I have developed a device able to measure acceleration, so I essentialy have a GUI with a "start", "stop" buttons and also a text buffer showing the result of the last measurement.When I press the start button, a measurment starts and it keeps going untill I press the stop button. However, I would now like to make repeated measurements as follows, without having to touch the screen myself:Press Start button for (i = 1, i < 31, i++) // Repeat 30 times { if ( collected_samples >= some_value ) Press Stop button else Keep collecting samples } I tried calling the EndCallback functions from main.c and altough I was succesful in stopping the measurement, the GUI Freezes (No HardFault or anyting like that). The GUI simply becomes irresponsive.Therefore, I was wondering if there is another way of interacting with the GUI without actually touching the display. For example, maybe each button is linked to a boolean value or some other variable that I can alter from
My application demo is very simpe.I'm started with Cube MX 6.2.0 and the last stm32H7 Hal library available.I'm started with eval kit configuration pinout and I work with the STM32H735IGK6 eval kit.I have created a very simple application TouchGFX Designer 4.16.1. This application work fine only if I set the linker file (here attacched) with the text and font in internal memory of MCU.The application don't work in I set the linker file with text and font in external flash. The external Flash is the OSPI macronix of PCB demo kit.The linkers and the Touchgfx project file is attacched renamed with .txt extension.If I add only a simple image at my project (and no text) and put that in extenal memory mapped, All work fine and I view the image correct in my first screen.The debugger, when I have the problem with text in external memory, go to MemManage_handler at instruction setLanguage(0) in touchgfx_init file.here the link for complete project:https://drive.google.com/drive/folders/1gx5kCO
Hello, when I use handleDragEvent and handleClickEvent, widgets such as buttons and sliders that need to be clicked and dragged no longer work. How can I solve this problem?
There is a Model::tick() timer function in TouchGFX.I wonder if it is possible to set the calling period of this function.In my program now it is repeated every 0.285msec. I want to change this to be called every 15msec, so please give me advice on where to look.
Hi,I have a screen that no other screen would transition to it with the help of interactions in the designer,I know I can transition to other screens with the help of this functionstatic_cast<FrontendApplication*>(Application::getInstance())->gotoKeyPadScreenScreenNoTransition();But, what if this transition is not generated with the interactions, How can I change to this KeyPadScreen from code?
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.