Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Has anyone some sample-projects to integrate these 2 hardware?I'd need the detailed procedure to use the display with this board.Thanks in advance.
TouchGFX 4.22.0 is now out. Please follow this link to download it.Release details : Release date: June 19th, 2023 New TouchGFX Designer Features: Added ability to specify L8 compression for images. Added direct user communication. Improved proxy authentication management. Added description tooltips to the different image formats. Containers can now be marked as cachable from inside TouchGFX Designer. Drag and drop SVG images to TouchGFX Designer now creates an SVG image widget. Added the ability to cancel "Generate Code", "Run Simulator" and "Run Target" commands. The MJPEG software converter is now included when video is enabled in additional features. Right-clicking a widget in the canvas tree view when having multiple widgets selected now affects all selected widgets. The context menu inside the image tab is now identical between the tree view and the image table. When deleting multiple text groups inside the text tab, the prompt now asks for confirmation for all sel
Hi!Today, when i opened my TouchGFX 4.22.0, I found this strange banner.When I clicked on the link to the documentation page, the web browser opened to https://support.touchgfx.com/4.23 Is it happening at someone else?In attaching the image of the banner
Hey I am using one scroll list without any scroll container.I want to show scroll bar for used scroll list is it possible without using of scroll container to show scroll bar. Please let me know if possible and how it possible (suggest any example ) ?
Hi,I am making a project where I need to use hardware buttons, I found some examples with queue and Model:: tick and it works well, but also I found harware button interaction in TouchGFX Designer I want to know how to use it, because it seems like it could be useful for me. When I generated the code i found only this function://Handles when a key is pressed void Screen2ViewBase::handleKeyEvent(uint8_t key) { if(1 == key) { //Interaction1 //When hardware button 1 clicked fade textArea2 //Fade textArea2 to alpha:0 with LinearIn easing in 2000 ms (120 Ticks) textArea2.clearFadeAnimationEndedAction(); textArea2.startFadeAnimation(0, 120, EasingEquations::linearEaseIn); } }So, how could I connect my hardware button to the function?ThanksAnton
Hi @ all,I'm using the TouchGFX version 4.20.0 for a development project for a user interface and communication system called "UICS".To generate a build job on a jenkins I tried to used the command "tgfx.exe generate" to automatically generate files. For example: (file path abbreviated)..\tgfx.exe generate -v -p ..\UICS_Software.touchgfxI can track that the makefile is called and the generation of files should start but at some point a folder is renamed which is necessary for the file generation.This is the output:Generate CodeWrote generated/simulator/gcc/MakefileDoneGenerate Assetsmake -f simulator/gcc/Makefile assets -j10generated/simulator/gcc/Makefile:221: recipe for target 'images' failedprocess_begin: CreateProcess(NULL, ../Middlewares/ST/TouchGFX/touchgfx/framework/tools/imageconvert/build/win/imageconvert.out -r assets/images -w generated/images, ...) failed.make (e=2): The system cannot find the file specified.make[1]: *** [images] Error 2simulator/gcc/Makefile:47: recipe for
hello sir,i am trying to build the ADC display using MVP pattern.as we have to declare same function in view and presenter , but error is showing for redefiation.video link following is :https://www.youtube.com/watch?v=Y7d6-59YQu8&t=487serror faced :redefinition of 'void Screen1Presenter::setLight(bool)redefinition of 'void Screen1View::setLight(bool)'@Yoann KLEIN i am attaching the screenshot.
Hi GFX Team,When I open MSVC file generated by GFX Designer in MSVC IDE and save it without any change, it is different from what GFX Designer generated. While it is just a space which is missing, the file is flagged by eg versioning tool.Could you possibly add that extra space between quotation mark and forward slash at the end of self-closing tag please ?And 2nd difference is an extra new/empty line at the end of the MSVC fileThank youFerro
Hi,I´ve the problem, that elements like buttons, sliders and so on doesn´t work. Only some strange pixels are displayed. Even if there´s some normal image at start, at least when the first touch action takes place the gui element is destroyed (some strange pixels).In the demo application from Riverdi this buttons and so on worked. Also static elements like text is displayed correctly.Best regards, Achim
Hi,When I select use Binary Font in GFX, I would like to determine this in my app so I install the font. How to do that please ?Thank you
Hi everybody,I successfully created a project for the STM32H735G-Disco. It's rather simple, just two screen with a button in each one. You press the button and you move to the other screen. Nothing more simple than that.I migrate the project to a custom board which is almost identical to the Disco one with these exceptions :ext Flash on OSP1 has a different chip (16Meg vs the original 64Meg)7" LCD the Capacitive Touch Controller (integrated in the LCD) is the FT5446 not the FT5336 like in the Disco one.External Ram chip is the same as in the Disco Board.After modifying the .ioc file I managed correctly the 7" by adjusting the LTCD parameters according to the LCD datasheet. I also increased the clock of the LTDC peripheral up to 32MHz according to the LCD datasheet. The 7" display works properly.Then I modified the touch controller driver.The clue was to compare the content of the FT5336_CHIP_ID_REG with a different value - the FT5446 stores in such a reg a different value respect to th
I want to scroll Scroll list runtime with index number 1) without using Scrollable container is it possible My Application: I have one scroll list which contain 500 item and one searching keypad. By entering number on keypad scroll list should scroll up to entered number.
Does ofstringstream and stringstream not work with freeRTOS?We develop a device using stm32f46x using touch GFX and freeRTOS. The system is generated with the latest STM32Cube IDE and the configuration tool. After crashes with localtime, new etc. I overloaded new and malloc first and later I used the suggested solution of David Nadler. Now the program crashed with hardfault (CFSR Register Content 0x1400 - stack fault) at every place where a std::ofstringstream or std::stringstream uses operator<<. Debugging seem to show sufficient stack and heap sizes. Always when "<<" is applied with data (not with precision()) a hardfault is thrown immdiately. While I had set breakpoint at the malloc and malloc_r wrappers, these functions are not called. Any solution?Does anyone successfull use stringstreams with stm32?What is the alternative, use of ftoa, itoa?I know that ofstringstream is maybe not the best as the template my consume space at all places where it is used and sizeof also
TouchGFX 4.22.1 is now out. Please follow this link to download it.This version is a patch release and includes bugfixes of issues seen on TouchGFX Designer 4.22.0 version. Release details: Release date: September 8th, 2023 Bugfixes in TouchGFX Designer: Fixed crash bug when font for language setting was missing. Fixed crash bug when generating very large projects. Fixed visibility parameter for SVG Image widget not being generated. Fixed erroneous links for the "Request feature" and "Q&A" buttons. Fixed not being able to set "Size in bytes" when toggling "Override default buffer size". Fixed "Images" being empty when importing a GUI. Fixed being able to insert a Custom Container in another Custom Container. Fixed crash bug when no widget property is selected and the keyboard arrow keys are clicked. Fixed bug where fonts with predefined bitmaps were not rendering when selecting a size that was not included in the list of available sizes. Bugfixes in TouchGFX Ge
Hi,I'm using TouchGFX dynamic graph and I want to customize the X-Labels according to my data.For eg. I add 1000 data points and make 10 labels with 100 interval each. So my Labels come as 100,200,300 ...upto 1000. I want to change labels using a wildcard which picks a variable value from the tickevent function. Basically I want to show time in HH:MM:SS Format on X-Axis.Is There any example for customizing dynamic graph labels??
Hi.#CASE1. After 2 weeks of intense learning. I am able to blink LEDs, push button with interrupt, able to communicate TX/RX with PC through USART3, USART6 (tried with both PC6/PC7 or PG14/PG9) using 3 different methods (blocking, interrupt, DMA).. (all these above are using CubeIDE)#CASE2. BUT.. now i face new issues. I want to start GUI , so I create a new project with TouchGFX (with just a textbox), and configure MX same as the above. but... unable to communicate USART3 to the PC. So I try to check is the different between CASE1 and CASE2. since both is using the same board. I see that Found that 1: MX_USB_HOST_Init(); was not present in CASE2. but i managed to enable it in .iocFound that 2: Clock configuration is very different. Does clock configuration matters? What could be the problem? Is it that USART3 cannot be used when LCD touchscreen is enable? I need answer for this. Please advise which USART port is available when LCD is enable. void
version 4.19.1 platform: CORTEX_M7 + IAR 8.X file name: touchgfx_core_release.a file location: \4.19.1\touchgfx\lib\core\cortex_m7\IAR8.x can we build the .a file? if not, have you disable asset() in release version? or if you still prefer to keep assert() in release version, please add --no_path_in_file_macros in IAR option, because not any end user will interested the path of c:\jenkins\workspace\... which increase code size of application. Thanks Richard L.
Hello. I am using TouchGFX 4.10 for GUI and my app code is managed by System Workbench for STM32 (AC6 tools). It seems GFX generates file names in output hex/bin files and I can`t get rid of it. In both STM32 HAL and STD drivers there is an option like USE_FULL_ASSERT, and it works, but it seems that GFX uses some buil-in methods to tell the compiler to insert those fat strings into hex outputs. Project configuration - release.Any ideas how to disable assert functionality in GFX?
Hello ST Community,I am working on a project using TouchGFX on STM32CubeIDE and have encountered an issue with setting up include paths correctly. Despite several attempts and different approaches, I am still facing the same error, and I am seeking help to resolve it.Problem Description:I am using TouchGFX middleware with STM32CubeIDE.The issue is with setting up include paths for the TouchGFX framework.I am receiving errors stating that include paths are not found.I have tried both absolute and relative path configurations.Steps Taken:Relative Path Configuration: Initially, I set up relative paths as per the standard ../../ directory structure. I added these paths in STM32CubeIDE's project properties under 'C/C++ General' → 'Paths and Symbols' → 'Includes' tab.Absolute Path Configuration: After encountering issues with relative paths, I switched to absolute paths, but the problem persisted.Cleaning and Rebuilding: I have tried cleaning and rebuilding the project multiple times.IDE Rei
I would like to ask for advice on how to modify text wildcards generated by pure code that cannot be displayed in Chinese. English is displayed normally.My personal feeling is that the font does not support Chinese, but I don't know where to set it in pure code
Hi,How to get number of glyphs in a font ?numGlyphs variable is not accsesible in GeneratedFont (linked with application) neither in BinaryFont (installed from .bin). Or is it ?// from GeneratedFont.hpp namespace touchgfx { class GeneratedFont : public ConstFont { public: GeneratedFont(const GlyphNode* glyphs, uint16_t numGlyphs, uint16_t height, ... ); ... } class BinaryFont : public GeneratedFont { } Thanks, Ferro
We have recently been seeing some GUI freezes happening in one of our products. We had a process that creates and saves logs to a CSV file stored on a SD card in our unit. During this save process, we have a handful of task switching events going from our Frontend to our backend. The front end prompts a nondismissible modal to indicate a log is being saved, while the backend handles the actual saving and logging to the SD card. It also handles a large number of calculations we’re doing during the save process. We don’t have a surefire way to recreate the freeze, instead we have some automation setup within our Model.tick() to “click” on spots of our screen depending on a handful of flags that get set for the currently shown screen. This automation eventually manages to hit the freeze, it varies how long it takes. Sometimes it happens within the first 10 or so iterations, and other times we could go through the entire process 100 times before seeing the freeze. We have also
Hi GFX Team,When I collapse a text group in Text View, it is not remebered by GFX Designer for next run ie all groups are always expanded after Designer start. Could you implement this please ? And maybe add 'collapse/expand all groups' in the mouse right click popup menu ?Thank you.Ferro Befor GFX close.And after new GFX Designer seession start.
Hello,I have to send send the status of one flexbutton(even a group of flexbuttons...) to a communication task.I created a Queue in Model.cpp via the Vien-Presenter chain. And while the button is pressed com task receives '1'. So far so good.But what I want is to send is the pressed status but also released, because it could be used for actuator.The status could be send one time or multiple time.I tried a solution with 3 interactions:1.Button is clicked call virtual function2.Timer3.When timer is done call the same virtual function.In the virtual function, I check the button status with getPressed() function.But this method doesn't always work.Is there a more elegant method to do this?Pierre
I am using STM32H750VB 100 pin package controller and want to interface 800x480 LCD having 16bpp RGB interface with it. Its single frame buffer storage amounts to 750 KB ((800*480*2 bytes)/1024) and at a go only 512KB (AXI SRAM -maximum contiguous memory available ) can be allocated for it, although controller having 1MB of RAM. As here in this scenario, continuous 750KB can't be allocated for frame buffer, switching from internal to external RAM is advised in this application note. I am aware of the fact that I can reduce the bpp or frame buffer size to meet the memory requirements, in that manner I won't be needing the external memory but I want to use the actual frame buffer storage size and not the reduced one.(Correct me about my understanding regarding the frame buffer storage allocation, external memory or any mentioned opinion here.) Referring from the TouchGFX article about external memory selection and selecting the RAM type from STM32Cube IDE, multiplexed PSRAM was the only
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.