Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi there,as stated in the subject, it looks like the "Table_" fonts files are not updated when the ellispsis charaters are changed in the designer typographies tab. As a result the structures "static touchgfx::GeneratedFont" are not inited with the proper ellipsis characters.Is this a bug or I'm missing something?I'm using Designer v4.16.1Regards
I'm no MVP expert, so would like to get the opinion of those who are.I have a slider on a screen that controls the displayed value of a parameter in a TextArea widget above the slider. The slider position is converted to a floating point value and also scaled to be useful to my backend processing. For example, if I have a parameter that increments by 0.05, a value that I want to display as 5.05 would be presented as an integer scaled by 20 from the slider (e.g. 101), and then divided by 20 to produce the formatted string for the wildcard of the TextArea.Currently in my View's SetupScreen(), I have:ch2Amp = presenter->getCh2Amp(); Unicode::snprintfFloat(textArea_ch2ampvalBuffer, 20, "%#.2f", ((float)ch2Amp / 20.0));I also have a method called when the slider changes value:void ScreenCH2AdjustView::AmpSliderChanged(int value) { presenter->saveCh2Amp(value); Unicode::snprintfFloat(textAreaParamAmpBuffer, 20, "%#.2f", ((float)value / 20.0)); textAreaParamAmp.invalidate(); }
When I delete a Screen in TouchGFX Designer, the screen is deleted in the designer and the base files are also deleted. But the view and presenter files are not deleted. When I delete my user code in view and presenter, then these files are indeed deleted. Why are the view and presenter files not deleted as long as there is user code inside?I'm using TouchGFX Designer 4.20 with Keil.The problem is the same ashttps://community.st.com/s/question/0D53W00001gUvUbSAK/an-error-occurs-about-the-screen-deleted-from-touchgfxbut there is no good solution.
Hello Everyone,I need help in building the project as I am facing some issues.As we know we can't configure the STemWin from CubeMX/STM32CubeIDE and to use the STemWin library we have to add it separately in our project.I created a simple project using CubeMX/STM32CubeIDE which is auto-generated and then I took the reference from the example STemWin_HelloWorld present in the CubeF7 package.I think I did most of the steps, by comparing these two projects, but I am getting the error.../STemWin_Config/GUIConf.c:54:10: fatal error: GUI.h: No such file or directory 54 | #include "GUI.h" | ^~~~~~~ compilation terminated.But in my project this file is present and added to the project, even the path is also updated in the project settings, I don't know why I am getting this error, that this file is not present.One strange thing which I have noticed is as shown below, here in include section I can see most of the include paths related to STemWin are disabled/greyed out, I don't know what is t
..
I create the TouchGFX program. Then I browse the folder, open the project with double click. If I download the program to my board (F469I-DISCOVERY) it works. I can modify the Model, Presenter and View files as well. But if I want to configure an SPI channel in the CubeMX part then I save this and I download the code (there aren't any errors) the display stays black. First I tried to add a new task to the project and I tought that it's my fault because I don't really know the FreeRTOS. But it's not about the task. As I mentioned it doesn't work if I add a GPIO or SPI channel.I already spent months to solve this problem but unfortunately I can't.I would be grateful if somebody could help me!Thank you!
My HW:NUCLEO-F446RECustom DISPLAY Board (TFT ILI9314, TPC TSC2007, SPI FLASH MX25R6435F)My SW:X-CUBE-TOUCHGFX 4.17.0STM32CubeIDE Version: 1.6.1STM32Cube_FW_F4_V1.26.1FreeRTOS 10.3.1 with CMSIS_V2Randomly and after some time (from 20 minutes to several hours) the TouchGFX_Task task hangs in the AllocateBlock function (FrameBufferAllocator.hpp).The state of all blocks is other than EMPTY.virtual uint16_t allocateBlock(const uint16_t x, const uint16_t y, const uint16_t width, const uint16_t height, uint8_t** block) { drawingBlock++; if (drawingBlock == blocks) { drawingBlock = 0; } while (state[drawingBlock] != EMPTY) { FrameBufferAllocatorWaitOnTransfer(); } assert(state[drawingBlock] == EMPTY);What could be the problem ?attached image of the debug session (drawingBlock = 2. state[2] = SENDING).The other tasks work correctly/Antonello
My project uses LTDC as application tick source and two frame buffers. I am trying to understand:1. What the current frame rate (I understand this is same as vSync frequency) is. I know it can be measured by monitoring vSyncFreq GPIO. But I want to see where it is in code.2.What are the steps to change frame rate? I would like to see it in code please.If frame rate is change is achieved by changing the pixel clock, what is the relation between two. I appreciate your help.
Hi, I'm making an embeded app with the STM32F746 discovery kit and TouchGFX 13.0.0. I need to implement a keyboard in order to write in different text areas. I know that there's an example of keyboard already made, but it doesn't show anything on the editor. I would like to know if there's some keyboard widget or something like this. Furthermore, i need to use the keyboard for several text areas, and don't know how to implement it.Thanks a lot!Dani
I'm trying to setup STM32F429I with TouchGFX, but during the debug this message appears:How can I enable it?
If you choose the object "Static Graph" and in this order:set Y-axis Range Min = 60set X-axis Range Min = 0set X-axis Range Max = 8click with the mouse into the Y-axis Range Min boxThe value into the X-axis Range Max change itself at 60.0001 and is impossible to set again the correct value.For us is a big problem.Thanks Marco
With the fonts placed in the external flash I got the hard fault "unaligned access". If the fonts are placed in internal flash it works.In function GeneratedFont::getPixelData the controller address 0x90219DFA which causes the hard fault.I read some topics to this fault but I did not found a solution. Is the linker is configured wrong or the OSPI? Or is there a wrong setting in TouchGFX?Thanks in advance.
Hi,I try to make stm32l496 as a video camera device. I use Ov5640 sensor. The aim is that taking photos and send them to the host device directly (like a webcam). The challenge is that when I try to use high resolutions, due to I don't use any memory, how I can handle it and send the data through otg? I want to use WVGA resolution (800x480) with JPEG format.
I am developing a TouchGFX application that should support multiple languages such as English, Chinese, Japanese and Korean. I am having significant troubles finding a suitable font that has all these languages combined to a single file. For example Noto Sans comes with different files for Japanese, Chinese and Korean. There are some attempts to combine them to a single file, e.g., https://github.com/satbyy/go-noto-universal but even that cannot include Korean characters to the same file since it would be too many symbols.My question is then if I have a single text in TouchGFX, how do I use a different font for different languages since I haven't found a way to have all languages in one font file.
Hello, I am doing a project related to using FDCAN to transfer data. The project is based on stm32h745 dual-core. First, I created a project on TouchGFX and then imported the project on stm32CubeIDE. I set the FDCAN1 (video: 00:01) on the Pinout&Configuration.I need to manually include ' stm32h7xx_hal_fdcan.h ' (video: 00:07) on main.c file, otherwise the fdcan functions on main.c will be undefinded.Also, the project does not automatically generate the ' stm32h7xx_hal_fdcan.c ' file. So, I add the source file manually to the 'STM32H7XX_HAL_Driver' folder (video: 00:15). But it seen like the file does not link to the folder.Does anyone have an idea? Please give me some advice, thank you!
helloI want to know if it is possible to implement the attached gif image function with the "Progress" function.Is it possible to implement with gradient progress?Or can you show me how to make a gradient image in advance with Image Progress?Below is a Progress that repeats continuously to one side, but it cannot be implemented as a function provided as a Widget.Is it possible?thank.
Hi...By using Text Area widget a string is displayed on a 480x272 resolution board. But I want something like, if we give '1' from keyboard through usart that data will be transmitted & it should display a string configured in TOUCHGFX IDE .I tried it by enabling usart pins configure in polling mode & in switch case when character is received it should display a configured string . switch(Usart_Buffer) { case '1' : unicode::strncpy(textArea1Buffer,"Power on",7); textArea1.invalidate(); break; }I am not getting what is the proper way to do this ?
I want to move my project to TouchGFX 4.20 from TouchGFX 4.18. But I allways take a error in IDE.I uptaded MX, IDE and TouchGFX.I opened project on MX. I selected TouchGFX 4.20 on Software Packs. And i generate, it open on IDE and I build all in IDE. So everything perfect.But I must change GUI on the Touch GFX. For example I add pushbutton. I generate code in Touch GFX. Then i opened the project for writting the code in IDE. I build all in IDE but it gives error(linker).I use this current version:Touch GFX 4.20, IDE 1.10.1, MX 6.6.1
Discovery board STM32H745I-DISCO. White is white, black is black, other colors are roughly OK-ish, but grays... They are all strongly blue tinted. It looks horrible, however - when I wanted a gray rectangle, I made it yellow "#666000", set the alpha to 48 (over the white background), and well, it's gray now.Is it possible to apply some color correction globally? For now I just change the colors in designer, then I test how it looks on the device. It takes a lot of time.Also - the same problem is with the images.One quick workaround is to add a tinted layer over every screen. It would probably work, but it can't be good for the performance.
Hello Coders!I have problem with slider callback - error: no match for call to '(touchgfx::Callback<Screen3View, const touchgfx::Slider&, int>) (Screen3View*, void (Screen3View::*)(const touchgfx::Slider&, int))' . Followed the guide here on touchgfx side implementing slider, and seems callback slider routine is generating error.here's the codeHPP FILE Screen3View.hpp class Screen3View : public Screen3ViewBase { public: Screen3View(); virtual ~Screen3View() {} virtual void setupScreen(); virtual void tearDownScreen(); protected: touchgfx::Callback<Screen3View, const touchgfx::Slider&, int> sliderValueStartedChangeCallback; touchgfx::Callback<Screen3View, const touchgfx::Slider&, int> sliderValueChangedCallback; touchgfx::Callback<Screen3View, const touchgfx::Slider&, int> sliderValueConfirmedCallback; /* * Callback Handler Declarations */ void sliderValueStartedChangeCallbackHandler(const touchgfx::Slider& src, i
I’m trying to run the example of touchgfx stm32g071 nucleo demo, but when I import to stm32ide and debug, the program never returns from the function "void tick" in " HAL::getInstance()->backPorchExited() or do I need to change the code somewhere?thank you.
bonjourSujet : STM32H743IG + Contrôleur LCD RGB 240*320 pixelsexigence : - Les datas images et logo sont stockés dans une flash SPI - le format des donnes est en Jpeg - Image de fond 240*320 - le format du lcd est RGB888 - Des logos en positions fixes sont a poser en transparence sur l’image de fond - changement de logo a 200 milli seconde maxiQuestionne: - Peut on fonctionner uniquement avec la RAM interne (dispo 1 mega mais avec des secteurs discontinu) Ou doit on rajouter de la RAM sur le Bus FSMC ?SalutationsDaniel Achard
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.