Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
..
Hello,i can manage TouchGFX Designer with very basic objects such as an analog clock and a color background, and it works very well.When i decided to insert a real image as background (720x720) it returns the following error during compilation:arm-none-eabi-g++ -o "arlix3.elf" @"objects.list" -l:libtouchgfx-float-abi-hard.a -mcpu=cortex-m7 -T"C:\Users\nikte\STM32CubeIDE\workspace_1.3.0\arlix3\STM32F767IGTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="arlix3.map" -Wl,--gc-sections -static -L"C:\Users\nikte\STM32CubeIDE\workspace_1.3.0\arlix3\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group c:\st\stm32cubeide_1.3.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.0.0.201904181610\tools\arm-none-eabi\bin\ld.exe: arlix3.elf section `ExtFlashSection' will not fit in region `FLASH' c:\st\stm32cubeide_1.3.0\stm32cubeide\plugin
I successfully implemented (via CubeMX) an application to manage the display.So FMC initialization is correct, as are the prmitive to interact with the LCDI would now like use TouchGFX.I have read in the various posts that it can be done.My problem is: where to start?I have searched for a long time in the forum, but we are referring to older versions of the TouchGFX Designer.The ideal would be an HowTo to create a Custom Application Template for a project generated with CubeMX and Atollic (or SW4STM32).
hello...I am working on STM32L4R9AI-EVAL board..i want to detect the long touch..means in one screen if i do long touch it has to go to the other screen...I need deep explanationhow do i do this ....any example codethank you
Hello,On some of our old products, a small F103 was driving a TFT and also was getting the data to be printed (Strings,X-Y,Color etc) via UART from the [main] MCU.We have changed the F103 with F746/F429i and running the TouchGFX but in order to keep the same logic and support the old firmware on main MCU (at least for now), we need to print Texts/Strings to display on the fly (same like we do on F103).Is that possible with TouchGFX?
Hi,I use my own printf(printf, snprintf...) in STM32 since many years.In atollic I added -fno-builtin-fprintf -fno-builtin-printf -fno-builtin-sprintf in the compiler option.Now with Cube IDE I do the same but the linker tells me that there are two definitions of some functions related to printf.I checked with multiple options without success.I'm using C and C++ because I'm working with touchGFX.Any idea?Thank youPierre
Hello!Sorry I am new to stm32 and TouchGfx.I am currently reading from SPI and want to relay that data to the screen using: Unicode::snprintf(textCounterBuffer, 10, "%d", finalData); textCounter.invalidate();my problem is that the finalData is a decimal figure and the decimal gets cut off.When I try to display the raw data number from my spi it displays fine and is a uint8_t variable. I need to adjust this number using:finalData = (spiRxBuf/4096)*100;but as I said before the screen does not display the number properly.
i've got a "low cost" dev board with STM32F429BI SOC and 5inch touch LCD, and i'm praticing with the current CubeIde 1.3.1 / TouchGfx 4.13 CubeMX framework.i followed the instruction for a new bring-up and they are pretty enlightning! the TouchGfx boys are pretty strong!Now, i put all the stuff for FMC SDRAM and LTDC proper cfg (scanline and more), when i enabled the LTDC global interrupt i started seeing the light of the first screen in my TouchGfx mockup project.The issue i'm facing now (before delving more in depth on the touch screen driver as next steps) is about a "flickering" starting to appear some 30 seconds later after program running.. see the video below (complete "idle" framework, Model.cpp tick() is called, empty, nicely..)it looks to me some kind of "hardware FIFO/DMA" is trashing.. but i'm puzzled because it does NOT happen at start, but at a later time.. and it goes worst along timei'm just wondering if you have seen something similar before.. and/or have a clue about
Hi, I'm working on a Touch Screen project and using STM32F746 MCU. I have an sync issue I couldn't solved yet. Here is video: https://www.youtube.com/watch?v=0T0yGYekXSEMy LTDC parameters are the same with datasheet I think there is some timing problem but I don't know what to do. Here are datasheet and my LTDC config codes.Datasheet: https://cdn.ozdisan.com/ETicaret_Dosya/493618_9666178.pdfLTDC Code: /* USER CODE END LTDC_Init 1 */ hltdc.Instance = LTDC; hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AH; hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AH; hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AH; hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; hltdc.Init.HorizontalSync = 0; hltdc.Init.VerticalSync = 0; hltdc.Init.AccumulatedHBP = 46; hltdc.Init.AccumulatedVBP = 23; hltdc.Init.AccumulatedActiveW = 846; hltdc.Init.AccumulatedActiveH = 503; hltdc.Init.TotalWidth = 1200; hltdc.Init.TotalHeigh = 650; hltdc.Init.Backcolor.Blue = 0; hltdc.Init.Backcolor.Green = 0; hltdc.Init.Backcolor.Red =
How to draw a rectangle with round corner.
I have never used TFT display before and now I need to use it. I found a display which has 800(RGB) x 480 definition. It can be driven with 18 or 24 bit pixel size. So I am looking for the cheapest MCU with or without controller that can handle display. I wont play video, there will be buttons and some other widgets.This comparison is from ST. I only know I need big amount of RAM(800 * 480 * 3 bytes) if I use display without controller by using bitmap. I dont know what else I need to look for. For example MCU frequency is important for it and what should be the min value? Is it difficult to handle display and other task for MCU if I use display without controller? Should I use it with controller? I can get any advice about MCU or driving TFT display.Thanks.
Hi ST,I have problem with MVP when applying BaseView for Views.complier said cannot convert argument 1 from 'PresenterType' to 'T &'Please help me fix the problemThank you.
Hi,I tried to add DMA2D to a successful generated and built L496 based CubeIDE\TouchGFX project .I get compilation error regarding two elements in the DMA2D initialization function as below:../Core/Src/main.c: In function 'MX_DMA2D_Init': ../Core/Src/main.c:286:14: error: 'DMA2D_InitTypeDef {aka struct <anonymous>}' has no member named 'BytesSwap' hdma2d.Init.BytesSwap = DMA2D_BYTES_REGULAR; ^ ../Core/Src/main.c:286:27: error: 'DMA2D_BYTES_REGULAR' undeclared (first use in this function); did you mean 'DMA2D_RB_REGULAR'? hdma2d.Init.BytesSwap = DMA2D_BYTES_REGULAR; ^~~~~~~~~~~~~~~~~~~ DMA2D_RB_REGULAR ../Core/Src/main.c:286:27: note: each undeclared identifier is reported only once for each function it appears in ../Core/Src/main.c:287:14: error: 'DMA2D_InitTypeDef {aka struct <anonymous>}' has no member named 'LineOffsetMode' hdma2d.Init.LineOffsetMode = DMA2D_LOM_PIXELS; ^ ../Core/Src/main.c:287:32: error: 'DMA2D_LOM_PIXELS' undeclared (first use in this function);
I have a question.I made progress with reference to this YouTube video.(https://www.youtube.com/watch?v=12KXreXaLp0)After creating the basic template stm32f 769-disc using TouchGFX designer 4.1.3.0, the .ioc file was created and the stm32cubeide 1.3.0 stm32f 769-disc project was covered. After the basic setting (copying flag.id and adding BSP folder), there was no problem in debugging, but I am not sure whether it is qspi or LTDC, but stm32f769i-disc kit shows only black screen. The attached file is my project file. We would appreciate it if you could tell us how to solve it.
I want to know how many fonts that can is support in my project.So do you guys have any idea how much will be the maximum size of a font with 3 different sizes(20,40,80).Thanks in advanceRegards,Bala
Hello,I plan to try to use your Graphic library on a custom board with a STM32H7but first reading doc and use of touchdesignerI'am asking if it is possible to use img that are stored in a file system ( sd card or qspi)rather than image converted buy img converter an embedded in application flash ?kind regardsheve
I have a ScrollWheelWithSelectionStyle instanciated from the designer, so it is placed inside the ViewBase, with a certain size.What I whant is to be able to resize it in height from the View. This is because when instanciated it is set to hold 4 elements, so it's height is ITEM_HEIGHT * 4, but in the View it might contain less than 4 elements.if I try a ScrollWheel.setHeight(_SOMETHING_) it crashes.Also tryed to change the number of elements from 4 to (let's say 3), but the items appear ofsetted from the top of a height equale to the height of the missing element.What is the correct way to resize a ScrollWheel at runtime ?Thanks
Hi ST,I want to send out package debug/bin to show demo on simulate. How to run this simulate if don't install visual studio and touchgfx? what file should include to this package?Thanks
Hi!I am trying to build an application for STM32F429 written under Nuttx OS with touchgfx. I made stubs for oswrappers and hal to check the build. I have my own makefile and ld-script. The project compiles, but errors occur at the linking stage:arm-none-eabi-ld: ./obj/display_main.o: in function `touchgfx :: HAL & touchgfx :: touchgfx_generic_init <NuttxHAL> (touchgfx :: DMA_Interface &, touchgfx :: LCD &, touchgfx :: TouchController &, short, short, unsigned short *, unsigned int, unsigned int) ': ./lib/touchgfx/framework/include/common/TouchGFXInit.hpp:89: undefined reference to `touchgfx :: Bitmap :: registerBitmapDatabase (touchgfx :: Bitmap :: BitmapData const *, unsigned short, unsigned short *, unsigned int, unsigned int) 'arm-none-eabi-ld: ./obj/NuttxHAL.o:(.rodata._ZTV8NuttxHAL+0x3c): undefined reference to `touchgfx :: HAL :: blockCopy (void *, void const *, unsigned int) 'arm-none-eabi-ld: ./obj/NuttxHAL.o:(.rodata._ZTV8NuttxHAL+0x60): undefined referen
In building a callback with an argument, I need to add a custom action with a type, as explained in Tutorial 5. However, I could not find the "TRIGGERS" group in the properties tab of the container. There is only "Trigger" but can't add a custom action to it.
Hi,This is the code snippet to animate containerAF1:void mainScreenView::handleTickEvent() { static uint32_t startMove = 0; startMove++; bool pr; if(startMove<40) pr = true; else pr = false; containerAF1.setVisible(pr); containerAF1.invalidate(); if(startMove>80) startMove = 0;}I expected the containerAF1 to be visible every 40ms.But it's visible about every 1second.So, how often handleTickEvent() is called?Are there any reasons why handleTickEvent() can be called less frequently than 1ms?Regards,Remigiusz Gajda
[Q1] I have 3 pages in a swipecontainer in my program. One of them is a watch face and when I swipe a page to this watch face page, the speed of animation is too slow. So I want to change the speed of animation faster. [Q2] And I want to get the current selected page index in swipecontainer. There is a function to set the current page but there is no feature to get the current index. [Q3] I know there is a source code of swipecontainer but I use touchgfx_core.a and even if I change the source code, it didn't affect it. Can I build touchgfx_core.a by myself after I change the source code?How can I get a solution about this matter? Do I make my own swipecontainer class like "SwipeContainerEx" as a subclass of the original swipecontainer? Could you let me know better solutions?Thanks in advance!!J.Park
I'm working on a STM32H7B3I-DK with a 565 format frame buffer.In my design, the Serial Flash that contents the ExtFlashSection in a standard project will not be memory mapped because I need part of it to record other data.I followed the topics about caching bitmaps (https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/caching-bitmaps and https://support.touchgfx.com/docs/development/ui-development/scenarios/using-non-memory-mapped-flash ) In TouchGFX Designer, if I put the ’section’ part of the image to ExtFlashSection and the ‘Extra Section’ (e.g. the CLUT) in IntFlashSection everything is fine.But if I try to put the ‘Extra Section’ in the ExtFlashSection the engine crashes on a HardFault because the library code tries to access directly the extra section in a memory mapped fashion.Here is the state when hitting the HardFault exceptionEXEC_RETURN (LR):lr 0xffffffed -19xPSR 
Hi,I am working on below setup:Software Tool Chain:STM32CubeMX 5.6.0TouchGFX 4.13.0 DesignerSTM32CubeIDE 1.3.0STM32F746G Discovery Kit v3.0.1 (AT)Hardware:STM32F746G-DISCO (Discovery Board)USB Mass Storage Drive (32 GB)microSDCard (64 GB)I have gone through below link studied and implemented examples given there.https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/backend-communication/with ADC and UART with TouchGFX.I got (think) the most efficient way is to use TouchGFX Ecosystem with FreeRTOS MVP . Now I have to integrate Middleware like USB Mass Storage Device , SDCARD FAT32 +exFAT with TouchGFX GUI.Unfortunately, There is no example so for on touchgfx.com.In my application, I have to copy File from USB Mass Storage to SDCard with TouchGFX GUI (Scroll List) with Add/remove feature .USB Mass Storage and SDCard with FATFS + exFAT works well without TouchGFX .How to I transfer "File Names" from USB Mass Storage to TouchGFX GUI scroll list?So for simpli
I am trying to use a custom container to create a master menu button list to change pages, it looks like it is all working but when the toggle button from the custom container are selected to change page it reset to default states when i change page. Basically the custom container do not keep it own states when page are change but it reset itself every-time a page is change. Is there a way to change this without but using touch GFX only?Thanks
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.