Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
..
HelloI have encountered a strange problem. Actually I wanted to show a value in minutes human readable on the display (x days, y hours, z min). The value is then inserted on the display in a textarea with a wildcard. And it seems that this field has a problem with the letter d.Eg. (TTG is the textare with the wildcard)Unicode::snprintf(TTGValue, sizeof(TTGValue), "%d d",value/1440);With this only the value is displayed on the display eg. 6---Unicode::snprintf(TTGValue, sizeof(TTGValue), "%d days",value/1440);With this the displayed text is: 6 ays---In debug mode I can see, that the variable TTGValue is correct. I also tried to manipulate the string with Unicode::strncpy to add the d outside of the Unicode::snprintf function. Is this a bug in the Touchgfx library? I'm using the version 4.17.0Regards
HiI had a probelm when I ported the programI use FSMC(8080) ,and I reffered to the stm32f412-discovoery exampleEverything else is nomal except the getClientFrameBuffer()'s bufferthis is my UI in the designer:so if the data which will load to the Gram is correct ,it should be 0x00000(most),but now it is who can help me
Hi,In the TouchGFX license it states that:"No use, reproduction or redistribution of this software package partially or totally may be done in any manner that would subject this software package to any Open Source Terms (as defined below)."Does this mean that TouchGFX cannot be used with other GPL code? GPL is "viral" in the sense that its use would then subject the TouchGFX code to the source code release requirements if I am not mistaken (which I may be, because I am not a lawyer). Normally the way around this would be to perform dynamic linking, but that isn't realistically possible on an STM32.Any insight on this would be appreciated.Thanks,Jeremy
Hi stm communityI want to interface tft lcd present on stm32f429i with 4x4 keypadis it able to interface please help me i just struck at this point
Hi *,in the past couple of days I have been working intensively with my brand new discovery board, Cube MX and the Cube IDE.MacOS was used as the development environment. Getting to know the hardware worked well - except for one or two obstacles ;) In the meantime I changed the development environment to be able to develop a Touch GFX application.The development environment is a fresh installed Windows 10 Home with the following ST-Electronics softwareCubeProgrammer 2.8.0Cube IDE 1.7.0Touch GFX 4.17.0In conjunction with using Touch GFX, I have encountered two problems that I am unable to resolve myself at this time.Beyond that, I haven't found any more in-depth information in the community forum.Problem 1 - Flash Touch GFX App via Cube IDEA previously imported Touch GFX project cannot be brought onto the target using the Cube IDE. Problem 2 - TouchGFX UI with TextBoxAs soon as I insert a textbox with text in TouchGFX, it is not possible to run the generated code on the target.This
Hello,I am studying the STM32412G-DISCOVERY and I can't explain why, in line 153 of the file /Drivers/BSP/STM32412G-Discovery/stm32412g_discovery_lcd.h (https://github.com/STMicroelectronics/STM32CubeF4), it says that the LCD_TE_PIN is GPIO_PIN_3. In the documentation (pages 26 and in the schematics), it always says that LCD_TE is PG4. As far as I understand, this pin is not really used in the code, but I find it confusing.Thank you in advance for your reply.[And by the way, do you know why the directory for this board is STM32412G-Discovery and not STM32F412G-Discovery (with the F)? The other boards have all the "F" (STM32F401-Discovery, STM32F429I-Discovery, ...]Best regards,-- Jacques
So I setup a scroll list containing 6 items from particular template.But the generated code show the number of items is 8. Although when run, the simulator show 6 templates. This cause some logic error when need to do decision based on items count.touchgfx::DrawableListItems<StatisticsItem, 8> ListListItems;On snippet above, it shows 8 count, while I setup 6. Is this a bug?
When we started the project, we were using double frame buffer and then we wanted to change it to single frame buffer. Also we needed the animation storage. In CubeMX, when we select the single frame buffer, the code didn't work. Then we continued with double frame buffer and added the animation storage in TouchHGFXHAL.cpp. Again the code didn't work. Lastly we selected double frame buffer in CubeMX and change it to single frame buffer, add the animation storage in TouchGFXGeneratedHAL.cpp. This is the only way the code works.What could be the reason? EDIT: When I select the single frame buffer in CubeMX and than I assign lockDMAToFrontPorch(true) in TouchgfxGeneratedHAL.cpp, the code works.
We are currently developing a product that involves the DSI host interface. We were successful with the STM32F469 disco but we aren't having any luck with a custom solution. We are using the same series chip for our custom board as the discovery kit. Attached are schematics, the CubeMX,IDE and toughgfx project files and the datasheet for the screen. The person doing the UI for the project told me that I wouldn't need external ram (which I almost added anyway) to run his program so that's why there isn't any external RAM on this board. So I guess our main questions are:Is internal RAM correctly initializedI have the backlight driver's pin as a GPIO (will use PWM eventually), does this have to be set high in the main.c file in the cpp project or that something set in ToughGFXAnything else that we are missing? I know for the ToughGFX, it has presets in it for the eval and discovery kits but since we are using a custom solution, is there anything that needs to be configured in there and th
Hi, I added wildcard characters (ç,Ç,ğ,Ğ,ı,İ,ö,Ö,ş,Ş,ü,Ü) to TouchGFX , if I set text in there it can show these characters correctly. When I set text in code like this:buffer gets filled with wrong numbers and it shows all question mark. Normally "ŞŞşş ÇÇçç" must be 5353737320c7c7e7e7 but its like that: and when I convert it to string its "ŞŞşş Ç". How can I solve this problem? Thank you.
I setup a scroll list with particular template with n items. Since the items currently fit to the size of container, then I want to disable vertical drag.I did this :scrollList.allowVerticalDrag(false);scrollList.invalidate()where scrollList is an instance of class touchgfx::ScrollListBut my list can still be dragged vertically. Anything I did wrong?
Hello! I am working on a custom board that has an STM32F469ZI to control a touchscreen by focusLCDs (E43RB-FW405-c) . We have the pin that controls the backlight of the touchscreen on pin PB0 but in cubeMX I am getting a pin conflict between LTDC and this gpio that I have set. Apparently the LTDC needs pin PB0 for LTDC_G1 or LTDC_R3. I have configured the 4 LTDC control signals (LTDC_HCLK, LTDC_DE, LTDC_VSYNC, and LTDC_HSYNC) manually in cubeMX and made sure the polarities and clock timings were correct to see if it could work but to no avail. Is this pin absolutely needed by LTDC to control the framebuffer? If so, would this mean we would have to change the backlight pin to something different? I am following the touchGFX-documentation guide that helps set up boards for touchGFX. At this moment, I am only able to turn the backlight of the screen which is really dim. In the guide, LTDC is the only configuration that is set up before step 3 so I am not even able to change the backgroun
We have a design using the DSI host interface for the STM32F469 MCU for a TFT screen. We were wondering if there is some example code that we can run to prove that is working? Looks like following the AN4860 document just gets all the init/header files in order for you to use the screen. We tried looking around the GFX software but couldn't find anything there either.
I found a bug in the project named "STemWin-STM32H747I-DISCO-OoB, after some time in the STLink uart appears messages about memory leaking :_cbBk() : Memory leak detected after running the module Dual Core : 298704/298440In this case the application continue running after the messages appears.The other bug only happen when I navigate and enter in "dual core" option .I'm able to see the four videos running and the fractal render ,but after a while it freezes and appears the next message :assertion "REENT malloc succeeded" failed: file "/build/gnu-tools-for-stm32_9-2020-q2-update.20201001-1621/src/newlib/newlib/libc/stdlib/rand.c", line 78I don't understand why this fw behaves different than the demo binary wich work perfectly. I've saw this issue in others post without solution, I hope this one finally resolve.Thanks in advance !
I have a lot of custom containers to define. When I want to scroll down the list to see ones on bottom, the TouchGFX designer consistently hung, this is quite annoying as it stops me to make progress in my project. The only way to escape the hung is to kill it via OS task manager, but then it would hung again next time we scroll down the custom container.Please help.
Hello everyone,I'm trying to use TouchGFX on my custom board Mikromedia 7 Capacitive.Currently, I've no OS and I generated TouchGFX folder with TouchGFX Generator partial framebuffer strategy. The problem is as soon as I receive my tearing effect interrupt from my SSD1963 (Graphics Controller), I get into the HardFault_Handler, like this : Have you an idea of the reason ? Thanks for your help.
Hi,I am finding ways to make the red fluid flow but have no idea yet, in the image the liquid is supposed to show the pecent of something as well.Thank you for your attention!/JJ.Lin
MX congiuration:FreeRTOS task:XHAL:result: because my custom board not have the Tearing Effect PIN,so I connectec a 10Hz square wavewhen the Semaphore is released.the os is blocking
Hi,I setup screen transition to slide from one screen to another from e.g East direction, it works on simulator but not in hardware. In hardware the transition occurred immediately.I am using TouchGFX designer v4.17 and hardware is DISCO board STM32F769 Discovery board.Please help!
I'm currently working on TouchGFX application on STM32H743 but after TouchGFX update my application started to drop in hardfault. The tools I use are as follows;Keil v5.35.0.0CubeMX 6.3.0TouchGFX 4.17.0Board: NUCLEO-H743ZI2Debugger: Onboard ST-Link V3Complier: Keil v5RTOS: Keil RTX v5.5.3I'm using analog clock widget in my application. There is no problem on v4.16.1 but after updating TouchGFX to v4.17.0 my application started to drop in hardfault. Keil shows caller code of HardFault_Handler is 90th line in rtx_delay.c; if (IsException() || IsIrqMasked()) {After some investigation I realized that some of the widgets and containers causing this hardfault but i dont know why. Here is the widgets and containers i tested causing hardfault in my app;Texture MapperAnalog ClockDynamic GraphGaugeThe visibility of the widgets on the screen does not affect the error, if there is one of the widgets on the displayed screen, it causes the error. However, if the screen containing these widgets
Could anyone suggest how to do...I have application with multiple screen, should be 200 or more.The model has pointer to active presenter. I have to know which interface the active presenter implements to call the methods. Do I have to try a dinamic cast to the interface and see if not null? Is this possible? Is there a different way? What are canonical way of develop this?Thanks in advance
I setup a radio button using my own image instead of one provided by TouchGFFX Designer. Initial size is say 24p. But then I realize it is too small, so I override the same image file name with an image of radio button but larger size say 36p. But the TouchGFXDesigner does not reflect the change although when run, the radio button size is correct e.g. 36p.Why this is so? Is there any hard caching used by TouchGFX? I am using v 4.17.0
I’m running into an odd issue where animations work only in the “landscape�? orientation.Animations working fine:https://youtube.com/shorts/F-PeUQGEtPk?feature=shareWhen I change the orientation in TouchGFX and run the project again I get what looks like frame buffer corruption issues:https://youtube.com/shorts/iXqFe0d53vI?feature=shareI’m using the STM32F7508 using 16Mb of external RAM. The issue manifests itself with single and double buffering. I have an allocated animation buffer. I’ve tried adjusting the memory locations for the frame buffers to be in different banks and doesn’t seem to matter.
Hello everyoneHow do I draw a line using code. For example I receive over UART a number and I need to draw lines on my screen. Start and end positions are unknown also is the number of lines. until I know the user input So I need to draw a few lines line in a loop:for x until [user input] drawLine(start,end,width, style)
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.