Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I have created STM32Cube IDE project from TouchGFX for STM32U575ZI-NUCLEO-AZ2 eval board.While I just created a custom screen showing image as a startup screen using TouchGFX for this eval board. And I have added below piece of code in default Task created:for(;;) { osDelay(1000); SyncUp(); } void SyncUp(void) { // VSync has occurred, increment TouchGFX engine vsync counter HAL::getInstance()->vSync(); // VSync has occurred, signal TouchGFX engine OSWrappers::signalVSync(); // Optional line //LCD_IO_SendDataDMA((uint8_t*)TFTframebuffer, DISPLAY_WIDTH * DISPLAY_HEIGHT * 2); } I was expecting that after calling signalVSync(), the image will be displayed. However, the board display did not have the image loaded and just shows blank white screen. I tried calling LCD_IO_SendDataDMA() as well but then the code got stuck into DMA transfer error.Can you let me know what is missing here? The simulator is able to show the start image as exoected. I can share the whol
Hello,In the Touch GFX Designer, I have taken the total of four screens. In the first screen, I have added a background image to it. Next I have taken a box and added some color to it.Then I have done same with the other three screens. I have taken box in each screen and filled different colors to the box after adding a background image to the Screen. I also added interactions to change the Screen by wiping and given directions to wipe the every Screen and finally tried to run the simulator, but only the first screen could be able to seen in the simulator and switching the screens is not getting in the simulator. Is it possible to change the Screens without adding of buttons? If so, How?
"I implemented SDRAM for LTDC to interface with TOUCHGFX and got this following errors. Did I make any mistakes? Can anyone help me?"
1) Using the definition I found here (Wolfram-Stadium).Would it be possible to add an option in the flex button to change into a flex-Stadium/button?I ask this because I saw multiple implementation of keyboards and most of them instantiate way to many object around the idea of a button (4 corners png , text, callbacks).2)(extra) I ask this because because you can't easily "stylise" a keyboard via Designer.It feels like it is easier to just program them manually at the screen setup (i.e.: Gaetan's T9KeyboardCustomWidget).1b) The only obvious thing that I see is to set a radius_pixel and that would limit the minimal size to not be smaller than a circle. Not sure if customizing the edge with a custom spline would make sense (easing function from the Academy videos).
Hello everyone, I had no internet connection in my computer, so I cant create a TouchGFX project with board. I had TouchGFX generetor in my STM32CubeIDE software packages manager. Do you guys know how can I create a project for my STM32H747I disco card without an internet connection or how can I download the STM32H747I board package and implement for TouchGFX.
I have a custom board with a STM32H747 micro on board, interfacing with a LCD driven by OTM8009A over the MIPI DSI interface. I have taken the driver code from the DISCO eval board which I used to design and build my board. On calling OTM8009A_Init(), the first four write reg calls run fine - entering in command 2 mode and set EXTC to enable address shift function and entering ORISE command 2 and shifting the address to 0x80 - however, every write command after that fails with a timeout. The timeout appears to be generated by the command FIFO being full and not clearing.Firstly, how likely is this to be down to a hardware error with the board itself?Secondly, if it is more likely down to the hardware configuration in the micro, what should be the first thing to investigate? I have copied the CubeMX setup from the eval board demo that I had running.Finally, what's the best way to debug the physical communications between the micro and screen on the DSI lines? What should I be looking fo
I am accessing TouchGFX resources from the below link:https://support.touchgfx.com/docs/resources/presentationsFor a few topics, I do not see any video links:https://support.touchgfx.com/docs/resources/presentations#abstraction-layer-development---advanced-topicshttps://support.touchgfx.com/docs/resources/presentations#ui-development---backend-communicationhttps://support.touchgfx.com/docs/resources/presentations#touchgfx-hands-on-workshopsIs it possible to have videos for the above topics available? It will be a great help!
Hi,On using svg's on an U5f9, i try to activate the hardware acceleration but this demands to much free memory of my project. the nema buffer create pool function demands 614K of memory, independent of the MEM_POOL_SIZE or the STENCIL_POOL_SIZE. is there a way to lower this usage or is it connected to the display resolution (614K is exactly half of my framebuffersize) Thanks in advance
Hello,I am trying to dynamically change button frame colourIn trivial case there are premade presets as medium_outline_disabled.png (blue frame) and medium_outline_action.png (yellow frame)I am trying to get the same behaviour for preset small_rounded_inactive.png (blue frame) and change the frame colour to yellow.In order to do so I am using dynamic bitmaps and my plan was to change the pixel colours as in the given presets.I am using the example from https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/dynamic-bitmapsbut currently the functionbmpId = Bitmap::dynamicBitmapCreate(width, height, Bitmap::ARGB8888);returns bmpId == BITMAP_INVALID1. Why do I get this failure and how can I fix it?2. Is there a better way to get create custom bitmaps (in this case for buttons)?Thank you!
Hi there Touchgfx team!I have this UI requirement to pop up a progress bar after the "read" button is clicked The progress bar will appear and go from 0 to 100 in 10 seconds. What I would like to do is that after the "read" button is clicked, I want to wait 10 seconds before continuing with the rest of the code. I tried a while but it crashes the UI. Here's my code: void calibrateView::read_calibration_step_flex_button_is_clicked() { if (test_selected == QGA) { /* 1. send calibration read step to backend to get the value, This step can be triggered several times*/ int calibration_rlu_atp1_value = presenter->notify_backend_read_calibration_step(); // start_rlu_progress_bar_animation = true; customProgressBar.setVisible(true); customProgressBar.invalidate(); start_rlu_progress_bar_animation = true; this is where I want to wait the 10 seconds Unicode::UnicodeChar tempBuffer[20]; Unicode::snprintf(tempBuffer, 20, "%d", calibration_rlu_atp1_value); update_te
Hi, I am implementing a screen with particular number of flex buttons. The buttons are generated by my code and number of buttons change depending on some other variables. So far, I can create those flex buttons by code and see and touch them on the display. They change color when I touch them, so that I realise that buttons are functional. But of course, nothing happens when I touch them, because there are no callback functions. And I couldn't find a way how to implement callback function/functions for them. Here is a part of my code, showing how I create those buttons: for (uint8_t i=1; i<=numberoflines; i++) { Buttons[i].setBoxWithBorderPosition(0, 0, 337, 30); Buttons[i].setBorderSize(0); Buttons[i].setBoxWithBorderColors(touchgfx::Color::getColorFromRGB(0, 0, 0), touchgfx::Color::getColorFromRGB(150, 150, 150), touchgfx::Color::getColorFromRGB(80, 80, 80), touchgfx::Color::getColorFromRGB(150, 150, 150)); Buttons[i].setPosition(2, (i*30+5), 337, 30); Buttons[i].invalidate
Hi there Touchgfx team!I need to trigger a modal in 15 different screens, like this: I had a similar question on another post, and the solution works if I use buttons, but not if I send the notification from the model, which is what I need.The post is: https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/how-to-trigger-modal-in-all-screens-from-the-model/td-p/735616 If I use a button like this the resulting screen is the one above. If I create an interaction on the screen, that when called changes the screen to the modal, this is what happens: What I need is to call the interaction from the model, not to use a button. But the result is different than expected. Thanks a lot in advance!
Hi,I have a custom board project which I have been running for over a year and im looking to add some features to the layout. The screen is a 240x320 layout and the MCU is a STM32H757. I am running touch GFX 4.20 and it will be difficult for me to upgrade from this due to the ties within the cubide and code base.Im looking to add a page with multiple test boxes,as i need to update sensor readings to the screen. Originally i built this in custom containers as i would normally, but it kept crashing on creating on the new page. So i have worked back making the page more and more simple untill i found a threashold of it occuring when i have 38 default text boxes on the screen (see pic), the text boxes have no buffers allocated to them and this is on a fresh screen so no functions or code running.if i lower the number of text boxes to 34 its fine.is this a limitation of 4.20 ?I've tried increasing the canvas buffer and rtos heap and task memory but nothing resolves this crash (HardFault exc
I am trying to use the ChromART accelerator foor my touchgfx project hacing the display on the SPI line.However, while I am enabling the TouchGFX, I also wanted to enable the use of ChromART DMA for a grescale display. But the, the STMCubeMX does not allow me to enable the ChromART if I select "BW" or "Gray 2" or "Gray 4" pxel format. Kinldy suggest.
Hi there Touchgfx team! I have this UI requirement of a line with a drop shadow: In Figma the line has 3 pixels. I found another post to do it with the alpha value but it doesn't feel the same. I'm using a line with a width of 3. Any ideas? Thanks a lot in advance
Hi there Touchgfx team!I've this ui requirement: A header with battery, date/time, battery, and extra icon. I also have 15 different screens. The model receives a signal from the backend and thats how it knows that it needs to show the USB icon. I know how to do a notify from model -> view, and I know I could do this for the 15 different screens. The problem I'm facing is that the USB icon needs to appear in the other screens if the user goes to a different screen. I know I could also setup a flag in the model and get the vale in the setupScreen() My question is: is there an easier way to do this? I would like to avoid creating 15 different propagation functions for the USB, and other 15 for the other icon. I was thinking about creating a custom container and updating it from the model just once, and somehow all the views with the container will update. I have the same question for the "date/time" text. At this moment, each view has a function that calls the
I am trying to create a project in Touchgfx designer 4.24.1 for STM32F469I-DISCO board but I always get "combination of board and Blank UI failed". I also tried with other boards without success. I am using fresh installed windows 10. I also tried to uninstall and install back again Touchgfx. Bellow is my log file from appdata/roaming... 2024-10-21 20:25:26,331 [1] INFO TouchGFXDesigner.Main.MainWindow: Current culture time seperator: : 2024-10-21 20:25:26,331 [1] INFO TouchGFXDesigner.Main.MainWindow: Current culture date seperator: / 2024-10-21 20:25:26,333 [1] INFO TouchGFXDesigner.Main.MainWindow: Installed .NET version(s): v4 (Client 4.8.09037 Full 4.8.09037 ) v4.0 (Client 4.0.0.0 ) 2024-10-21 20:27:30,828 [11] INFO TouchGFXPackages.Implementation.FileDownloader: Take operation was canceled. IsCancellationRequested=True 2024-10-21 20:27:30,842 [1] INFO TouchGFXDesigner.Main.MainWindow: Application closed 2024-10-28 16:44:42,753 [1] INFO TouchGFXDesigner.App: Logging configur
Dear all!I 'm handle a project using ST7735 with flatform is TouchGFX, in Set2 is ADC value from POT( from -85 to -55) i debug and monitor on Keil C, the value is correct, When i display it to Screen the value is "-?5", i don't how to fix it, please share me why and how to fix.
Hi there Touchgfx team! I have about 15 different screens. I also have a modal that says "battery critical level". I know how to propagate a notification from the model to the view to trigger this modal. My question is: is there an easy way to do this for 15 different screens? or everytime I need to override the notification function in each screen? Thanks a lot in advance
Hello, I was hoping for some help on which way to use a keyboard on TouchGFX. It will be the same keyboard from the example provided by TouchGFX. My application has multiple screens (10-12) where it uses a keyboard. Would it be more efficient memory/gpu wise tooverlay a keyboard on every screen and use setVisible true/false for when user wants keyboard openedcreate one screen for the keyboard and whenever the user wants to use the keyboard it goes to that screenI was a bit confused because I know it takes resources for the screen to draw the keyboard images and the mappings, so I thought using one screen would be more efficient. But, TouchGFX loses the state and destroys the screen that it leaves, meaning using one screen would be constant redraws, not to mention carrying over state and managing buffers so the keyboard can send data back to the screen where user came fromIs there a "norm" when it comes to using keyboard on TouchGFX?
I can't download TGFX Designer 4.24.0. I select it from the drop-down list, confirm the license agreement. Instead of downloading the archive redirects to the page. If you select other versions, the archive is downloaded
Posted on August 13, 2015 at 18:42Hi,I'm trying to use an ov7675 0.3Mb with the STM32F4209.The main goal is to stream the data through WiFi, using the module AMW006 from ACK.What I'm wondering is to use a specific IC to do the compression to JPEG or try to do it on the SMT32F4. I will like to do streaming up to 30FPS, in my opinion it will not be able to do the compression the SMT32F4, is too much data (147Mb/s). The JPEG compression that I will like to do is 1:26. The resulting image if my numbers are not wrong is going to be VGA*FPS*JPEG*bits per pixel=(640*480)*30/26*16=6Mb.What are your feelings? Is it going to be possible to do the compression on board?If not, can anyone recommend me a video encoder able to do compression? Also, another option that it comes to my mind is to use a camera module with JPEG compression, like OV3640. The only think is that I don't know how much compression does. Really hard to find documentation! Anyone know?Also, not sure about the maximum pixel
hello people..actually i want to display a string..i did in this waychar buff[10]="hello";Unicode::snprintf(buffer,10,"%s",buff);but am not getting anything.....in the prinf the buffer is i had the textarea from touchgfx that buffer am taking here...can you sortout my issuethank you...
Hello Community,I have few "Buttons with Labels" within a scroll list where I am able to scroll within the scroll list using a hardware button and animateToItem function.What I would also like to do is to show which Button with label is active.Is there any way a hardware button can be linked with a Button with Label.Thank you in advance.
Hi there TouchGFX team! I need to do a fade out animation when changing from my welcome screen to my home screen, but I can only see 4 options on TouchGFX designer. I suppose I need to change the alpha value, but there's several widgets on each screen, so I'm not sure updating each one of those alpha values is the best approach. How can I implement it? Thanks a lot in advance
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.