Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I'm using STM32CubeMX and Visual Studio Code.After generating a CMake project with X-CUBE-TOUCHGFX selected using STM32CubeMX, I then go to the .part file to create a UI, but when I click Generate Code it shows this error: Generate Code Generate Done Generate Assets make -f simulator/gcc/Makefile assets -j8 Reading ./application.config Reading ./target.config Done Post Generate touchgfx update_project --project-file=simulator/msvs/Application.vcxproj Done Post Generate Target touchgfx update_project unsupported toolchain: CMake ProjectManager.ToolChainLocation Failed Failed
Hi allI am currently developing a product that uses a TFT display. The product uses the following:STM32F469ZITxTouchGFX v4.23.2TFT Module 320 x 240, LTDC RGB565 (16 bits), ST7272Very often, when displaying text in a TextArea, some of the initial characters look as though they have been erased, as shown below:The first word should read 'SAFETY'Sometimes, this reads correctly, eg by cycling through my screens and back to this one.All of the other items on the screens such as images, buttons, icons etc display with no problems at all. It's just the TextAreas that are affected. The font used is Verdana, as supplied in TouchGFX.Any help with this would be most welcome.
Hi all,I have touchgfx project which has many pictures, so I must store them in the SD card.I follow the touchGFX document and I meet some issue.The document said:We can extract the binary data for the bitmaps from the .elf file with a simple objcopy command: $ arm-none-eabi-objcopy.exe --dump-section ExtFlashSection=images.bin TouchGFX/build/bin/target.elf $ ls -l images.bin -rw-r--r-- 1 christef Administrators 147136 Feb 20 11:56 images.bin However, I didn't find the ELF file in the path TouchGFX/build/bin/target.elf; And the MDK IDE can't generate the ELF(replaced by AXF file);When I try to use the AXF file, the command above is returned error(I also try to rename the AXF to ELF):How to split the AXF? Or is there some tools can split the hex file by address?Thanks for your help, have a luck day!
Hi,I have been struggling to get my head around the way custom container call backs work.I have a custom container that has three flex buttons, this container is then used on a single screenview multiple times.I'd like to be able to identify the flex button pushed along with knowing what custom container this came from. Sounded simple and i am sure it is, my head is just failing to get around the multiple files that this process spreads across.
Hello, I am new at the STM32 World. I started to buy a nucleo-f767zi and it worked fine. I was not able to get the debug Console running. Like other too. Because of that I bought the extension Board x-nucleo-GFX02zi which should be working fine with the F767ZI. Now I tried with CubeMX to installed the Hello World Example provided.But now I get the Message that these Packets is not Support with CubeMX 6.11. It should be support by Version 6.7 until 6.8.2. I tested 6.8.2 and 6.8 but without any changes. It seams like the SPI does not fit together. Always I got no solution found. Does the GFX02zi can be used with the F767ZI? Or do I have to everything new. I am going a bit crazy. Is there anyway a working step by Step intruduction for Add a Display to a STM32. Thanks for any help best regardsCarsten
Hi Sir, I am new to embedded world and i have a stm32f429i-disco with touchgfx software.Actually i created a project using touchgfx and generated code using that software.But when i am going to change some code in that generated code file, i can't understand how the code flow is working.Because all touchgfx and stm32 tutorials are teach us to changes in SCREENVIEW,PRESENTER and MODEL only.But i want to know how the main() is communicating with MVP code.There is Only one task name GUITASK is created by the touchgfx , in that function of that task i can't map to guitask to MVP files. Can any one Help me to understand the code flow.Please help me guys, i am always online you can feel me to ping on snagaraj4896@gmail.com.I am always waiting for your reply guys.
I have a running STM32F7 project with TouchGFX on a custom board. Now I need to create a MS Windows application where config files can be edited. I thought misusing the simulation.exe generated by TouchGFX might be a good way to go. Same user interface for the customer, export/import of config files via USB storage device.Of course at the beginning the Simulator won't compile because it tries to include HAL and other stuff that needs to be excluded by #ifdef SIMULATOR and exchanged with custom code for the Windows application. My plan was to wipe out one mistake after the other by starting the compile process in the console over and over again. But the console output of the build process is really messed up when starting from the TouchGFX Environment console instead of clicking Run in the Designer and looking at the log window.Any hints on how to fix the console output? It not only has wrong indentation, it is also mixed up text.I'm using Win10 and TouchGFX 4.23.2
Hi all,When I config the textArea initial value, the character order I config is different with the display order.After some test, I find this is because of the character "-".I already meet this multi-times, is this a bug?Thanks
Hello ST community,i hope you can help me with this errorI am developping touchgfx application and i nedd to display water volume in the screen, so i made some changes in my code and i compile with stm32ide i build it , the console show no error when i return to touchgfx designer to run simulator it shows this in terminal i will display it in code example to make things clear: $ make -f simulator/gcc/Makefile -j6 Reading ./application.config Reading ./target.config Cleaning generated files from generated/texts and generated/fonts. Generating generated/fonts/include/fonts/GeneratedFont.hpp Generating generated/fonts/src/GeneratedFont.cpp Generating generated/fonts/include/fonts/UnmappedDataFont.hpp Generating generated/fonts/src/UnmappedDataFont.cpp Generating generated/fonts/include/fonts/CachedFont.hpp Generating generated/fonts/src/CachedFont.cpp Generating generated/fonts/include/fonts/FontCache.hpp Generating generated/fonts/src/FontCache.cpp Generating gener
Hi,For the purposes of a project, I have a board driven by an STM32F746ZET6, which communicates with an LCD screen (C12864WO from Newhaven Displays) driven by an ST7565P. Communication with the display is via an FMC.I manage to display pixels on the screen directly via FMC communication. But now I'd like to use TouchGFX to ease the creation of the graphic interface with TouchGFX Designer. And that's where it gets tricky.The screen is rather atypical for TouchGFX. It's monochrome and the resolution of the 8080 parallel interface is 8 bits. TouchGFX can handle FMC, but only for 16-bit.What's more, the pixel arrangement is not like on other screens I've seen so far. GRAM is made up of 8 pages which divide the screen into 8 lines 128 pixels long by 8 pixels high. When I send 8 bits via FMC, instead of filling 8 bits horizontally as on other screens, the screen fills the 8 bits in the first column of the first page, before moving on to the next column.So I'm trying to adapt the code for thi
Hello, I am working on a TouchGFX (4.23.2 release) project with the Nucleo-F746ZG. I was able set up my registers in cube mx and use the designer to generate for for screens and custom widgets. However, I get a when any of the Matrix3x3 methods are called.I have some svg icons that have been generate in my SVGDatabase file. During debug, I see the svg objects being loaded in through the setSVG method, which also calls resizeToCurrentSVG. Inside resizeToCurrentSVG, the VGObject image is loaded from the svg database table. A Matrix3x3 object is then created to perform matrix operation on the svg data. Please see the code below:SVGImage.cpp void SVGImage::setSVG(uint16_t id) { if (id >= SVGDatabase::getInstanceSize()) { svgId = SVG_INVALID; return; } svgId = id; reset(); // If the widget is empty, resize it to the size of the SVG if (rect.isEmpty()) { resizeToCurrentSVG(); } } void SVGImage::resizeToCurrentSVG() { if (svgId == SVG_INVALID) { return; } const VGO
Dear programmers, I am new to STM32, and my tutor now requires me to find some GUI demo files and source code to help me with my graduation design. Since the official demo of TouchGFX does not have GUI demo files of STM32H747I-DISCO, I ask for your help. Help me find some GUI demo files about STM32H747I-DISCO, thanks!
Hello i have this condition:, if (oOK == true) {flexButton.setText(TypedText(T_ENTER));} else {flexButton.setText(TypedText(T_CLOSE));}flexButton.invalidateContent(); Exist reverse function, or how i can read fLexButton text value?like: Char fbString[x] = flexButton.getText();
Is it possible to change TouchGFX framebuffer pixel format(LTDC) at runtime? If yes, how?
I'm a novice getting re-acquainted with embedded, and acquainted with STMicro productsI'd like to use the NUCLEO-H563ZI + GFX02Z1 with ThreadX instead of FreeRTOS. I perform these steps:In TouchGFX Designer I create a new project with the included NUCLEO-H563ZI + GFX02Z1 template (FreeRTOS based)Open the ioc file in CubeMX. In Middleware and Software Packs, disable X-CUBE-FREERTOS, enable THREADX (core only), switch X-CUBE-TOUCHGFX to use ThreadX. Generate CodeOpen .project file in CubeIDE. Remove folder Middlewares/RTOS2 from project. Build entire project successfullyIs that all that's required? I ask because I'm experiencing some odd behavior that I don't see if leave the project as FreeRTOS based.Specifically I've created a quick trial that increment/decrements a text area numerical display based on joystick interactions (Left == increment, Right == decrement). With FreeRTOS I get quick responses from repeated joystick presses in any combination.&
Hi,I am using touchgfx with STM32H743 mcu. When i store the pictures(png) in internal flash everthing works fine but when i change the project from touchgfx for store pictures in the external flash(W25Q128, QSPI), colors are wrong for the whole screen(gray seems green, pink seems yellow etc.). What would be the the problem, where should i look at.Best regards.
Gm, I am creating a scrollable list of items, and we want have an image for each one of the items in the list, I have created a code that always prints 12 images depending on the scrollContainer.getScrolledY() value. This is for memory saving. To display the image i use BMPFileLoader.cpp from the touchGFX documentation.And i have created a 6MB cache in FrontedAplication.cpp which can print my image like 21 times.(I use the same image for debugging but later on they will have different images)This is how I update the images:I call lthis code every 50 ticks.And everything works perfectly but once a amount of ticks has passed, this is what happens to the images:They dissappear, and i don't know what is causing this. I'd like to debug or be able to see whats being stored in the cache or if clearCache() is really removing the images from the cache, but I have no way to do this right? As I said before, this happens after an amount of ticks have happened as if i call this every
Hello,I'm currently developing an application on a STM32H753VT6 with touchGFX and I have an issue with textAreas. Just to say that I'm using my personnal font ( size : 20/24/34 px). Each textArea has just one wildcard with a 17 chars size buffer. I'm sending text through a terminal on my PC to change wildcards values.In some cases, I don't know when, one letter is not totally displayed even if I invalidate all possible areas. Here are some pictures to illustrate the problem :As you can see, it is always the second character that is partially displayed (but sometimes there is no problem, for example, adding a space " " before "APPEL EN COURS" works)Any idea ?Regards,AJT
Hello, I just upgraded my TouchGFX to 4.23.2. When I created a new dynamic graph, I can't show the X-axis label and Y-Axis label.May I know if I miss some settings? Thanks.
Hello,I’ve been working for a few weeks on a personal project concerning cameras with OV2640 sensors. I am using a MCU F446ZE mounted on NUCLEO board. As you can see from the product tab, to use this card for cameras, implies the use of various links. After reading the ST application note about these cameras, I set to work to create a firmware that could, through the DCMI port, save my data (in my case i want a JPEG) in memory and then use the UART port to view data related to my photo. I’ve seen that many have posted these kinds of questions, but no one has post either a solution or a tutorial. Reading the OMINIVISION manuals, I tried to follow all the steps they provide for setting up registers. The problem is that, when I try to write some registers, on terminal I get the error that I could not write. At this point I turned to the web, where I found some interesting solutions regarding the code. Of course my starting code has changed a lot, but I was never able to visualize anything
I am using page 10 in touchgfx, and if an internal error occurs on any page, I would like to go to the error page. Is there a simple way to implement this?(Because of the MVP pattern, it seems like conditions need to be implemented on every page)
Hi I have a scrollable container inside a swipe container and i need to check when the drag is horizontal and when it's vertical so that I can channel the event to the one i want it to handle with, this was discussed and resolved in this post:https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/swiping-and-scrolling/td-p/238053But I have tried to implement it, changing the variable names but I have the following problemsEven though I have declared the classes in my view.hpp it says that the cpp cant see them, so i was wondering that maybe im doing it wrong, also i have tried to look for the functions in the upwards inheritance of the viewbase class but i couldnt find it, i saw that the classes like container do have it as they come from drawable. the variable dragType is not found either, and this one I couldnt find anywhere, so maybe he created it but im not sure as it looks like a touchgfx variable.This is how i have declared the functions in the view.hpp cla
"I've tried reinstalling, but I'm still encountering the following errors:TouchGFX 4.23.2: Unable to download Demo project and Generate Code.TouchGFX 4.20.0: Can download Demo project but unable to Generate Code.TouchGFX 4.16.0: Able to Generate Code but encountering TCP/IP errors."
Hi,I don't understand why TouchGFX Designer can't show some windows fonts.I download from internet the font called "GoogleSans-Medium.ttf" and I installed on Win11 correctly.OpenOffice and others PC softwares allow to me to use it without any problem.I try to reload TouchGfxDesigner a few times, I reload also Win11 but nothing happens: This font is not avaliable.How can I use it in TouchGfxDesigner?
HelloI have a custom container common to several screen (with OK button in it).How can i call a callback of the current screen when a button is pressed in the container ?I do call the callback of the custom containe, but don't know how to propagate it to the current view.(for example when OK button is pressed i want to execute the action in each view containing this custom container)I there an example of this ?thanksregards
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.