Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi Guys,I want to connect 8" to 10" TFT LCD + Capacitive Touch Screen display with MIPI DSI interface to STM32F469I-Discovery just by removing the existing 4" TFT LCD. I had searched in the internet and I didn't get any TFT LCD CTP with MIPI DSI interface which can be directly connect to STM32F469I-Discovery board. STM32F469I-Discovery board uses 25 pin connector (CN10) for LCD and 6 pin connector (CN2) for Capacitive Touch screen.Can anyone suggest me 8" to 10" TFT LCD + Capacitive Touch screen with MIPI DSI interface which can be directly connected to STM32F469I-Discovery Board?With RegardsSUNIL K SAce Designers Ltd
I want to create a parameter setting screen in addition to the main screen.Read the state of the switch at startup to determine which screen to display.I want to dynamically decide the display screen like this. How should I create it?Do you have samples?Thank you.
Hi,I have a custom board setup using a display connected via SPI and I've used the example code from the STM32L496G-DISCO board as a reference.My SPI display driver works correctly as I am able to send data directly to the display and show it on the screen.However, I have not been able to interface TouchGFX to display anything on the screen. By using the STM32CubeIDE debugger I can see that the frame buffer is empty, so I suspect something with setting up TouchGFX is incorrect.I have been able to use the simulator in TouchGFX designer to show my design. And I have also ran my application on the STM32L496G-DISCO board successfully.I followed the suggestions and defined the frame buffer globally in main.c: https://support.touchgfx.com/docs/development/board-bring-up/how-to/03-display-internalIs there a checklist of things to look for when starting up TouchGFX, or a suggested starting point for debugging when the frame buffer is not being updated?Any help would be much appreciated :)Best
sorry for my englishI have a LCD TFT 480x320 with touch, and the pins like for the arduino. He is working very fine with STM32F407ZG, its all OK, I converted MCUFRIEND_KBV, with help from developer, to stm32. But i need to use the touch, but theproblem is in this. The touch, share pins with the digital pins. the touch analog read is in the same pin of the CS (sample). In Arduino, its easy, only change pinmode from digital to analog, read analog, and then turn again to digital.But in stm32cubeide, where i need to turn on the ADC and INx on the .ioc, I need to know. Can I turn on the ADC, and in the run time, turn off to use the pin as digital, and turn on only when i need to read the touch?Thanks a lot.Moacir Jr.
Hello,I am working with a STM32L4R9 and I am trying to extract a (STemWin) JPG decoded image to a BMP buffer (in external RAM).First of all :- I am using a 400x400 pixels screen, GFXMMU is initialized, 16bpp color depth.- I can display a jpeg image using 'GUI_JPEG_Draw'.- Other STemWin functions seems to work correctly as well (GUI_BMP_Draw, etc.).* First case scenario- I print the jpeg image to my display using 'GUI_JPEG_Draw'.- Then, when I try to get the content of what it is displayed using 'GUI_BMP_Serialize', I only received blank data in the serialization callback (the header seems to be correct, but all other bytes are 0).Is there something to do before using 'GUI_BMP_Serialize' ? Why all the bytes received are blank ?* Second case scenario- I move STemWin dedicated memory to external RAM to be able to create a memory device.- I create a memory device (no error returned).- I select the newly created memory device.- I use 'GUI_JPEG_Draw' to decode JPEG into the memory device.Mul
Hello I have a problem with reading data on I2C. My code goes HardFault error after this( while (hi2c->XferCount > 0U);)line. I'm reallt stuck in here. Does anyone have idea about that?HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout) { uint32_t tickstart; /* Check the parameters */ assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); if (hi2c->State == HAL_I2C_STATE_READY) { if ((pData == NULL) || (Size == 0U)) { hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; return HAL_ERROR; } /* Process Locked */ __HAL_LOCK(hi2c); /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK) { return HAL_ERROR; } hi2c->State = HAL_I2C_STATE_BUSY_RX; hi2c->Mode = HAL_I2C_MODE_MEM; hi2c->ErrorCode
I need a widget that contains text with black characters on white background, and some of characters inverted - white on black background (like on attached image). How is it possible to do this with TouchGFX library?
Hullo guys , I 'm trying to get my OV10635 cam working with STM32H743 , and I have set up all required configurations , I want to get snapshot , transfer the chunk of data to internal RAM , but the FRAME interrupt is never generated , while LINE interrupt is working fine , also the DMA flags r not set , HC/TC/ or even FIFO error , attaching my code , I am trying to transfer the frame of 1280*800 from my sensor. That's why I have used multibuffer mode in DMA. DMA gets 32000 size of data in 1 transfer and saves it to internal buffer.DMA is able to transfer the data but only around 200 bytes. and TC interrupt is never generated.
Hello,i used the STM32CubeIDE Version: 1.1.0 with TouchGFX designer 4.12.3 to build a project for the F746G-Disco. Everything worked fine, i was able to display animations etc.Then, i made the changes to my custom board (based on Disco schematics) to use a 5 Inches (800x480) TFT and i was able to display some boxes/images but when i tried to display some animated images, the animation was not working (seems frozen).The Touch panel is not configured yet, due to different driver than Disco.Could this be a hardware issue? I am attaching the screen datasheet and the project, in case someone could help.Project:https://drive.google.com/file/d/1ibuGvqsCGqzeZYnflSGMnCdHznQdUkfN/view?usp=sharingSmall video:https://www.youtube.com/watch?v=aE4VB7f4UFw
Hi,I created a project using touchgfx for H750 board. Then I import it to cubeide and started debugging. When i run it, it stopped inside the hardfault.I am using Touchgfx 4.13 and cubeide 1.3.1. I can debug (step in to different lines) until i start the RTOS task. Once i run the code after that, it stops on hardfault.Can someone help me out on this? Thank you
Hello, I'm working with the STM32H7B3I-DK.I want to use this project in Romless and Xip (executable on OctoSPi).I just change the file .id (attached) , main.c (without MPU_Config()) and VECT_TAB_OSPI configuration. Problem:The pictures are not good (attached). Do you have an idea for this problem ?Info:1- STM32H7B3I-DK (STM32H7B3LIH6QU)2-STM32CUBEIDE rev: 1.2.03- STM32CUBEProgrammer rev: 2.3.04- STLINK-V3 rev: V3J5M25- Example Projects: STM32Cube_FW_H7_V1.7.0\Projects\STM32H7B3I-DK\Demonstrations\STemWinThanks in advanced to all your replies
My framebuffer is 8 bpp in L8 format, but under GFXMMU > LUT Configuration > Display BPP, there is no 8 bpp option? Am I missing something? Considering the LTDC supports 8 bpp framebuffers, this should definitely be an option.Currently running the latest CubeIDE with whatever CubeMX is built in.
There is a "click" button on the screen. The status of this button is sent to the user program. There is a second "toggle" button on the screen. The first button must put the second button in a non-pressed state if it was depressed. the user program (main.c) must make the decision. How to do it?
I am using an STM32508 DK board and I am trying to press a button on the touch screen and gain a reading from an MCP3201 that is connected in the GPIO pins. I believe the code I have will work but when I put it into MainView for the button press the HAL GPIO commands are not recognized. I am slightly new to using embedded microcontrollers this way and was wondering if it is possible to create a function that handles the GPIO commands in the main.c and then pull that function using MainView in TouchGFX?
Hi,I want to use an image stored in µSD card.I found the following exemple : STM32Cube_FW_F7_V1.15.0\Projects\STM32746G-Discovery\Applications\Display\LTDC_PicturesFromSDCardBut it is a still image.What I want to do :Create the design with TouchGFX. But the size of all images is larger than the size of flash (1 Mo). Can I use an SD card to "replace" objects on the design ?
Hello, everyoneWhen I adjusted the Angle in the designer, I got a lot of decimal places.why is this?I only use the buttons in the designer to adjust the Angle./korry
Hi, i want to make a transparent clock on the background in all screens. So i think Alpha value is the only method to make transparency on two screens. And Analog clock and container don't have Alpha in their library. Could you please let me, how to set alpha value to an analog clock or any container.Or let me know if there is any way to make transparent screens without alpha value.Thanks and Regards,Bala
Hello, Can we, now, generate a STM32L4R9AI project with STM32CubIde including TouchGFX Middelware ? X-CUBE-TOUCHEGFX v4.13.0 offer this possibility or not yet ?Tankyou.
HAL does not work in * .hpp and * .cpp files. Can it be bypassed?
Hello.I would like to know if there is some kind of manual to make everything work.I tried to follow “Generator User Guide�? from here: https://support.touchgfx.com/docs/development/touchgfx-hal-development/touchgfx-generatorUsing the following parameters:I get the following error in both cases:Fatal Error[Pe035]: #error directive: "A user must call touchgfx::startNewTransfer(); once transmitFrameBufferBlock() has succesfully sent a block." D:\cubemx\wind0\Src\TouchGFXHAL.cpp 40Using these parameters:I get this:PS: I use IAR 8.30PPS: I commented the following lines in the TouchGFXHAL.cpp and somehow SW was working but there was no picture in the board screen...#error "A user must call touchgfx::startNewTransfer(); once transmitFrameBufferBlock() has succesfully sent a block."#error "A user must implement C-methods isTransmittingData() and transmitFrameBufferBlock() used by the Partial Framebuffer Strategy."If any other information is needed please let me know.Thanks
environmentTouchGFX4.12.3Select STM32F746G Discovery Kit in APPLICATION TEMPLATESelect Blank UI in UI TEMPLATE and createCreation of TouchGFX Application failed.Why?How can I check the error log?Thank you.
..
Hi All,We are using STM32F429ZIT6 MCU with 8 Mega byte SD RAM connected to FMC peripheral. And 16 Mega Byte Serial flash which is connected via SPI. The internal memory is 2 MByte for this MCUWe are working on a touch GFX project wich have many assets so the size of total binary exceeds the 2 MB internal Flash. So I have written a bootloader which takes the binary in via a python script and places Application in the Flash memory and assets(modified the linker script) in the SPI flashNow on every boot up the application will copy assets from spi flash and place it in SD RAM. I verified the memory dump of ram is exactly matching the assets binary contents. So I am confident that the assets are properly copied.I am following this webpage to do this. https://touchgfx.zendesk.com/hc/en-us/articles/203564102As mentioned in the above webpage I am following the exact same method.Below is the code.class myHAL: public STM32F4HAL{public: virtual bool blockCopy(void* RESTRICT dest
Good morning (o;Has someone came across a ST778x graphics library for controlling those small SPI TFTs?Seems the libs are only available for Arduino-like boards....Would also be interesting to know what the footprint of such a lib is if it exists...as my goal is to squeeze it into a F042K6 besides USB device and PID controller...thanks in advancerichard
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.