Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi all,I am working on a university project to build a small IOT camera. I am using the 32F746GDISCOVERY board with the STM32F746NG MCU along with the ov2460 image sensor from WaveShare, and the B-CAMS-OMV board as an adaptor.My code is based on an example for the STMF7508 Disco board, however, I have switched out the ov9655 BSP used in the example for the ov2460 BSP provided by STM.Initially, I am attempting to display a continuous video feed on the LCD screen using the following data path:Image Sensor → DCMI → DMA2 → Camera Frame buffer → DMA2 → LCD Frame bufferI am able to communicate with the image sensor through I2C and successfully read the ID. When the image sensor is initialised, I am receiving frame event callbacks, however, no data is being written to the camera frame buffer. The DMA transfer between the camera frame buffer and the LCD frame buffer seems to be working fine.I am pretty stumped as to why no data is being written to the camera Frame buffer and I have been workin
Hello, I want to compare text area content with enum TEXTS. How can I do this?
how can I solve this problem?I already cleaned and rebuild the project but the error not missingthe error comes when I try to run the target on touchgfx bcs the error coming from touchgfx. stm32cubeIDE is okay and got no error.
G070 is very similar to G071. I changed tim2 to tim3 of G070 on the automatically generated G071 program, but it seems that touchgfx cannot display it.
TouchGFX 4.21I have defined a user container: "Selection".The container contains two buttons: switchToScreenOne and switchToScreenTwo.I have also defined an interaction for each button that changes the screen. I have defined two screens: One, Two.Both screens contain the container "Selection1"The process works fine. Question: How can I set the color of the buttons in the containers in the ScreenOneView::setupScreen() function?I have already tried everything and just can't find the solution.
Hello guys! We are building a new technology to speed up the job you currently do in TouchGFX. Basically it's a computer vision algorithm which automates the boring part of GUI implementation (components, assets and text positioning). It is still a minimum viable product, but we are asking for engineers to test and see how it can be useful for their job. You can check in this link how it works for TouchGFX https://youtu.be/kJ1h-dJhaIEAnd if you want to help us giving your honest feedback, please go to the KnowCode website and click in the "Request Early Access" button https://www.knowcode.app/
HiI understand MVP(Model View Presenter) of touch gfx but what's the relation of some parts like custom containers?I ganna call a function in the currently active screen. how can I do it?Is there a hierarchy-like model to screen view?thank you
I am attempting to get the display example running on a nucleo board. I am following this document:um2787-getting-started-with-the-xcubedisplay-stm32cube-expansion-package-stmicroelectronics.pdfI am getting the following issues and I don't know how to resolve them:I tried to click the resolve button but it resulted in more yellow triagles and this when I closed the component selector.The document doesn't describe what to do if it doesn't go as planned. It also describes the setup for a different Eval board. However it states both in the start of the document and on the webpage for the display expansion that this should work for the nucleo board. I'm fairly new to STs tools so I have no idea how to resolve these. Any help is greatly appreciated.
Hello,I've followed the Generator User Guide to implement the Video decoding.Unfortunatly, when I add the video widget and try to run on target, I obtain the following error : Linking CM7/TouchGFX/build/bin/target.elf CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/SoftwareMJPEGDecoder.o: In function `SoftwareMJPEGDecoder::decodeMJPEGFrame(unsigned char const*, unsigned long, unsigned char*, unsigned short, unsigned short, unsigned long) [clone .part.3]': c:\TouchGFXProjects\RIVERDI_7_H7/CM7/TouchGFX/target/generated/SoftwareMJPEGDecoder.cpp:347: undefined reference to `jpeg_std_error' c:\TouchGFXProjects\RIVERDI_7_H7/CM7/TouchGFX/target/generated/SoftwareMJPEGDecoder.cpp:350: undefined reference to `jpeg_CreateDecompress' c:\TouchGFXProjects\RIVERDI_7_H7/CM7/TouchGFX/target/generated/SoftwareMJPEGDecoder.cpp:353: undefined reference to `jpeg_mem_src' c:\TouchGFXProjects\RIVERDI_7_H7/CM7/TouchGFX/target/generated/SoftwareMJPEGDecoder.cpp:356: undefined reference
Images used in the screens when TouchGFx project is created displays fine when the Binaries are loaded from TouchGFX ->Run Target. When the corresponding code generated for STM32cubeIDE is built and loaded on the board using STM32CubeProgrammer using the corresponding external loader the images are seen distorted.STM32Cube IDE version : V.10.0STM32CubeProgrammer : V2.11.0TouchGFX : 4.20.0Board : ETEMB043013XDHALProject that I used to create in TouchGFX is EVK043013B.I have copied the external loaders generated from TouchGFX from this path Drivers\vendor\Board\SE21098\Flashloader to the STM32CubeProgrammer path C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\ExternalLoader.Also in STM32CubeProgrammer I have selected MT25QL256A_20210984A_EDT.stdlr.What could be causing this issue?The way the TouchGFX is built is different from STM32Cube IDE build?Am I using a wrong flashloader?
Hi, how can i solve the multiple definition error? what i do is just disable the freertos function and get this error
Hi everyone,I have some misunderstanding about the use of the DBANK bit of the configuration bits.I have a costomized SPI bootloader located at address 0x0800 0000 and an Application starting at 0x08005000. So both are located on the Bank1. I made the choice to use only a single bank on my MCU because I don't need dual bank neither for updating or for changing boot bank. It is also because of the firmware size that can exceed 256KB. During a firmware update the new Application is read from an external SPI flash and during system boot the font characters and language are also read from the same external flash. After a successful update the SPI is deinitialized and initialized again in Application. Now the Issue:When the DBANK is unchecked the upgrade can be proceeded but when the bootloader jumps to the application, it seems the SPI bus is not working correctly. I have no characters displayed on the LCD. I have to power OFF and ON for the MCU to read the SPI flash, then the di
I get the following error when trying to include a .h file into Model.cpp
Hi! I have a dynamic graph that I want to autoscale depending on max and min of the curve. So each time I get a new value I redraw the graph with the new Y range. I also want my graph to have two Y Axis labels: min and max. How do I achieve that? For example, if I set range to (12, 57) I want to see only those two labels: 12 and 57. So far I can only make it show 57 (if I set Label interval to 57), but not 12.
Am working on STM32H745BIT6 device with 16bit external SDRAM, 800x480 resolution RGB parallel TFT-LCD. On the Hardware all 24 RGB lines are connected to LCD.and LCD also supports 24 RGB. Plan to use TouchGFX for developing application.For using 565 color mode Do I have to set the Display type in cubeMX LTDC section to 565 or can it be kept as RGB 888 and configure application to use 565 for drawing purpose only.To summarise I have 2 questions below,I believe in cubeMX the display type can be set to constant 888 mode and then TouchGFX application can use 565 or 888. Please confirm.if 888 color mode is to be used is 16 bit data bus SDRAM sufficient or need 32 bit SDRAM to use 888 color mode.ThanksAnuj
HelloI'm working on a F412G-Disco board, with a TouchGFX application. When generating the initialisation code with MX, in the Core inc directory, MX generate a nema_hal.c fileIt contain only a file header. So, this is not a big problem but it is annoying. I tried to find what component was generating this file with no success.What can I do to avoid this file to be generated?My configuration:STM32CubeMX version 6.7.1F4 Firmware version 1.27.1TouchGFX version 4.21.0I tried to find out with the log of the MX, STM32CubeMX.log what component was creating the file. But there is not enough information. How to change the log level generated by MX?Thank you.
Hello everyone.I Tried shared widget keypad with numbers. My question is how can get to hex from wildcard Unicode::UnicodeChar. Idea is to send simple CANBus message where is 9 wildcard input buffers and after char input it saves chars to a gui and saves hex to buffers ID[9] and Data[8] In GUI widget input ID[0FFAB] DATA[11][00][AB][02][03][00][FF][BE]And it saves in bufers like:ID[9] = {0x00000FFAB}Data[8]={0x11,0x00,0xAB,0x02,0x03,0x00,0xFF,0xBE}
Hi, may i know why i get this error when disable the FreeRtos function?i did'nt include any of freertos library anymore but why it still state the error no librray
I updated to TouchGFX 4.19.0 -> 4.20.0 and get this linker error. I cannot figure out how to fix it. Everything compiles successfully, but linker fails.c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: C:\DEV\handheld-main-mcu\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc\libtouchgfx-float-abi-hard.a(PainterRGB565.o): in function `touchgfx::PainterRGB565::paint(unsigned char*, short, short, short, short, unsigned char) const': (.text._ZNK8touchgfx13PainterRGB5655paintEPhssssh+0x1a): undefined reference to `touchgfx::paint::rgb565::lineFromColor(unsigned short*, unsigned int, unsigned long, unsigned char, unsigned long)' c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: C:\DEV\handheld-main-mcu\Middlewares\ST\touchgfx\lib\core\cortex_m7\
I tried both "Run Target" from TouchGFX Designer, and Cube IDE (Cube MX) compile / debug result is black screen. Compile, debug and run is without errors.
To test the Examples provided by TouchGFX Designer v4.20.0,I purchased the STM32F469I Discovery Kit.However, the TouchGFX Designer's Canvas screen is not loaded on the LCD screen.Downloading is perfectly completed. (Already I installed STM32CubeProgrammer v2.11.0 and I have experience in developing using STM32G071_NUCLEO board and X-NUCLEO-GFX01M1.)It seems to be related to UM1932 Chapter 6.2 32F469DISCOVERY prodct history.The board I have is (blue color pcb) DK32F469I@AU1 and MB1189-F469NIH6-B08But It seems that only (green color pcb) MB1189-F469NIH6-B07 is supported by TouchGFX Designer.Revision B-07 products are currently not purchasable.I'm in big trouble because It seems to be not supported by TouchGFX Designer.How can I test TouchGFX in DK32F469@AU1 Rev-B08 blue pcb board?Please help me....................................................................................................................................................For ST Empoyee1. When will the DK32F469
Hello,i need to setup a TouchGFX project for STM32F469i-Discovery.I tried to create the project via STMCubeIDE with the TouchGFX Software Package.But the Screen remains black.I created the project in following steps:Create Project from STMCubeIDE v. 1.10.1 and Board-Selector with default ValuesAdded Software Package TouchGFX 20.0Configured LTDC, DISI Host and TouchGFX Graphic ApplicationCreated TouchGFX Project from TouchGFX/ApplicationTemplatetried to run the project without success Is there something extra I need to do/implement ? I already added the /BSP/Components and /BSP/STM32F469I-Discovery Folderand managed to turn on the Display myself. But I still cant manage to display content on it.Do i need to write code into the /TouchGFX/target c++ files? I also created a second project with just TouchGFX Designer, but after running target the screen remains black too.So neither STMCubeIDE or TouchGFX work for me. But the demo projects work perfectly.I'm using STMCubeIDE version 1.10.1,
< /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_I2C1_Init(); /* USER CODE BEGIN 2 */ void ssd1306_Init(void); void ssd1306_Fill(White); void ssd1306_UpdateScreen(void); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) {/>
Hi, I want to receive 20 bytes.I want to receive them every 2 milliseconds and simultaneously.To show data, I am working with TOUCHGFX. I use dynamic graphs to show them.The problem is, I want to show 12 bits on each graph.I debugged my code , it seams I don't loose data.but my graph is not fed correctly.I have 2 signs in my data packets, first is 240 and last is 180.here is the code: void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){ if(Sign[0]==240){ HAL_UART_Receive(&huart1,(uint8_t*)RxBuf,19,100); FlagFinsh=1; HAL_UART_Receive_IT(&huart1,(uint8_t*)Sign,1); }else { HAL_UART_Receive_IT(&huart1,(uint8_t*)Sign,1); HAL_GPIO_TogglePin(RED_GPIO_Port, RED_Pin); } } and in my touchgfx screen in handletickevent function , I just extern and add data to graph:
Hello all, I create a custom container and need to used click/drag/gesture event,but the handleClickEvent/handleDragEvent/handleGestureEvent cannot trigger in it. How can get these event in custom container?
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.