Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Can TouchGFX devs please create a widget that will let you plot multiple data sets on the same graph? It would be a really useful feature, I had a go at creating my own and I found it incredibly difficult to develop as it requires a significant knowledge of the internals of TouchGFX to perform.
Hi,following my previous post (Thanks alot!):https://community.st.com/s/question/0D53W000014VujASAS/rectangle-frame-widget?t=1631603862714I decided to try and create a custom widget.I'm struggling with setting part of the widget to be transparent.More precisely, it is transparent, but for some reason shows the previous screen in the transparent area.This is my first screen:and this is my second screen: as can be seen, the my custom widget is the frame in the top left corner underneath the status bar.void RectFrame::draw(const touchgfx::Rect& invalidatedArea) const { touchgfx::Rect absolute = getAbsoluteRect(); uint16_t* framebuffer = touchgfx::HAL::getInstance()->lockFrameBuffer(); int left_edge = invalidatedArea.x; int up_edge = invalidatedArea.y; int bottom_edge = invalidatedArea.bottom(); int right_edge = invalidatedArea.right(); for (int y = invalidatedArea.y; y < bottom_edge; y++) { for (int x = invalidatedArea.x; x < right_edge; x++)
Hi guys,I developped an external loader that allow to write/read all pictures into/from my external QSPI memory. This external loader works good with stm32CubeIde but it doesn't work with stm32CubeProgrammer.Whien I'm programming the microcontroller with IDE, the loader transfer the new graphic contents on the external memory without any error and the entire project works correctly.In CubeProgrammer, I selected my custom Loader:and the hex file compiled by Stm32CubeIDE.When I press "start programming" i get the follwing error:Must I change some parameter into stm32Cubeide for generated "*.hex" file?When you use ExternalLoader, What's the difference between CubeIDE and CubeProgrammer?The scope is to load Into the CubeProgammer a single completed file to program the microcontroller Application and the Graphic resources with only one step and one programmer.Making some test I was thinking that I need to export two different "*.BIN" files from the project: How can I program both of them wi
I'd like to use the Portenta H7 to drive a display over the USB C DisplayPort interface.The example provided in the Arduino library uses RGB565 for the input image, and looking at the associated code (specifically stm32_LCD_DrawImage() in anx7625.cpp), I see that the output mode is also hardcoded to RGB565. However looking at the STM32H7 HAL User Manual it would appear that RBG888 (and some other modes) are also available.Is it possible to drive the display at RGB888 with the Portenta? This is for an art project, so full color depth is important. If I can make this work, then the Portenta becomes a great platform for generative animations and other artworks that can be simply plugged in to a USB-C DisplayPort capable monitor or projector and run without the fuss of a 'full computer'!
Hi,I'm working on a project that has to support highlighting "focused" components with a frame around them.The buttons have images, so I need the "inside" of the frame to be transparent.BoxWithBorder doesn't suit my needs, as I can't set the inside to be transparent and the border not to be (right?)Is there a recommended way to do this without creating a widget from scratch?Thank you!
Hi, I'm using stm32h747-disco and touchgfx. But I am getting the error in the screenshot. I will be glad if you help me.
I used cubemx to configure the DMA2D,LDTC ,DSIHOST, GFXMMU,and FreeRTOS. I have two threads configured as follows const osThreadAttr_t Logic_ProcessTask_attributes = { .name = "Logic_ProcessTask", .priority = (osPriority_t) osPriorityBelowNormal, .stack_size = 1024 * 1};const osThreadAttr_t GuiTask_attributes = { .name = "GuiTask", .priority = (osPriority_t) osPriorityNormal, .stack_size = 4096 * 4};void StartGuiTask(void *argument){ MX_TouchGFX_Process(); for(;;) { osDelay(1); }}The logical tasks are as follows:void Logic_ProcessTask(void *argument){ static unsigned int msCount = 0; /* Infinite loop */ for(;;) { msCount++; if(msCount % 100 == 0) { HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin); //Toggel LED } osDelay(1); }} The content of the gui task is to display the time, which is generated by TouchGFX Designer。When I don’t create the Logic_ProcessTask, the StartGuiTask is working OK。 but When I
The aim is to capture standard definition PAL video externally, present it as a BT656 parallel input to the STM32's camera port, and then produce a UVC compatible compressed output to another platform over USB or Ethernet. any suggestions or feedback would be appreciated! By the way if this is the wrong forum for such a question I apologise, as this is my first post here :)
Hello, i'm looking to configure an sdram on a STM32F429ZIITx MCU, for graphical applications, but i don't know how to code it in the proper way, from the .ioc file the configuration is fine; but from the code for example, i don't know how to specify the size of the sdram in the code and to make it show on the Build Analyzer memory region section.If you have an application note to refer to it would be great.ThankYou
Hi,I use some shapes in my screen view which makes the screen view class code size up to 15KB, how to cut down the code size? Can I new the object when the view is created? Will it work ?Thanks!
2021-08-17 09:46:33,673 [1] INFO TouchGFXDesigner.App: Logging configured2021-08-17 09:46:55,655 [1] INFO TouchGFXDesigner.Main.MainWindow: Application started2021-08-17 09:46:55,656 [1] INFO TouchGFXDesigner.Main.MainWindow: Username: nodemis2021-08-17 09:46:55,656 [1] INFO TouchGFXDesigner.Main.MainWindow: Designer version: 4.17.02021-08-17 09:46:55,656 [1] INFO TouchGFXDesigner.Main.MainWindow: Designer installation path: E:\TouchGFX\4.17.0\designer2021-08-17 09:46:55,656 [1] INFO TouchGFXDesigner.Main.MainWindow: Windows version: Microsoft Windows NT 6.1.7601 Service Pack 12021-08-17 09:46:55,656 [1] INFO TouchGFXDesigner.Main.MainWindow: Current culture: tr-TR2021-08-17 09:46:55,671 [1] INFO TouchGFXDesigner.Main.MainWindow: Current culture time seperator: :2021-08-17 09:46:55,671 [1] INFO TouchGFXDesigner.Main.MainWindow: Current culture date seperator: .2021-08-17 09:46:55,720 [1] INFO TouchGFXDesigner.Main.MainWindow: Installed
HiThe new dynamic graph widget is great, but is there a setting / different graph widget that will allow me to plot data based on a set of coordinate points (x and y)?For example, with the dynamic graph widget there is an addDataPoint(y) method. Is there a similar method for plotting data that doesn't have fixed x coordinate intervals?Thanks
Hi, In my project, the MCU is STM32F429ZE and RGB565 is selected. I found that different image format perform different performance. If all the images was set to RGB565, the framerate is lower than ARGB888. I don't know why? Maybe the former needs extra hardware transform? So which is better for me? The second question is that: SDRAM is used to cache images and fonts, before touchgfx_init(), I copy all the images and fonts to SDRAM from NAND flash, so will the framerate improved if I set cache for images of current use form SDRAM to SDRAM of cache address ? Thanks!
Compiling ASM STM32CubeIDE/CM7/Application/User/Startup/startup_stm32h747xihx.s process_begin: CreateProcess(C:\TouchGFX\4.17.0\env\MinGW\msys\1.0\bin\sh.exe, C:/TouchGFX/4.17.0/env/MinGW/msys/1.0/bin/sh.exe -c "# @echo CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/gui/src/game2d_screen/Game2DView.o ................................................. CM7/TouchGFX/build/STM32H747I_DISCO/Common/Src/system_stm32h7xx_dualcore_boot_cm4_cm7.o", ...) failed. make (e=87): �?�数错误。:parameter error… make[3]: *** [CM7/TouchGFX/build/bin/target.elf] Error 87 make[2]: *** [generate_assets] Error 2 Failed make[1]: *** [all] Error 2 make: *** [flash] Error 2 gcc/makefile_cm7:363: recipe for target 'generate_assets' failed make[2]: Leaving direct
..
Hello,I am trying to setup a IAR 8 project using TouchGFX Designer 4.17.0When I open the generated project in IAR Workbench, it fails to build.What I do:Create a new project in TouchGFX Designer using STM32H7B3I Evaluation templateGenerate codeOpen the generated STM Cube project (.ioc file) in STM32CubeMXSelect EWARM as toolchain / IDE in STM32CubeMXGenerate codeOpen project (IAR Workbench)Project->Build all in IAR WorkbenchThen I get a lot of compile errorsWhen I run the code on the board using "Run Target" in TouchGFX Designer, the code runs fine (and no build errors or warnings).Versions:TouchGFX Designer: 4.17.0STM32CubeMx: 6.3.0IAR Workbench: 8.50.9Board: STM32H7B3I-EVALAre there issues with TouchGFX Designer 4.17.0, or am I doing something wrong?Regards, Jan
Hello there , Now iam developing an app on STM32F429ZI DISCOVERY BOARD ,, where I get mouse and keyboard input .Every thing is working well until I use touchgfx GUI ,my app cannot set the right input device class ,I wrote the same app using freertos without GUI and working well with another tasks , so I can manage priorities well .And I noticed that VBUS activator pin (PC4) , is not stable , I tried it as analog input and it gives me completely wrong values and again it works well and give right values without touchgfx .Any one know what is the solution for this problem ? Thanks in advance .
Hi all: I'm using TextureMapper now if i used BILINEAR_INTERPOLATION will crash.There is no problem if you use NEAREST NEIGHBOR.As shown in the picture below:
An example would be having a pixel color of #0000FF(R = 0, G = 0, B = 255) in TouchGFX designer to be displayed on the physical lcd screen as #FF0000 (R = 255, G = 0, B = 0). I have tried the methods below:Modifying the image conversion process such that red and blue pixel data in the resultant C++ files are swapped. I am assuming that $(touchgfx_path)/framework/tools/imageconvert/build/win/imageconvert.out does this conversion. Is there an option to make imagecovert.out perform some operations and generate C++ files in the RGB/BGR format just like the way LCD-Image-Converter-20161012(as recommended AN4861) tool does it in the matrix? Refer to the differences between the images - BGR.png and RGB.png attached.Editing the DMA2D registers in STM32H7DMA.cpp. I have tried this method with limited success. Some images are not converted and some texts are partially converted.Please let me know I am doing something wrong or if there are any methods to perform the red blue swap. Thanks!
I am using TouchGfx 4.17 together with stm32cubeide 1.7.0.Right at the moment I'm trying out all the TouchGfx tutorials.I really like all the word- and code completion-, content assist. and parameter hints features of stm32cubeIDE, but it seems that none of these features work in a TouchGfx-Designer-generated project any more.I can't find the right setting in stm32CubeIDE for enabling those features; it seems that they are already enabled but somehow refuse to work.So, what settings in stm32cubeIDE should I change so that all the nice features that work perfectly with the HAL library also work with TouchGfx?
Hi all, This is my configuration: STM32F779NIHX motherboard with HDMI Interface, SD card TOUCHGFX 4.16.1 STM32CubeIDE 1.6.0 RTOS V1 Everything works well, and now I want to make a screenshot (JPEG format) every 500ms or 1sec and save on the SD card. Someone already worked, can you share your source code? thank you and best regards.
I know TouchGFX provide a template for keyboard, but the layout is far from what I need. What I need is something like our typical numeric keypad in our standard PC keyboard ( the one on right hand side).When I take a look the sample code, it seems not trivial, there are 3 cpp/hpp files that I can see. Can someone give me pointer how to proceed? If there is a ready sample would be great, if not please advice me which files need to be modified. Or maybe I can break down my questions:Which files to modify to change the keyboard layout into numeric keypad?Which pad need to modify to change the keyboard text screen depending on which button triggering the keyboard?I recommend ST make a sample demo for this as this is very typical usage and there would be many developers looking for it
Hello everyone,UPDATE: The package server should now be back to normal. Let me know if you're having issues.We are facing an issue related to the TouchGFX Package server. The URL currently in use by the designer is broken. The temprary fix is to make the following changes to the Designer exe.config to have access to all the packages.There will be no images available (since they are retrieved from the broken URL).e.g. D:\TouchGFX\4.16.0\designer\TouchGFXDesigner-4.16.0.exe.config<setting name="PackagesUrl" serializeAs="String"><value>http://sw-center-st-com.s3-eu-west-1.amazonaws.com/touchgfx/pacman/packages.json.zip</value></setting>Sorry for the inconvenience! Working as hard as we can to get it back to normal./Martin
Thank you for helping.At the event of pressing the button of the view classIs there a way to find out the touched X, Y coordinates?Thank you.
I have a project that requires advanced text placement that comes from the backend. In other words, they aren't predefined texts and need control of font, alignment and text direction. I am using the wildcards to separate the text from placement but is there a way to go further? So far all I could come up with is defining multiple predefined TypedText items and switching accordingly. If I have multiple font sizes there would be many of these. I'm not happy with it. i.e.TT1 {Font 1, Center, LtoR}TT2 {Font 1, Left, LtoR}TT3 {Font 1, Right, LtoR}TT4 {Font 2, Center, LtoR}TT5 {Font 2, Left, LtoR}TT6 {Font 2, Right, LtoR}etc. Maybe there is a misunderstanding on my part. Is it possible to create a TypedText item dynamically?
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.