Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
STM32CubeIDE doesn't generate the correct code when the Grphic application option is enabled. I tried with many configurations but seems like there is not generated the correct code to have the LCD properly enabled. If you see the attached image tje code related with TouchGFX is showing error. No sure if I need to configure other things, but file .ioc is not showing any mistake. In previous version there was not present this problem.
Hi,I have problem (OVERRUN flag) with data transfer from DCMI to external SDRAM.I have STM32H753 which in AN5020 has architecture like this:(Application note, Digital camera interface (DCMI) for STM32 MCUs)So it has connection between DCMI and FMC via DMA1/2 and D2-D1-bridge.Great, but ...when I send frame 320x240@RGB888 from DCMI to SDRAM, I get in HAL_DCMI_GetError value 0x41 (HAL_DCMI_ERROR_DMA | HAL_DCMI_ERROR_OVR) and in HAL_DMA_GetError valueo 0x00 (HAL_DMA_ERROR_NONE).Configuration for DCMI and DMA: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_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.Li
Hi,I have error (Write/Read Transfer Error) when I'm using JPEG decoder via DMA HAL_JPEG_Decode_DMA(hjpeg ,(uint8_t *)JPEGSourceAddress ,CHUNK_SIZE_IN ,(uint8_t *)FrameBufferAddress ,CHUNK_SIZE_OUT);I don't get any interrupts from JPEG but from MDMA I get Transfer Error Interrupt:- mdma_jpeg_in I get HAL_MDMA_ERROR_WRITE_XFERhdma->Instance.CISR = 0x1 hdma->Instance.CESR = 0xC0 hdma->Instance.CSAR = 0x30000400 hdma->Instance.CDAR = 0x52003040- mdma_jpeg_out I get HAL_MDMA_ERROR_READ_XFERhdma->Instance.CISR = 0x1 hdma->Instance.CESR = 0x44 hdma->Instance.CSAR = 0x52003044 hdma->Instance.CDAR = 0x70119800JPEGSourceAddress (0x30000400) in RAM_D2FrameBufferAddress (0x70119800) in SD_RAMHAL_JPEG_MspInit is copied from examples /* JPEG MDMA Init */ /* JPEG_INFIFO_TH Init */ hmdma_jpeg_in.Instance = MDMA_CHANNEL_JPEG_IN; hmdma_jpeg_in.Init.Request = MDMA_REQUEST_JPEG_INFIFO_TH; hmdma_jpeg_in.Init.TransferTriggerMode = MDMA_BUFFER_TRANSFER; hmdma_jpeg
Hello,I have a little problem with an animated image at startup (logo with 6 pictures, change every 600 ms). The demo runs on an STM32F769I-DISCO.The outline and a symbol in the middle of the logo is fixed all the time, just some other parts apear with every new picture.My problem is that I see the changes of every image on the fixed parts of the images.I have tried to set the animated image in a container and set it "Chacheabel" and additional to increase the "Canvas Buffer size" but sadly without any improvement.Is there any optimization available that the images change "smoother"?Thank you in advance.
I'm using ScrollList in my TouchGFX project, but there are 2 problems:1, After setWindowSize(n), when n is not 1, the itemSelected in void scrollTopItemSelectedHandler(int16_t itemSelected) have a wrong value.As described in the following 2 tips:https://community.st.com/s/question/0D53W000003KJ4MSAW/how-to-keep-the-last-item-of-a-scroll-list-keep-at-the-bottom-of-list-not-solved-yet-when-using-setwindowsize-there-are-some-error-please-help-me-https://community.st.com/s/question/0D50X0000B7ZL90SQG/problem-with-itemselectedcallback-scroll-list2, When setWindowSize(1), and scrollList.setSnapping(false), the itemSelected always right in each selection;but if scrollList.setSnapping(true), the itemSelected will move left a half item.How to solve these two problems?Is there some bug in ScrollList, or am I using it wrong?
Even after that I am getting "?????? " from memory address 0x90000000 in memomy browser from STM32Cube IDE. What does that tells?Can you please guide me in a right direction?
I am trying to get user input from the GUI to FreeRTOS. The text area buffer is transferred from my screen1View, to screen1Presenter, to model then added to a queue. Finally, my task in FreeRTOS will check for new data in the queue every 1 second.The problem now is the received data. The user input in gui is 57346,the text area display this number correctly i.e. no space in between the numbers. But in my ucData[10] buffer, a 0 space exist in between the number i.e. 5070304060. How can I correctly transfer the user input to my main.c? Where is the cause for this ? Thank you!Other code information below if relevant.Screen1View.cpp void Screen1View::doUpdatePIDParam() { presenter->doUpdatePIDParamB( textArea_PBuffer, textArea_IBuffer, textArea_DBuffer, textArea_TargetBuffer); }Screen1Presenter.cpp void Screen1Presenter::doUpdatePIDParamB( Unicode::UnicodeChar *bufferP, Unicode::UnicodeChar *bufferI, Unicode::UnicodeChar *bufferD, Unicode::Unico
So I am guessing it's the issue with the memory allocation. I followed the steps given for External addressable flash in TouchGFX documentation in STM32Cube IDE.(I am not using my application to test Quad SPI Memory: I followed the exact steps given for memory mapped mode with the same example as given in the TouchGFX Documentation)I have read application notes 4760 as well and tried that too still I am getting "???????" from memory address 0x90000000 onwards. What does that mean? Is it reading anything?This application is going to display real time data on the display. which External memory should be compatible for this? External RAM or External flash?Can you please guide me in the right direction?Thank you in advance.
Currently, it appears that there are not "User Code" areas in TouchGFX target files which can be protected by a CubeMX generation.This is possible throughout core/main.c and Hal drivers and it would be nice to have for TouchGFX Generator files as well.This would be very useful, especially when adding dynamic bitmap cache to the registerBitmapDatabase() function call in TouchGFXConfiguration.cpp.It is likely that it cannot be currently be done, but would it be possible to add to future releases?
Hi,I have tried to generate a new project via the templates in TouchGFX for STM32F429-discovery. I have also tried to create a create a project via STM32CubeMX 5.5.0 for the same board and followed the guide https://touchgfx.zendesk.com/hc/en-us/articles/360010921760-TouchGFX-HAL-Development.Every time I hit the "generate code" in TouchGFX the result is "The calling thread cannot access this object because a different thread owns it." What can cause this failure..? Is it the tool, code (not modified by me) or Windows 10?Bonus error; I also have the "String was not recognized as a valid DateTime." This one I know how to solve, but I don't know if they are linked...Hope you guys can guide me.Rasmus
Hello!I want to have a menu and I want it to be a scrollist with the elements in the list being buttons. I have tried it in the designer. I made the custom container first, a small element with an image, a textarea and togglebutton. Then added a scrollist to my screen, using the buttoncontainer.But when I simulate it, it turns out it's not very easy to scroll the list since the buttons is covering every element. So when I try to scroll I instead end up pushing the buttons. What is the best solution to this issue? Is it possible to differentiate between a touch and a drag/swipe? Or is it easier to change the size of the button to not cover the element entirely?Thanks in advance!
Hi,I want to use wildcard texts, which align text to right instead of left.I have empty text items (nothing but <value>), which have text area width set to full width of the screen. I need the text inside the text area to be "anchored" to right side, so that the added text will "grow" left, instead of right.Align feature does not seem to do anything.So far I cannot figure out anything else than manually call textItemRight.moveTo(XPOS - textItemRight.getWidth(), textItemRight.getY());to align texts to right. This is cumbersome to do manually for many texts.
I am using STM32F1 series MCU for my Formula Student Electric Vehicle. To display various data of the car on dashboard we require a LCD Display. All sensors are communicating through CAN protocols.I want to ask do LCD screen should support CAN interface to display data or we can use SPI pins of STM32 series to display data?
My design consisits of STM32H743 runs at 480 MHZ with live video from camera at (960*540) RGB565. DCMI pixel clock is 78 MHZ. frame rate is 29 FPS. external memory runs at 132 MHZ. Data flow is DCMI->DMA->SDRAM->DMA2D->SDRAM->LTDC->SDRAM. I am also using TouchGFX for GUI but only on small window and its frame buffer in in the internal memory. 2 layers of the display are used. the system work fine but i always have DMA FIFO error. i am synchronizing every thing except the part of the display because touchgfx take control of the display. the only solution to get rid of the DMA FIFO error is by reducing the camera pixel clock wich affect the frame rate ofcourse. when i disable the display access to the external memory the DMA FIFO error dissapear. I dont know if the DMA is not fast enough to transfer the data while the LTDC also access the memory or its because the memory bandwidth and the concurrent access to it.
To populate the contents of the scrollablecontainer using touchgfx designer, I have to place the contained widgets outside the visible area of the screen. This makes it really hard to see what I have just laid out.Is there any way to see the entire contents of the scroll container in the designer?
When operating the scrollist widget on the capacitive touch screen controlled by the STM32F429, clicking works fine, but sliding is unresponsive,and so does the scrollwheel widget.Of course it is normal in the simulator! Also, when using the Button widget, with the property MIXINS Draggable checked, Button can't be dragged and moved, but clicking is normal! I don't know what's causing this, is it because touchgfx isn't configured properly? But I think the widget clicking events are normal, which means the touchscreen driver is fine! Oh, and by the way, I'm using an FT5426 touchscreen chip.
..
I need to know data format used by L8_RGB8888 image. I have found this article:https://support.touchgfx.com/docs/development/ui-development/scenarios/using-the-l8-image-format-to-reduce-memory-consumption/but this is absolutely useless for me, it does not tell anything how should I modify the data contained in cpp array.I have a PNG file or BMP file, does exist some command line utility that make conversion to cpp array for me?
Hi there,regarding events from external hardware there is a lot of good documentation. What i did not find is how to solve the problem of simulating the hardware for the simulator. I.e. imagine this scenario: the GUI is designed by an external company / remote department without C++ compiler, JTAG probe, development board and all that stuff. There are Designers to just design the GUI and send the TouchGFX project to the Embedded guys. Is there a way to display buttons (for digital INs), sliders (for analog INs) etc. "outside" the GUI display and connect those events to the according GUI elements "inside" the display?Thanks and Greetings!
Hi to everyone, First: thanks to ST and TouchGFX team for this great graphics tool/designer - it is really awesome with all the possible widgets and interaction.I'm new to TGFX and have also near zero experience with Cpp but I was able to build a nice UI with some screens, containers and so on but one thing I'm not able to find a solution.I created a custom container with an vertical slider and an custom indicator image (round knob). On this knob i want to set on top a text field which value depends on the slider value (1-10) and is also moving with the slider knob position.I was able to change the text value depending on the slider value but I don't know how it's possible to move the text with the slider knob position.Maybe someone can help me, I'm happy about every hint, web link or code sample.Thank you in advance.BR,H.S.
Hello, if I create a partial project from CubeMX, open it in TouchGFX designer, add a button and run the simulator, nothing happens. The simulator executable is built correctly, but it exits immediately with no errors reported.
We have our hardware which was developed and built on an older version of touchgfx (4.8.0). We are trying to build the same project with the newer touchgfx (4.13.0). When we do so, there are some small distortion on the images. How do we solve this?
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 a TextArea on another screen. I would really appreciate any help regarding this problem.I am using a STM32F746G-DISCO Board.Thanks in advance.
I have doubt that the bandwidth of the internal memory which is 1536MB/s is too fast. i am using stm32h743 at 480 MHz and the AXI bus speed is 240MHz.
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.