Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
after adding a second image image2 to Screen1, the SW4STM32 has a compliation errorSymbol 'image2' could not be resolvedIf I delete the image2 every thing workscan you help me?
Hi all,I have a requirement of using a TFT LCD.Here the input to the Controller will be coming from an embedded PC through Ethernet.The controller should decode the ethernet protocol and should display on LCD.Protocol used will be similar to RTSP protocol.Kindly help me in this.Thank you all
I need draw a curve to display the sensors readings. The curve contains dots and lines. I created a custom canvas widget to do that and it works well. Here is the problem: I want to set color for different kind of readings. but the canvas widget can only have single color, because only one painter can set to canvas widget in a time. I found this link and looks there has a way to do that:https://touchgfx.zendesk.com/hc/en-us/community/posts/360001267451-Drawing-particlesit mentioned at the end:In the meantime I found a simple way to get what I want with decent performances: I draw all my particles in a CanvasWidget, but each particle uses its own Canvas in the drawCanvasWidget function. This gives better performances than using a single canvas for everything, and leaves the ability to set the alpha and color for each particle. Since I only have to draw particles of size 2, 3 and 4 pixels, I've simply hardcoded the canvas path for each size (much faster than using the gene
Hello, please i need help I'm using IAR Embedded Workbench IDE & STM32F207xx with TFT LCD Display, I configured the SysCLK to 120Mhz & HCLK to 120MHz & PCLK1 to 30MHz & PCLK2 to 60MHz, When I debug or execute program all frequencies change automatically to the random values and the HardFault exception execute.how I know when the problems come
I have display with controller ILI9881C, which controlled via mipi-dsi.I want to use 800x800x24bit mode. How to understand what's the point to use dsi txclkex and dsi line byte frequency? and how it is correlate with ltdc frequency? in display controller dataheet i have the next description for frame ratehow can i calculate pixel timings for Horizontal Back Porch and Horizontal Front Porch? is it must be based on ltdc frequency?
Hi everyone,I want to change several screens between each other. I can do change screens with a trigger in the designer. When I do that the designer create a function in FrontendApplication. Maybe I can get this function and use in my function. But I have so many screen change with different trigger and transition. And I don't want to create useless triggers in the designer for create change screen function in FrontendApplication.How can I (or may I can) create a general function which use for change screen whichever I want. I tried copying and editing the function in FrontendApplication but I failed. Is there any easy way to do that?Thanks already.
Hello, I need to add multiple include paths to makefile for touchgfx project. I have two paths mycode/include - mycode/srcmycode/CMSIS_RTOS/include - mycode/CMSIS_RTOS/srcI edit makefile like below but it doesnt work. Is this notification correct ?include_paths := $(library_includes) $(foreach comp, $(all_components), $(comp)/include) $(framework_includes) mycode/include mycode/CMSIS_RTOS/include source_paths = $(foreach comp, $(all_components), $(comp)/src) mycode_src mycode/CMSIS_RTOS/src
Hello all, I tried to integrate the Gauge and Graph examples (from the repository) into my project, but both (separately tried) result in a lock up of the system as soon as the components are generated in the view class.I took care to include the call for "setupBuffer "at the end of touchgfx_init and included the following lines: #define CANVAS_BUFFER_SIZE (3600*3) static uint8_t canvasBuffer[CANVAS_BUFFER_SIZE]; CanvasWidgetRenderer::setupBuffer(canvasBuffer, CANVAS_BUFFER_SIZE);I copied the code from the template view into my own screen view class without further modification.When I debug the code in the embedded system, the system hangs as soon as I enter the view. The call stack shows that it sticks in PainterRGB565::PainterRGB565 (color 0x00, alpha 0xFF).Any ideas what could be the reason?
Hello everyone,I am trying to build an application where I can copy whatever is displayed on the CusotmKeyboard's text area to my own custom text area in my MainView. The keyboard I am referring to is the one provided with the examples . I would really appreciate any help regarding this problem.@Martin KJELDSEN
I'm trying to design a custom container which have a flex button. When I do that getting an error in CustomContainer.hpp [RO] folder. Error message; <namespace "touchgfx" has no member "AbstractButton">.private: /* * Callback Handler Declarations */ void buttonCallbackHandler(const touchgfx::AbstractButton& src); void flexButtonCallbackHandler(const touchgfx::AbstractButtonContainer& src); /* * Callback Declarations */ touchgfx::Callback<RegisterElementBase, const touchgfx::AbstractButton&> buttonCallback; touchgfx::Callback<RegisterElementBase, const touchgfx::AbstractButtonContainer&> flexButtonCallback;Can you help me about that. Thanks in advance.
If I received UTF-8 characters from BT, can I dynamic show them on Touchgfx?
1.what SOCs that can support the touchGFX now?2.stm32LR9 should support touchCFX,but in stm32CubeIDE,I can not make the touchGFX enable,just STemWin enable,what interfaces that I must enable.I refer the STM32F429 example, configure the CRC,DMA2D,FreeRTOS,LTDC,TIM7,RCC,SYS.
Hello,What's the best way, if any, to pass data from one screen to another if you don't want to save this data anywhere BUT in the screen classes themselves?I can't think of a way to do that. I know that the data can be easily saved in the application or model class and then retrieve at will but it's not what I'm looking for.Thanks in advance.
..
Now that the h/w jpeg decode is working so well I have turned my attention to the encode side. I'm currently using a s/w encoder but for that I have to convert RGB565 from the camera into RGB888 for the encoder I have chosen.The h/w encoder can do RGB565 directly but unfortunately, jpeg_utils.c assumes that decode and encode are the same format (the code is peppered with macros) and I'm using ARGB8888 for the decode. Is there a way of doing this without a major re-write of the utils module - or has maybe someone already done it? I could continue to do the 565/888 conversion (its using DMA2D) but it would be nice to do it right!Cheers
7 months I've been on this trail and now by a process of elimination I discover that the input/output buffers used by the JPEG hardware decode MUST be allocated in the DTCM region. Note that the linker file for the stm32f769 Discovery Demo is broken in this respect as it is missing a definition for ".MCU_Data_section".Having found this, I can still only decode a single image - subsequent images hang up with constant JPEG DMA interrupts. The QMEM0..2 regions of the JPEG hardware seem to have strange values after the first decode. Do I have to re-init them somehow?Anyone any clues to what this issue is?
Hello,I am using Touch GFX on my hardware (STM32F429).When I create a text area and change the name of text,i encounter error that say "error during code generation" then opens a window that say" ZIP entry size is too large"It was working better before but It does not work officiantly now.could you please help me to solve this problems?thanks in advance.
Hello everyoneI am integrating TouchGFX on custom board (STM32F767II) with external SDRAM (AS4C16M16SA).The issue I am trying to solve is the color swapping with external SDRAM. When the internal RAM is used the colors are displayed correct. I have attached two pictures :external SDRAM : has the colors swapped with some lines internal RAM : has the correct colors and is clear (-> RGB from right to left and from top to bottom)I have also attached the CubeMX file.Does anyone have an idea how to solve this?RegardsDejan
Hi all ! I am mainly working on Linux with GNU toolchain. It works well except for graphics programming as TouchGFX works only on Windows.I would like to know if someone find a solution to this problem. But perhaps everybody works on Windows ... I will appreciate your experience feedback.For info, I have tested the new Qt demo for the STM32F769i Discovery board. It works well. But, as no source code is provided, I am not sure it fits my build chain.Thanks,Olivier
Hello! Has anyone ever already connected the physical buffer of the STM32L4R9 discovery board on the external PSRAM (with or without using GFXMMU)? All STM32 Cube examples are using a buffer in internal RAM...When I put the buffer in PSRAM, the rendering on LCD is wrong: some white lines appear and sometimes all the content is wrong.Actually, I have some LTDC FIFO underrun interrupts. I have follow advices of application note DM00287603.pdf (chapter LTDC required bandwidth) without success. :(
Hi, I want to know how to implement a 'status bar' type view that is at the top of all views, that contains things like battery level etc. similar to that found in something like Android or iOS.In the touch GFX documentation it mentions it briefly but does not elaborate much on how to implement this in code:"If for instance all your screens need to display a status bar at the top, showing current time, battery level, et cetera you can create a base view class containing the status bar only and have all your views deriving from this class, so you get the status bar functionality automatically"
Following up on my last question about the LTDC interface (That's now working) I'm working through the app note 4861.Where for the LTDC interface there is a nice walkthrough on how to find the timing values there is nothing like that for the SDRAM selection. bummer.I have made a board with AS4C4M16SA for the SDRAM, datasheet here: https://www.alliancememory.com/wp-content/uploads/pdf/dram/64M-AS4C4M16SA-CI_v3.0_March%202015.pdfThe timing information is on page 20.But the app note states that one can either use the CubeMX interface or use the BSP files.it goes (lightly) over the BSP integration but don't mention the CubeMX at all.More specifically I am looking for a way to figure out the timing setup from the datasheet:Those are the value for the SDRAM supplied with the STM32F746G-DISCO board.. is there any pointers on how to adjust these values for a new chip?Also - since I'm running the TouchGFX integration I have a file called 'HW_Init.cpp' In the top there is a couple of definitions
Hello,I have started using Touch GFX a few days ago. It works preety nice, running the first program on the F746-Disco board is a pleasure. But.. I can't use this system as it is delivered by TouchGFX. In general I would like to keep the logic and whole API, but I need to change the RTOS, add a lot of hardware and make it easy to use from the STM32CubeIDE level. First problem appeared when I have started compiling Cube generated project. It works ok until I add something to the resources (images) and the .text section for the flash memory exceeds 1024kB. So basic problem is, that it doesn't split the data onto internal flash and external NOR memory.I have started modyfying the linker script and oryginal makefile to allow the program to compile properly. I have never worked on makefiles/linker before so I am noob at this. I have started to learn about this and read your original files from TouchGFX. I don't get this thing:_extflash_: @$(st_link_executable) -c -P $(binary_output_path)/t
hidoes the new version ( 4.12.3) of the touchgfx include Combobox Grid view and box with round cornercontrol?
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.