Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi,I'm working on DCMI in snapshot mode and the image that I get from this peripheral is shifted eah line down.I transfer throught DMA to a memory area in external SRAM. After I convert it to RGB and send to my framebuffer. The camera image has 720p horizontal, so I get only the 480 first pixels, but each line has a constant shift.I tried to read the addresses that were written in each LineEvent interrupt, but it varies.Below my inits hdcmi.Instance = DCMI; hdcmi.Init.SynchroMode = DCMI_SYNCHRO_HARDWARE; hdcmi.Init.PCKPolarity = DCMI_PCKPOLARITY_RISING; hdcmi.Init.VSPolarity = DCMI_VSPOLARITY_HIGH; hdcmi.Init.HSPolarity = DCMI_HSPOLARITY_HIGH; 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_ALTERNATE_2; hdcmi.Init.LineSelectStart = DCMI_OELS_EVEN; if (HAL_DCMI_Init(
Hi.I am using STM32F769I Discovery board with JPEG Codec and SPI interface.The JPEG Decoding is working with DMA from FLASH (inspired by JPEG_DecodingFromFLASH example for STM32F769I EVAL Boards).However, after I received a SPI package via DMA, the JPEG Decoding stops working. The JPEG process goes on and on but will not ever end?Any suggestions for the cause of this behaviour? I thought about an interefrence between the two DMA services/stream of the SPI and JPEG process, but I could not identify nor solve the problem...(I executed exactly the same JPEG decoding before and after a SPI reception, with same image data from FLASH. So there shouln't be the reason)Thanks!
Hi,I want to use swap container and a slider on same page. But when i click on slider background, i can not use swipe container, i.e i can not swap to second page. I just want to update the slider when i drag the indicator, not with clicking the background. So how can i implement this? Any advise?
Hello,I am fairly new to the TouchGFX designer and am trying to build an application where I can copy the contents typed using the keyboard on a screen(Custom Keyboard application provided with the designer) to another TextArea . I would really appreciate any help regarding this problem.
Hello,When I go to Texts->Resources and scroll to bottom, I got this error and all Resource ID values randomly changes.I upload log file for you see.Thank you,Anton
Hello,I've been messing around with the STM32F769 evaluation board trying to configure the init files to use the screen vertically instead of horizontally but I haven't figured out how to do it yet.Any guidance is more than welcome here. What's confusing to me is that the physical connection of the screen is kept unchanged and I intuition therefore that the LTDC controler must remain unaltered.Thanks.
When I run it,i get this dialog.
CubeMx IDE 1.0.1 - Custom board base on STM32F746IGT and 7'' LCD 1024x600.TouchGFX application consists of two screen. Each screen have text and one button. Each button change screen with slide transition (east and west) .After a few clicks, during screens transition application crashes.Using the debugger, after crash, I suspend execution.The PC is in "Infinite_Loop" and call stack in the follow:What could be the problem ?
I am working on a custom board with TouchGFX, and the custom board connects to a SPI LCD. I found an issue that TouchGFX will call flushFrameBuffer(const touchgfx::Rect& rect) function twice when making a screen transition. I just wondering if the behavior is normal, and why.Best Regards!
First of all, I am very new at this stuff. I have an STM32L476 Discovery, and I have been going in circles to get the LCD glass to operate. So far comments have been to look at other devices such as the Evaluation board, or how this is done with other devices using the LCD glass. Then if you try to load the demonstration program, you can't modify it without messing up the demonstration program. Ultimately, I would like to start with CubeMX, so that I can place my program in its own workspace (not in the repository). I would like step by step instructions (yes hold my hand) on how to use LCD glass for this device, not others. Oh btw, I will probably stick with Atolic True studio, because Cube IDE does not let me create the hex file. Is ST really this bad in making their programs work together, and are they really this bad in documenting how to make their products work? If you select a board with cubeMX, why does it not generate code for the board instead of the processor?I would like to
I need to decode HDMI signals,but STM32H743IIT6 controller not having HDMI controller(to convert RGB to differential signals and vise -versa) but STM32H743IIT6 supports LCD_TFT with RGB signals.is it support to interface lcd rgb pins to work with HDMI transmitter?can i use these pins as HDMI data pins?Please Help me i am new to HDMIThanks Sorry if any grammar mistake
Currently TouchGFX generates code (my target is a STM32F469 DISCOVERY board) that is based on the ST CubeMX framework. Is the 'mbed' framework on the roadmap, since I like it *a lot* better.
Hi everyone,I would be extremely grateful if someone help me to move forward.I have a STM32F469I-DISCO board and I want to make a simple HMI with few screens. Problem I am having is that I am unable to create project that allows me to use three pieces of software (in topic). I tried to follow Martin KJELDSEN video on 746G-DISCO but since I don't know what are correct MX settings for 469I board I get stuck.I have already spent like month trying to move forward and I only managed to use Visual Studio to edit gui files and be able to run simulator to see the HMI. But if I wanted to edit back-end of the application I need the CubeIDE.I am brand new to STM / ARMs, Eclipse and Touch GFX so this definitely doesn't help.Is there a step by step guide on how to create project?Or maybe someone has a template project created in CubeIDE for 469I-DISCO board?Thank you very much in advance.Zak83
Hi again @Martin KJELDSEN !I have a textarea with one wildcard with a fix width but ajustable height. If the wildcard doesn't fit I would like to have the text split in multiple lines, and/or change the text size to be smaller. Is there a simple function/setting to use for that or do I have to manually check getTextWidth()?Thanks in advance for the help!
HiI am using TouchGFX with IAR on STM32F746NG discovery.I have a code that tries to change text or button color , from Model.cpp (tick) -> Presentor.cpp -> View.cpp , the function in view.cpp calls xxxText.changeColor and nothing happens. Important note : It is working if I change color during the first "tick" call , but if I do it after for examples 1000 "tick" calls it is not working. Any idea what the problem could be ?ThanksAnat
I have an STM32F405, with circular i2s DMA set up and working fine. Interrupts fire perfectly, on every half and full completion (which is every 30ms, in my case).I want to keep the interrupts firing every 30 ms, but shift when that happens, in order for the interrupts to roughly coincide (±100usec) with some external event.NDTR is the counter which increments DMA memory, so I figured I could do a quick calculation of the needed shift, directly write that calculated value to NDTR, and the 30ms interrupts would continue, except shifted. Writing NDTR required disabling the stream first (from datasheet). Unfortunately, writing to NDTR means that NDTR will forever henceforth be reloaded with that value (I suspect when the stream is re-enabled, the silicon latches NDTR into some inaccessible register. The datasheet says NDTR is "reloaded automatically with the previously programmed value"). So writing my calculated value to NDTR means the 30ms is not 30ms anymore.So the question: How can I
..
Hi all!I want to find a MCU of ST can support LCD with resolution HD and Full HD@60hz (MIPI or RGB Interface). Please suggest me some series that I can use.Thank you so much!
I want to run the R64509V in the RGB 8-bit 8080 interface. Perhaps there is already a ready driver, please share it. I used the DB0-DB7 pins on the microcontroller, is this correct?
When I change the name of a screen or container, I get compile errors. I believe this is because TouchGFX won't delete code under the "gui" directory to keep from wiping out user changes. I can deleted these manually and build under Visual Studio, but as soon as I generate code in TouchGFX, it recreates these files and the compilation fails again.How can I delete or change these names in a way that doesn't break TouchGFX?
I need to display a filled graph, where some portions of the graph needs to be displayed in different colour than the basic colour of the graph. The graph is displayed using a canvas widget, created in touchgfx 4.10.0. In the drawCanvasWidget function, the graph is drawn using lineTo commands. (The filled effect is created by drawing a series of vertical lines adjacent to each other). The problem is that colour of the line can not be changed in the drawCanvasWidget function as the function is const. So, how can the part of graph be drawn in multiple colours? A sample of the graph is in the file attached.RegardsMathews
Does TouchGFX support two displays? Like two instances? We have two small 128x64 OLEDs in a project connected to two different SPIs.If not, define it as one 256x64 then let the output driver take care of servicing the two displays?Any advice on how to use STemWin in above setup?
On 32F429IDISCOVERY, a set of resistors selects the onboard LCD mode:As can be seen, R35+R41 determine one signal's state, R36+R42 the second signal's state (and the other resistors the rest of the signals).However, on silkscreen of the actual board, R35 and R36 appears to be swapped, as R35 is marked to be not next to R41 but next to R42, and vice versa fr R36:also confirmed by looking at the gerbers:ST, can you please comment/correct in next revisions of the board?Thanks,JW
Following prototyping with discovery board (STM32F746NG-DISCO), I am going to start my own design.Except, I need to change:1- The display, I will replace the 4.3" inch display with another with size of 10.1".2- I have to change the package of the MCU to the LQFP208 package.For the 1st part. I don't think it will be a much of an issue. As long as the new display is driven by the same interface RGB24. The rest is a matter of changing the parameters like width height sync. rate etc... However, if I am missing something please let me know.For the second part. I am very worried about changing the MCU package. I know it has the same peripherals and so. But during the design of the new board. I need to know exactly what are the peripherals and middlewares that I need to activate from CubeMx to be sure about the pins in use during tracing.Can you please tell me what are all the peripherals and middlewares I need to check so I don't miss something?And in general, what else I need to pay at
Following Martin's video (https://www.youtube.com/watch?v=VOs2LYO7wSA), I am trying to create a project for the STM32H750B-Discovery board.I created a new project in STM32CubeIDE (v 1.0.2) for the STM32H750B-Discovery board (using the board selector). When going to the CubeMX perspective's Middleware category, there is no GRAPHICS available in order to setup for TouchGFX.Can anyone tell me why? Note that I am able to create a design using TouchGFX designer and do a "run target" to this board.
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.