Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hello, Now I'm using stm32h747I DISCO to display something.but when I push Run target button, following Error has occured.I'll waiting your help.-------------------------------------------------------------------------------------------------------------------------- Done Flash make -f ../gcc/Makefile -j8 flash STM32CubeProgrammer is placed in Program Files STM32CubeProgrammer is placed in Program Files (x86) Converting images STM32CubeProgrammer is placed in Program Files (x86) Linking TouchGFX/build/bin/target.elf Producing additional output formats... target.hex - Combined internal+external hex intflash.elf - Internal flash, elf debug intflash.hex - Internal flash, hex extflash.bin - External flash, binary STM32CubeProgrammer is placed in Program Files (x86) -----------------------
Hi,does anybody have a solution for when more than one person is working in a TouchGFX-designer project? We get really annoying merge conflicts (git) in the .touchgfx-file that is often pretty difficult to solve manually. What's your tip for us, @Martin KJELDSEN ? :)Grateful for help, thanks!
I have a very simple question and I hope there is some simple answer.After creating translations in TouchGFX, we noticed that numbers can be display either using decimal points ($12,333,444.00) or using decimal commas (12.333.444,00€).When I change the language from say English to French, how do I change the values displayed to differentiate decimal point and decimal comma?
I would like to show a text from a .txt file (FatFs).The .txt file contains a log of the HMI, so it gets every time bigger.Is there any solution to show any dynamic text?I can do it with a wild card and set the buffer size very high. But someday the text from the file will get bigger then the wildcard buffer.RegardsDejan
Ok, so I'm finding my way through STM32CubeIDE, MX and TouchGFX. I've read a lot, whatched videos and read tutorials. Cutting to the chase, I'm using a 747HDisc0 board, STM32CubeIDE v1.4.0 and TouchGFX 4.14.4. I'm obviously trying to use them together and, like many in the past, struggling to get going.I've created non-graphical projects in CubeIDE and successfully run them on the Disc0 board. I've created projects in TouchGFX and successfully run them on the Disc0 board.There isn't much that I can find on the latest releases, but plenty on IDE 1.2 and TouchGFX5.5. The main advice seems to be: Create an app in TouchGFX, generate the code and import the resulting .ioc into CubeIDE.Two issues:I don't see an .ioc file when I generate code from TouchGFX.If I open CubeMX > Software Packs > Select Components, X-Cube TouchGFX 4.14.0 has no download option (although I have it installed) and states that 'This pack cannot be used on the selected processor", and the 'generator' option is gr
I would like to achieve scrolling to the left on an item in the scroll list will reveal a set of buttons that can perform some operations on the item. As you can see on iOS.The scrollable container dosen't seem to receive horizontal scroll.Is there any fix or is it not possible?
My config:I am use FSMC for communication over intel 8080 without DMA with SSD1963 LCD driver;My custom display 100x100 pixels;I am not use touch;I am use internal framebufferI am configure my project with as: https://support.touchgfx.com/docs/development/touchgfx-hal-development/scenarios/scenarios-fmc/generate simple design in TouchGFX Designer (box 100x100 pixels with RED color)create one frame buffer 100x100 pixels 16bppadd code for handling tearing and synchronization with RTOSTouchGFXHAL::flushFrameBuffer(const touchgfx::Rect& rect) never call... (I am use TouchGFX gen. 4.14 and 4.13 designer)Can you describe steps for run my simple design?My GUI Task in freertos:void TouchGFXHAL::taskEntry() { enableLCDControllerInterrupt(); enableInterrupts(); os_inited = true; OSWrappers::waitForVSync(); backPorchExited(); for (;;) { OSWrappers::waitForVSync(); backPorchExited(); } }and virtual void backPorchExited() { swapFrameBuffers(); tick(); }
HiIt seems that ChromART supports A4 and A8 formats very well, but I haven't found a way to draw dynamic bitmaps that use either of these formats -- it fails on an assert.Glyphs can use both of them (efficiently), so there must be a way to do it? So far I've hacked a custom Font class that creates a glyph with my custom bitmap data, and a widget that calls LCD::drawGlyph... but that's really silly (and buggy -- see my other post about big glyphs).Did I miss something? If not, it would be great to support these formats directly. Why is there an assert that prevents from using them?Thanks.
Hello! In project i am get in interrupt touch coordinate and handled in STM32TouchController::sampleTouch:bool STM32TouchController::sampleTouch(int32_t& x, int32_t& y) { /** * By default sampleTouch returns false, * return true if a touch has been detected, otherwise false. * * Coordinates are passed to the caller by reference by x and y. * * This function is called by the TouchGFX framework. * By default sampleTouch is called every tick, this can be adjusted by HAL::setTouchSampleRate(int8_t); * */ if (ft_initialized) { if (ft5206.touchDetected) { x = ft5206.touchCoordinatesX[0]; y = ft5206.touchCoordinatesY[0]; ft5206.touchDetected = 0; return true; } } return false; }But function Screen1ViewBase::buttonCallbackHandler never call:void TestViewBase::buttonCallbackHandler(const touchgfx::AbstractButton& src) { if (&src == &button1) { //Interaction1 //When button1 clicked change color of box1 //Set RGB color R:255, G:0, B:0 on box1 box1.se
Dear allDisplaying analog voltage value on TouchGFX GUI using STM32F746G-DISCO kit.I watched YouTube and followed it.The ADC input is up to 3.3V, but the value displayed on the LCD is displayed in a very large number. The ADC is 12 bits and the output is 3.3/4096. If it is normal, the maximum voltage should be displayed as 3.3V on the LCD screen, but I can't figure out why such a large value is displayed.Please let me know what's wrong.void Screen1View::analogUpdate(uint32_t value){ memset(&textAreaADBuffer, 0, TEXTAREAAD_SIZE); Unicode::snprintfFloat(textAreaADBuffer, sizeof(textAreaADBuffer), "%.3f", value * 0.000805664 ); // 3.3/4096 = 0.000805664 textAreaAD.invalidate();}
Hello,I don't know what is the problem with my project but when I try to update graph the screen have some lines on it.UC: STM32f429igt6Board: CustomLibrary: STEMWIN 5.34Please see the attached image to figure out the problem
I have a NUCLEO-L053R8 and a segment lcd display. I have generated the code with STM32CubeMX and connected up the wires.I am a bit confused as to how I implement the HAL_LCD_Write function, specially what your supposed to put in the RAMRegisterIndex, RAMRegisterMask, Data paramters.I did a bit of a google but didnt find anything helpful.Does anyone know of any resources/articles that will explain what I need to do to get this working?Thanks.
Here's my issue:Video: https://www.youtube.com/watch?v=Gb3pLHHNoysI executed according to step:Open TouchGFX to create a new project. Nothing draw.Open STM32CubeMX file of the project, turn FreeRTOS off, then generating code for Keil C.Open TouchGFX again, draw a box is container with black color, draw a button has parent is the box then generating code.Open Keil C file of the project, build project then download.How can I fix this issue ? Thank you for reading.
Hello everyone,I'm in the community and I started to study the STM32H7 microcontroller familly and the TOUCHGFX. After reading a few post here i discovered that there are some microcontroller the are not suppported by the TOUCHGFX enginne (apparently all the DUAL CORE MCU). If so, I would like to confirme if the STM32H743IIT6 if supported by the TOUCHGFX.Bruno
i am using STM32 CubeIDE, I did basic things like gpio, i2c etc. I am trying to work in display, but i dont know how to start display. Kindly anyone help me, touchgfx configure things and step by step procedure .
Dear Community,When I try to do some basic configuration of LCD with 769i disco, I see synchronization problems, that I could not proper image (attached image). LCD is dedicated B-LCD40-DSI1 board.Code looks like this: BSP_LCD_Init(); BSP_LCD_LayerDefaultInit(0, LCD_FB_START_ADDRESS); /* Enable the LCD */ BSP_LCD_DisplayOn(); /* Select the LCD Background Layer */ BSP_LCD_SelectLayer(0); /* Clear the Background Layer */ BSP_LCD_Clear(LCD_COLOR_BLACK); /* Some sign */ BSP_LCD_DrawPixel(400,0,LCD_COLOR_WHITE); BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 0, (uint8_t*) "Hello world!", CENTER_MODE); I thought it might be some configuration issue, but i saw in driver, that I try to use, clocks are already setup: stm32f769i_discovery_lcd.cIn siimilar way i try to use DSI to HDMI interface with ADV7533 and define USE_LCD_HDMI with similar results.In STM32CubeMx I generate def
Hi,I am using the following screen and CPU : 4DLCD-70800480 and STM32F746BGT.I configured the LTDC and TouchGFX parameter settings but the screen tears ...I have attached all the configuration.Best Regards
Hi everyone.I have Nucleo F746ZG Board and TFT 7" with SSD1963 display and I need a guidance/help for the configuration of CubeMX, Touch GFX in CubeIDE in order to get best performance of my Stm-Nucleo boards on custom Tft Lcd screens. (I don't understand why all tutorials and workshops of ST related to the TouchGfx are executed on disco boards while custom screens are out of scope).Thanks
HiIs there a solution to go back to the last screen?For example you go from any screen to the SettingsScreen and after you have set all settings you would like to go back to the last screen.Regards Dejan
systme is TW2835 with stm32h747 i catch video data butDCMI->DR cannot write to sdram buffer with DCMI DMAthis is DCMI, DMA Sorce hdcmi.Instance = DCMI; hdcmi.Init.SynchroMode = DCMI_SYNCHRO_HARDWARE; hdcmi.Init.PCKPolarity = DCMI_PCKPOLARITY_RISING; hdcmi.Init.VSPolarity = DCMI_VSPOLARITY_LOW; hdcmi.Init.HSPolarity = DCMI_HSPOLARITY_LOW; hdcmi.Init.CaptureRate = DCMI_CR_ALL_FRAME; hdcmi.Init.ExtendedDataMode = DCMI_EXTEND_DATA_8B; hdcmi.Init.JPEGMode = DCMI_JPEG_DISABLE; hdcmi.Init.ByteSelectMode = DCMI_BSM_ALL; hdcmi.Init.ByteSelectStart = DCMI_OEBS_ODD; hdcmi.Init.LineSelectMode = DCMI_LSM_ALL; hdcmi.Init.LineSelectStart = DCMI_OELS_ODD;-------------------------------------------------------------------------------------- hdma_dcmi.Init.Request = DMA_REQUEST_DCMI; hdma_dcmi.Init.Direction = DMA_PERIPH_TO_MEMORY; hdma_dcmi.Init.PeriphInc = DMA_PINC_DISABLE; hdma_dcmi.Init.MemInc
Hello, After load data from external flash memory display intial text is flickering. Please check video using below link.https://drive.google.com/file/d/1Y_qbsM-2iQcHDFH6mA2lt7MuAzxujCqu/view?usp=sharingI have added below fade settings in touchgfx.I m displaying logo and text "REVOS" for 1 second before main screen and during same time display is flickering. When I was storing data in internal flash, there was no such issue.Thanks
Hi,the touchscreens on STM32F469 Disc and STM32H747 Disc seems to be the same. Both have problems especially with buttons in TouchGFX. Sometimes the buttons do not react at all. STM32F746 Disc has no problems with similar setups. I use standart examples from Touchgfx. I found an article about this issue: (https://community.st.com/s/question/0D50X00009XkYb2SAF/touchscreen-linearity-on-stm32f469-issue) but never a solution. For me this seems to be a problem with the pressure sensitivity and/or linearity of the touch screen controller. I found no line in the driver files, where the sensitivity is set or adjusted. Does anybody have a solution for this problem?Thanks for help!Dave
Greetings,today I tried generating a VGA hsync and vsync signal using PWM on my NUCLEO-H743ZI2. To be precise, I wanted to generate a 640x480@60Hz signal with the help of this page.I analyzed the output of the PWM using my logic analyzer and thats the output for vsync and hsync:As you can see, it's exactly as it should be. So, I have a VGA breakout connector and connected all the GNDs and the outer shield together. I also connected GND, hsync and vsync from my STM32 to it but my monitor still won't get a clear signal. I even tried reversing the polarity of the sync signals and nothing works. Using a 22 Ohm resistor also won't work.The monitor recognizes that there is a signal but it won't let me into the menu for getting the resolution info and such, this happens on all three different monitors I tested the signal on.Using the built-in TFT-LCD vsync and hsync of the STM32 also won't work.I even analyzed the signal of a VGA card that I know works on this monitor using my logic analyzer
Hello,I've got a strange bug at times when clicking on a 'home-made' button. VS stops at SDL_DestroyTexture(framebufferTexture); and tells me there is an unhandled exception (see image) but then, when I click on 'continue' the code runs just fine and does whatever action it was supposed to execute. However, I'm worried that it can have some serious consequences over time and I'd like to understand what's going on here.Any help is more than welcomed.Guillaume.
helloi use Custom Keyboard application provided with the designer and I want to convert typed characters to strings and print this with touchgfx_printfhow to do this?
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.