Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I have built up a CubeMX project from an example, is it possible to add TouchGfx to the project now? If so, how? It seems to be taking me in circles.Thanks
Description Resource Path Location Typeundefined reference to `touchgfx::ConstFont::ConstFont(touchgfx::GlyphNode const*, unsigned short, unsigned short, unsigned short, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned short, unsigned short)' GeneratedFont.cpp This was a working project and never used any arabic here is the source line causing the error in GeneratedFont.cppGeneratedFont::GeneratedFont(const GlyphNode* glyphs, uint16_t numGlyphs, uint16_t height, uint16_t baseline, uint8_t pixAboveTop, uint8_t pixBelowBottom, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataInternalFlash, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable) : ConstFont(glyphs, numGlyphs, height, baseline, pixAboveTop, pixBelowBottom, bitsPerPixel, b
When including a Line shape in a Screen the Canvas Buffer gets set to the default size and then in the compile an undefined reference gets generated in the SelectorViewBase.cpp file constructor.SelectorViewBase::~SelectorViewBase(){touchgfx::CanvasWidgetRenderer::resetBuffer();}Description Resource Path Location Typeundefined reference to `touchgfx::CanvasWidgetRenderer::resetBuffer()' SelectorViewBase.cpp
I am using Touchgfx for the STM32H745I Disco board. So far it has worked well with the default screen (4.3 inch). But I would like to use a bigger screen. So I will connect the STM32H745I board to a 9 inch screen. Now my question is, will touchgfx codes still work on the bigger screen with larger resolution?If not it is not going to work, what modification can I do to make it adapt to the larger 9 inch screen?
..
Hi,I have been trying to light up the LCD screen using CubeMX configuration for a few days now.Whenever I try an example, it works fine.However, whenever I try to replicate an example with CubeMX it do not work.I tried the following examples: LCD_Paint, LCD_DSI_CmdMode_TearingEffect_ExtPin .I tried to setup the DSI and LTDC peripherals via cubeMX (addign the BSP to the code, adding the required functions to initialize the SDRAM and to initialize the NT35510 LCD controller). I tried by setting the DSI in video mode and Adapted Command Mode with TE. None worked, whatever the configuration I tried (which I based on the working examples cited above). However when I call the function BSP_LCD_Init() in my code, it lights up the screen.Then I tried to replicate the code of the LCD_DSI_CmdMode_TearingEffect_ExtPin example (and calling the LCD_Init() function from my main (which should at least light-up the screen with garbage content) ). It does not work. I stripped my code to the point where
Hi,I haver two text areas AAA and BBB both with wildcard buffer to write to. When use the funcion Unicode::fromUTF8 to write some text and the text is larger than the buffer the values of the two text areas are concatenated and writted on the first area.If title lenght is larger than text area buffer the two buffers are concatenated and pinted in the fist text area:Unicode::fromUTF8((const uint8_t*)title, AAABuffer, AAA_SIZE);Unicode::fromUTF8((const uint8_t*)title2, BBBBuffer, BBB_SIZE);The solucion is to limit the size to one less:Unicode::fromUTF8((const uint8_t*)title, AAABuffer, AAA_SIZE - 1);Unicode::fromUTF8((const uint8_t*)title2, BBBBuffer, BBB_SIZE - 1);I think this is a small bug and the compiler must limit it.Thanks
I am fairly new to the STM environment and currently working with the STM32H747 DISCO board. I am also using TouchGFX version4.21.3, STMCubeIDE version 1.12.1 with STMCubeMX 6.8.0.I am currently trying to follow the tutorial on the TouchGFX website about "External events as Triggers" under Development > Scenarios. I first made the project in TouchGFX and then used STMCubeMX to set up the wakeup button (PC13) an an input pin with a pull down. From this the generated code is how it should be but I am unsure from there what I am doing correctly or not. After the "TouchGFX HAL Development" heading there is a segment of code which a class is created and void touchgfx_init() to initialize the button.The touchgfx_init() function is located within the "TouchGFXConfiguration.cpp" file. I decided to create the class in the same file and initialize it like in the tutorial. The tutorial then goes on to create mapping but I cannot find any settings in TouchGFX to create the mapping so I can use
Hi guys, it's me.In the morning when i started my project i saw mcu's memory area looks like SDram is not working and i asked if FLASH is full will mcu have data to ASSETS FLASH? And why don't we exploit the two together to increase their size?? touch gfx is quite new to me so i'm sure i'll ask a lot of questions and annoy you guys a lot, hope for your understanding
Hello, I'm a total beginner and I'm looking to store some user data in the QSPI Flash,, but I don't really know how to proceed can you help me ?First, I changed the flash memory size in the .ld file from 16M to 12M so that TouchGFX won't overwrite my data. But from now, I don't know what to do...How can I write and read to this 'allocated' space ?Thanks
Hello,I am using a Nucleo-F401RE board with the X-Nucleo-SafeA1 expansion board (which claims it is compatible with any Nucleo development board). I am trying to use the software package that is shown in the link below:https://www.st.com/en/embedded-software/x-cube-safea1.htmlWhen I use UM2646 to try to bring it up and create a simple example, but there are so many #include issues and file reference issues that it doesn't feel like I'm using a proper tutorial to learn how the firmware/hardware works. I followed the steps in Section 3.8 of the UM2646 and all the issues are still present. (Note: I have included the paths and symbols and source locations that are needed).I have two questions:1) Are there any tutorials that are similar to TouchGFX/BLE on bringing the STSAFE up?2) Has anyone who has gotten the Nucleo-SAFEA1 working on a Nucleo board that's NOT the NUCLEO-L476RG board that they use in the one example? If so, what steps did you have to take?
I follow the guide to make an external loader and it works for the most part. I can erase sectors, write data. But I can only read data once. If I try make multiple Read, STM32CubeProgrammer returns error. See example below:Example:14:56:32 : Time elapsed during the read operation is: 00:00:00.00714:56:35 : UPLOADING ...14:56:35 : Size : 1024 Bytes14:56:35 : Address : 0x9000000014:56:35 : Read progress:14:56:37 : Data read successfully14:56:37 : Time elapsed during the read operation is: 00:00:02.314 15:18:18 : UPLOADING ...15:18:18 : Size : 1024 Bytes15:18:18 : Address : 0x9001000015:18:18 : Read progress:15:18:26 : Error: Data read failedIt does not matter, which start address I use in the second read request. If I use Address: 0x90000000, in the second read I receive same error. I have tested the code i
In my project I have TouchGFX and USB (Virtual COM-Port) activated.When generating code in STM32CubeMX, the USB Device files are placed under "Middlewares/USB_Device_Library". Project compiles correct and is working.After I generate code using TouchGFX Designer, these files are then missing and only touchgfx_core.lib is placed unter that item, which causes Linker Error for undefined symbols. I then have to manually add the files (usbd_core.c, usbd_ctlreq.c, usbd_ioreq.c and usbd_cdc.c) in a custom tree to keep them for further Generate Code cycles. But as soon as I regenerate Code with STM32CubeMX these files reappear in the Middlewares tree. Please forward this to your "Generate Code" team for fixing the issue.Thank you.BR GS
I love ST products, but constantly running up against the question of how to prototype various displays.Discovery Kits, Eval Kits, etc. all have displays, but it seems like the included displays are all to choose from. I am tasked with using a variety of displays but having a hard time matching up the requirements of SRAM and Quad SPI memories for TouchGFX graphics.Is there a best practice when needing these external memories? Is there daughter boards or breakout boards for these type of peripherals? What is the recommended strategy when you need external memories and displays? Custom PCBs.... Need your recommendations.
In the current version 4.21.4 (I think in all 4.21.x) of TouchGFX Designer it is not possible to reorder Containers in the Container list. The black/blue line to drop a Container between two other ones is not showing any more: Same is with texts inside the table. They can only be moved/reordered in the tree-list to the left.
Hello,I am working on a TouchGFX project and one of my goals is to minimize the RAM usage while still maintaining complete functionality of my system, which has some things running at the same time:TouchGFX (LTDC - RGB565) - Current using FreeRTOS TaskBLE (Using BLUENRG-M0L) - Currently using FreeRTOS TaskMultiple GPIO InterruptsMultiple PWM signals generated (with Interrupts)I am trying to decide if the FreeRTOS is necessary or if I can eliminate it, since the ucHeap for the tasks is relatively large (~34.53 KB).How do I determine if the FreeRTOS is beneficial or just wasted RAM usage/processing? What thoughts should I have in mind?
Im using Scrollwheels on different screens. Wherever I move the selected Item to the middle of the list by increasing the SelectedItemOffset, Items above the selected Item (middle of the list) tend to disappear. As soon as I activate the Circular mode, everything runs fine.Does anyone else had similiar behaviour? I tried to provoke this with the very similar ScrollWheel/List example, but there it is running fine.I'm using the current TouchGFX 4.20.
In model.hpp I create struct of unicodechar elements and update them in to view screen. But sometimes I faced with this bug. In struct I define like this: but in view screen I get: When I write in array : In the last element Y4 I get random value: Maybe someone have this bug and solved it?
I'm looking for customising the progress bar width to 344 and height to 20.Is there a way of customising the background image of the progress bar?
Hi folks, we had made a custom STM32 board and we had some issues setting up TouchGFX. Used Components:Display parallel interface with 800 x 480 pixelsMCU: STM32F429BITSDRAM: IS42S16400J-7TLCubeMX Settings:FMC for SDRAMLTDC for Parallel 888 DisplayDMA2D enabledTouchGFX Pack enabled (4.17.0)We made things similar to the tutorial from embryonic.dk https://www.youtube.com/watch?v=SRQD8JMeg_kOn TouchGFX CubeMX Settings Graphics Accelerator is set to ChromeArt (DMA2D). Code generation from CubeMX and TouchGFXDesigner is fine. After compiling and download to MCU. Display shows GUI fine for static images. Touch and use of gui is it should be. On switch screen animations, button up and down animation and on the update of digital clock seconds. The displays shows a short flicker. On screen with no changing content display of GUI is fine. If we set Graphics Accelerator to custom or none the display of the clock is perfect.The screen change animation shows a heavy fl
When developing touchGFX applications you tend to get a pretty high memory need.I'm working with the CubeIDE integration of TouchGFX and tried to add a third screen (with a third background image). I got an error saying that the application would not fit in my FLASH. After a bit of digging it seems that the linker files don't mention the QSPI at all. I can add that to the linker files but I would like to know if there is an official way of doing this?I found some documentation on this but I'm not sure if this is the right way to go about it.What goes where in the memory and how do I control it? if at all?Thanks!
Hello,This is my first post to this forum.I've been trying for several days to configure a project with TouchGFX and STM32CubeMX. First, I want to thank you all for all your message I found on this forum and which helped me.Initially, I wanted to use STM32CubeIDE & TouchGFX but I realized very quickly that it is nearly impossible for now.So, I tried with Atollic TrueStudio. I succeeded in getting rid of compilation errors and having my GUI on my STM32F746 DISCO except that the touchscreen didn't work. I'm stuck here and I will maybe open an other post to find a solution about it (I can post my project if you want)I don't want to lose more time so I'm asking here: in your opinion, on which IDE is it the easiest to configure a new project?I can't pay for an IDE and I would prefer to use Atollic TrueStudio or STM32CubeIDE because I wanted to stay as close as possible from the ST "universe". SW4STM32 is simplier to configure than Atollic TrueStudio?I'm using a STM32F746 disco and STM32
I am using STM32H723ZG with LCD controller ILI9488 working with MIPI DBI type B interface (16 data lines).Interface pins on the LCD controller are:CS(Chip Select), DC(Data/Command), RD(Read signal), WR (Write signal).ST LTDC peripheral does not have DC, RD.Can LTDC CLK be configured to act as WR?How can I control the number of bytes being sent via LTDC (how to control the number of clocks in the CLK signal)?Can I send Commands to the LCD controller (ILI9488) using ST LTDC? If yes, how can I sync between the DC (GPIO) and WR (LTDC?)?
How to modify the code to disable the touch controller before executing the generate code for touchgfx and downloading it to stm32f429 discoveryI would be grateful if you could let me know Generate code for touchgfx and stm32f429 discovery is equipped with Touch controller ic (I2C3), so it works normally.However, the demo board I made does not have a Touch controller ic, so This function handles Memory management fault.In MemManage_Handler(void) -> while(1) it goes into infinite loop andIt's not working at all.So even if you clear the initialization function ( //MX_I2C3_Init(); )Same.Please tell me how to modify the code that prevents the use of the touch controller.
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.