Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
hi.how to update screen such as text,clock or ... in another rtos task in main.c file ?
I put a ScrollWheel inside ScrollableContainer, then the ScrollWheel can not be scrolled.How to go around it?
In my opinion, the framebuffer lock is used to prevent the mutual exclusion of the framebuffer, but touchgfx itself runs in a single task, so is this lock used to prevent the simultaneous access of touchgfx software rendering and dma2d rendering? There are some problems in using this lock on my project. Can I remove this lock?
Hello, I want to update my display data via SPI DMA. The display has 480x320px and I have chosen a 3 bit color coding, so that I can send two pixel within one byte. So my framebuffer has a size ox (480x320)/2 = 76800 byte. But when I want to transmit them with HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)I have the size restriction. Do you have any idea how to solve this? I tried to use a state machine within the Interrupt: switch ( eSpiDMA_TransmissionState ) { case eStartTransmission: LCD_CS_SET; LCD_DC_RESET; LCD_CS_RESET; eSpiDMA_TransmissionState = eSendFirstHalf; if ( HAL_SPI_Transmit_DMA( &hspi2, (uint8_t *)0x2c, 1 ) != HAL_OK) { // todo: error handling } break; case eSendFirstHalf: LCD_CS_SET; LCD_DC_SET; LCD_CS_RESET; eSpiDMA_TransmissionState = eSendSecondHalf; if ( HAL_SPI_Transmit_DMA( &hspi2, &displayFramebuffer[0], 38400U ) != HAL_OK) {
Hello,I am writing to you because I need help to solve my problem.Here is the situation:I am learning to use emWin. I use an OLed screen with an SSD1305 controller. it's a monochrome screen.Currently I communicate by SPI bus.ST does not provide a driver for this type of screen. So I wrote a driver.emWin works very well, buttons, animations, keyboard ...However, for everything to work well I need to use MEMDEV.If I don't configure a MEMDEV, emWin does not show me all the elements.The animation works but when I hide window n°2, only the animated part of window n°1 hides window n°2The window n ° 2 is of dimension 45x64I would like to know, if I don't want to use a MEMDEV, do I need a specific setting? I have been searching for several days, without results, and I cannot understand why such behavior.void LCD_X_Config(void) { GUI_DEVICE * pDevice={0}; GUI_PORT_API PortAPI={0}; // // Set display driver and color conversion for 1st layer // pDevice = GUI_DEVICE_CreateAndLink(DISP
I understand the simulator doesn't know about GPIO and so on. That being said, if one wanted to manipulate the hardware from the UI actions (say, set an LED), what's the best way to do that?Two ideas I have: 1) Use the preprocessor to comment out any code that won't run during simulation 2) Pass data two and from the main tasks via variables that are monitored on another thread. What is suggested? As is, including the HAL libraries doesn't work without manually mangling the makefiles.
I'm trying to figure out how to interface with the LCD controller on the STM32373C-EVAL board. The driver code I downloaded from the keil.com queries the chip for an ID and checks to see if the chip is an ILI9328 or a HX8347, but neither ID matches. The ID returned from reg 0 of the chip is 0x9595. Is there any way I can find out what chip this is?The LCD daughterboard is fixed flush to the eval board so I can't just flip it over to read the part number on the chip itself. I'd rather not write my own initialization and interface drivers for a chip, but if I have to, then finding a datasheet for the part I'm trying to interface with is the first step.
Hello everyoneHas anybody ever been successful in configuring STemWin library for external SRAM with STM32 MCUs? (I struggling with this for a couple of months)
hi, i have a touchGFX app working smoothly with some business logic on other tasks; that's all good and well.now some screens have to show frequent data from biz logic, and others not. so i'd like to make the biz logic controller aware of the screen currently on display.i could easily put on every screen "setupScreen()" an action to push to Model and then to the "other task" the id of the screen currently on display..BUT i really believe there should already be a "callback" for the Model object to be notified when a new Screen is being displayed (with some kind of ID.. i suppose there's an ENUM of all the Screen ID, right)..so i'll ask here, to the more knowledgeable, if there's already this callbak on Model object.. this way, will do not reinvent the wheel..Thanx
Hi.I create project in touchgfx and run ok on 32F746G-DISCO board.But in keil compile error. image of errors in attachplease help me.thanks
I've purchased a STM32373C-EVAL board for some academic work which relies on the LCD, among other peripherals. I've generated code with STM32CubeMX and set up my Keil environment with the runtime environment (with the LCD and SPI components, and set up GPIOD2 as open drain output for the LCD enable) to get it compiling and running. The LCD initialization fails, spinning forever to wait for the for SPI communication to complete.I've looked through the docs for the eval board, but the details on the LCD are really light. Is there any more thorough documentation to help debug what the problem could be? Otherwise, is there any example code available to compare my implementation to in order to make sure I've configured everything correctly? Since this is academic, I was disappointed to see that the LCD examples in Keil are gated by a professional license.
Hello, After creating an app with TouchGFX 4.13.0 on STM32F769 DISCO v3 template I'm facing two issues: a) External Flash load: Run Target fails on TouchGFX Designer. I can flash the board only by edditing the linker script on CubeIDE replacing all usage of QUADSPI area by FLASH (thus not using the external flash), even after setting the external flash on debugger settings. Is there a better workaround for ext flash usage? b) Makefile rule defined for Blue_Buttons_Round_Edge_small***.cpp files fails when building the project. The files didn't actually exist in [AppDir]\TouchGFX\generated\fonts\src (perhaps because I was not actually using buttons in the app), so I copied them from another project and linked them back on CubeIDE. Hope it's useful for community members and please let it be known if there are fixes,Thanks!
I need a round display like this:https://www.displaymodule.com/products/dm-tftr34-359but all the displays i found similar to that have MIPI 3 lines. I know that some MCUs have a MIPI 2 lines connection. Is it right?Is there a way to connect this kind of displays with mipi 3 lines? Or a method to convert 3 lines in 2 lines or another method to convert mipi 3 lines in RGB888 and using so LTDC?
Hi ,I have just started using the TouchGFX designer but I am facing some issues which are as below:1) If I modify the font size for one text area then it automatically modifies the size for other text area. How to fix this ?2) I am not able to modify the color of the buttons 3) How to specify the runtime text/values for the widgets ?4) How to scroll the text from right to left ?Please suggest the solutions for above queries.Regards,Shree
How to improve the rendering speed of graph widget, especially when there are many dots?
Hello everyoneDoes anybody know how do I change the text direction in STemWin library? I mean I want write on LCD in the right to left direction (Arabic Fonts)
Hello everyoneHow can I download earlier versions of STemWin library from ST website? Best regards
Hi ,I have developed the scroll by by referring some demo application but it always shows the default value only. How can I update the values in scroll wheel. I want to show the scroll wheel for values 5 to 45 with Current, previous and next value visible on scroll wheel.Please suggest the way to do it.Regards,Shree
I have an unsophisticated system. RAM/Flash internal to the F750. Running perfectly at 200 MHz, many UARTs and other peripherals, displaying data/status on LCD screen. Compiled with Keil free uVision V5.27.1.0 with no errors and no warnings.Enabled I/D-Cache. Some data (displayed near bottom of screen, in case it matters) was corrupted. Disabled D-Cache and problem disappears. Re-enable D-Cache problem reappears. I-Cache enable/disable has no effect on the problem. Any suggestion how to avoid the problem? Is there a way of increasing the level of array checking, etc. in case my coding is to blame?
Hello Everyone, I am storing some variables in the model and access them from different screens. When the values are initialized they have the correct value however after a while they get random values that are outside the ranges that I store in them. I use a member function on both presenter to get the value from a get function on model. The corrupted values are quite large which makes me suspect the values get overwritten with different data. I also setup breakpoints on the tick function inside model and the values are fine but it might be something else that makes the change after a while or on a screen change.
<Symptom>1)touchgfx update_project --project-file=..\EWARM\STM32F7508_DISCO.ewp --gui-group-name=Application/User/TouchGFX/gui --generated-group-name=Application/User/TouchGFX/generated && touchgfx update_proect --project-file=simulator/msvs/Application.vcxproj && ruby updateMXProj.rb Could not find command "update_proect". FailedIn Test1.touchgfx "PostGenerateCommand": "touchgfx update_project --project-file=..\\EWARM\\STM32F7508_DISCO.ewp --gui-group-name=Application/User/TouchGFX/gui --generated-group-name=Application/User/TouchGFX/generated && touchgfx update_proect --project-file=simulator/msvs/Application.vcxproj && ruby updateMXProj.rb", "update_proect" <-----------This one might be error2) Post Generate touchgfx update_project --project-file=..\EWARM\STM32F7508_DISCO.ewp --gui-group-name=Application/User/TouchGFX/gui --generated-group-name=Appl
As far as I searched, I couldnt find any instruction on using Touchgfx via fsmc. Even examples on Touchgfx designer was to use LTDC feature of microcontrollers. I wonder if developers of touchgfx has extend their platform to FSMC or if they have any intention to provide some code for using touchgfx on fsmc. I used stemwin successfully some days ago and I wonder if it is possible to use touchgfx on stm32f407vgtx (Discovery board.)
I would like to use an STM32F7 MCU to drive a MIPI 1920x1080 display.I have seen that the max supported resolution for this type of MCU is 1024x768, but I am asking to know if there is an embedded mechanism that allow me "to plot the same pixel" of the frameRAM more than one time into the display. In this way I can continue to use the MCU facilities and at the same time use a panel that I am already using in another product. Please, someone can help me? Thank you in advance.
Hello,I try to figured out if STemWin use the DMA2D to display JPEG or BMP when configured in 24bpp (GUICC_M888) with LIN lcd driverAs descrived in AN4323 Rev 5 4.1.3 Hardware acceleration (https://www.st.com/content/ccc/resource/technical/document/application_note/54/c9/95/42/8c/0b/43/69/DM00089670.pdf/files/DM00089670.pdf/jcr:content/translations/en.DM00089670.pdf) The LCD_DEVFUNC_DRAWBMP_24BPP is not yet implemented. I have tried to register my own one with LCD_SetDevFunc(i, LCD_DEVFUNC_24BPP, (void(*)(void))_LCD_DrawBitmap24bpp)); in LCD_X_Config.The _LCD_DrawBitmap24bpp is never called when displaying a 24bpp BMP or JPEG Did I miss something ? ThanksSimon
hi,i had designed 2-3 pages of gui, don't know what's the issue is look like touch gfx footprint is big so when i click on button gui get hang. but when i saw demo app it got more than 4-5 pages with lot of wizard. don't understand why this won't work for me.
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.