Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Good morning,I would like to use the "dynamicBitmapCreateExternal" function as my dynamic image is already present in flash in ARGB8888 format.I'm using GFX 4.16.1, compiling the compiler tells me Error [Pe020]: identifier "dynamicBitmapCreateExternal" is undefined.Can you help me?
Hi, I'm looking at a few different STM32 discovery boards and am trying to decide which one would best fit my needs and I'm also trying to figure out how to go about creating my desired application.My application will require both networking (TCP/IP etc.) and TFT display capabilities and I would like to use as many native STM tools as possible, such as STM32CUBE IDE, CUBE MX, and TouchGFX.Ideally I would like to be able to start and configure the whole project from CUBE MX, add support for an RTOS, add support for a display using TouchGFX (and make use of the LTDC and ChromeART (DMA2D)), and a TCP/IP server; then generate the code from CUBE MX for the project; then be able to continue the rest of the development using CUBE IDE and TouchGFX in tandem, and still be able to use CUBE MX to modify the configuration.From all my testing so far, this did not seem possible for one reason or another. Some of the problems I ran into includeNot being able to enable both AzureRTOS and TouchGFX supp
Hi to all,I want to use STEMWIN with ILI9341 (Parallel and SPI interface).My goal is to use STM32F103RCT, with ILI9341 parallel interface.But at this moment I have a NUCLEO-F401RE and X-NUCLEO_GFX01M1 ( ILI9341 spi interface).GFX01M1 declare that is compatible with NUCLEO-F401RE, but CubeMX say that X-CUBE-DISPLAY cannot be used with thic MCU... It would be nice to clarify what is being stated.Anyway, I configure CubeMX with pin in/out of GFX01M1.The problem is that I don't find any example on how to configure LCDconf.c and how to use STEMwin with GFX01M1.There is some implementation of STEMWIN with GFX01M1 that I can study ?Thanks.
Hi,I want to use STM32H750XBH6 part with a LCD of 24bit @1024x600 resolution, Do you have any Idea about the performance? is it slow or can it do the job?
Hi.It took a long time to decoder JPEG images, so I measured the time.[My code]... // Allocate and initialize JPEG decompression object. We set up the normal JPEG error routines. cinfo.err = jpeg_std_error( &jerr ); // Now we can initialize the JPEG decompression object. jpeg_create_decompress( &cinfo ); // Specify data source (eg, a file) jpeg_stdio_src( &cinfo, &SDFile ); // Read file parameters with jpeg_read_header() jpeg_read_header( &cinfo, TRUE ); // Start decompressor jpeg_start_decompress( &cinfo ); // allocation memory unsigned char* buffer = (unsigned char*) calloc( cinfo.output_width * cinfo.output_components, 1 ); static uint32_t time = 0; static uint32_t index = 0; static uint32_t laps[1024] = {0, }; // scan lines while( cinfo.output_scanline < cinfo.output_height ) { // get current tick time time = HAL_GetTick(); // scan line jpeg_read_scanlines( &cinfo, buffer, 1 ); // get lap time la
I am aware of this discussion:https://community.st.com/s/question/0D53W00000uYapRSAS/how-can-we-iterate-containers-inside-a-container-ie-nested-containerIn my setup I made a custom container called messageBanner.In its constructor, it creates and adds its widgets like this:add(backGroundColorRed); // Solid box with color add(backGroundColorBlue); // Solid box with color add(backGroundColorGreen); // Solid box with color add(bannerText); // Textbox with OneWildcard add(actionButton); // FlexButtonthe actionButton has a virtual function callback called onActionButtonClick The default behaviour is to "dismiss" the messageBanner, which means to hide all the widgets and stop further touch events to be processed.This seems to work, but I want to confirm if I am missing something.// actionButton virtual function callback void messageBanner::onActionButtonClick(void) { // Iterate and make everything not visible Drawable* containerItem = this->getFirstChild(); while (nullptr != containerI
Helloi'm using STM32F746G with touchGfx and keil for a project. i have a working empty project (a blank screen with a button). but when i regenerate the project with cubeMX checking the option :"generate peripheral initialization as a pair of '.c/.h/' files per peripheral" i get HardFault Handler. My keil caller stack say is caused by: touchgfx_init ->setLanguage ->hardFault_Handler
..
I want a list of TFT enabled MCU
I installed last version 4.17.0 (I had previous 4.16.2 without any problem). When launch Designer the upper part of window always hide under the title bar. I tried to resize, maximize, but nothing solve my trouble.What can I do?
How can I remove "DiceAnimation" project of list @ "My recent projects" like the below image, TouchGFX Designer 4.17.0
Hi,I am doing layout and confused of changing the word space of a string? It seems that the designer doesnt support this operation./JJLin
Hai...,I am using STM32F746IGT custom board (Waveshare) and 7 inch display (1024x600) with TouchGFX 4.17.0 and External Flash, SDRAM it all working fine. Display also shows fine.I am using Touch driver (ft5336 or ft6x60 ) both are get from sample program.If i int followed functions in STM32TouchController.cpp file BSP_TS_Init(1024, 600); orBSP_TS_GetState(&state); While Debugging time '' void MemManage_Handler(void) '' fault will occur display it shows RGB colors or flickering. Just disabled this two functions display working normally.What happen in BSP_TS functions. Where i need to manage the memory. Please give me a idea for about this problem.Best Regards.M.Govind
Hey There,I am working on a project that will involve using a STM32H743VIT6. Its quite a complex board so almost all of the pins one the MCU have been occupied. Because of this I have to drive the 240x320 LCD-TFT with SPI ( Driver is ILI9341). I was hoping to use the ChromeART graphics accellerator to do this to relieve the load on the MCU. However I just came accross this https://support.touchgfx.com/docs/development/hardware-selection/hardware-components/hardware-selection-mcu which only lists Parallel, LCD-TFT and MIPI DSI as the ChromART peripherals for the STM32H7 series.I have also found this document relating to the STM32L4. Which seems to breifly mention that the DSI uses a similar interface to SPI.https://www.st.com/content/ccc/resource/training/technical/product_training/group0/ca/06/4e/19/23/12/45/4f/STM32L4Plus_Peripheral_DSIHOST/files/STM32L4Plus_Peripheral_DSIHOST.pdf/jcr:content/translations/en.STM32L4Plus_Peripheral_DSIHOST.pdfWould there be any way of redirec
Let say in Screen1 view I have custom widget widget1. In Widget widget1 upon certain user input, we want to switch to Screen2 view. How can we do this?Can we switch directly to Screen2 from widget1?Or widget1 has to propagate the user input to Screen1 and then Screen1 switch to Screen2?Basically I want to change screen from user code space instead of relying on TouchGFX designer interactions. This is due to various complex requirement when to change screen and doing so from the designer makes it looks messy and crowded - difficult to track.
HelloJust as an information; (@Alexandre RENOUX )You added the function OSWrappers::taskYield() when using L8 images.TaskYield() is called in the function setupDataCopy. The problem: setupDataCopy is also called from ISR as you know, TaskYield() is not allowed to be called from ISR and you get Thread-Errors.I think this should be fixed in the next release...Cheers, Roman
Hi.i have a custom board and i made a touchgfx project.everything works fine and my custom touch driver works good.but just a little situationWhen touch a button.button repeat quickly.every time that touchgfx function execute one time the button do it's action.I've attached a video that show s my problem.Please give me an advice Thanks
This of this like an address book, where the user can add and delete people from it. The scroll wheel is on the first screen and it list everyone in the address book. When you click on a person there are feilds you can edit and save. or delete the profile. Also on the first page is a create new contact button. and it brings up a template for the user to fill in. After that the new contact shows up in the list. Is there an example out there that can do this. It seems it would wild card heavy, but not sure.
If I press button "Generate Code" under TouchGFX: With STM32H747 Discovery board folder STM32CubeIDE is missing. But with board STM32H7B3 Discovery kit folder STM32CubeIDE will be created automatically and file ".Project" (for CubeIDE) is generated. Debugging is possible. All works fine. Is it possible to use STM32CubeIDE for debugging with STM32H747?
Hoping for some guidance on DCMI implementation when receiving JPEG images. I am currently successfully receiving JPEG data over the DCMI interface using snapshot mode.The main issue is that the DCMI_FrameEventCallback does not seem to trigger so I am currently just waiting a couple of seconds before reading the buffer (the Vsync and Line callbacks are working though). As far as I can tell, the DCMI_FrameEventCallback is a DCMI concept which would only be triggered once the specified length passed to the DCMI_Start_*** function is met. This is kinda hard to do when working with JPEG images.Just wondering if anyone had to deal with this issue before. Thanks!
Just wondering if anyone has any insight or demo code regarding being able to write JPEG image data coming from the DCMI directly to QSPI Flash without having to allocate a temporary RAM buffer on an STM32F7XXX? Is this possible?
Because nobody answers my questions I begun to investigate myself and found a very interesting thing. The STemWin manual suggest if I want to use the ARGB colors (instead of ABGR) then I have to add a definition into the GUIConf.h file:#define GUI_USE_ARGB (1)But this definition already exists, except its value = 0 not 1#define GUI_USE_ARGB (0) /* The color format to use is ARGB */In the comment ST says the ARGB format is selected with GUI_USE_ARGD = 0! . So, finally which color format is selected?The GUI_USE_ARGB is used in many files, like in GUI.h, LCD.h, GUIConfDefaults.h and GUIConf.h. In GUI.H, but it is very funny:#if (GUI_USE_ARGB) #define GUI_BLUE 0xFF0000FF ... #else #define GUI_BLUE 0x00FF0000 ... #endifShould not it be like this?#if (GUI_USE_ARGB == 1) #define GUI_BLUE 0xFF0000FF ... #else #define GUI_BLUE 0x00FF0000 ... #endifThen look at the blue color definition above. The 0xFF0000FF is the ARGB8888 format, but this definition is excluded from the file and 0x00FF
Hi All,Using an STM32F446RE with TouchGFX 4.16 and MX25L6433F external SPI flash.When generating the TouchGFX project, the generated TouchGFXGeneratedDataReader.cpp contains a few errors which prevents the data from flash being used.Here is the generated file:/** ****************************************************************************** * File Name : TouchGFXGeneratedDataReader.cpp ****************************************************************************** * @attention * * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics. * All rights reserved.</center></h2> * * This software component is licensed by ST under Ultimate Liberty license * SLA0044, the "License"; You may not use this file except in compliance with * the License. You may obtain a copy of the License at: * www.st.com/SLA0044 * ****************************************************************************** */ #include <TouchGFXGeneratedDataReader.hpp> #include <
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.