Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I create custom container and include one radio button in that container and then I want to create list of radio buttons. The problem is that when I touch one radio button other buttons does not deselected. How to include radio buttons in the same group? (in custom container)
Hi,My aim is to bring up custom display with the STM32H735G-DK board. As a first simple step I am using the existing display with an internal (small) framebuffer following the instructions given here: 3. Display with framebuffer in internal RAM | TouchGFX DocumentationSee code snippets below, I am just trying to set some RGB888 colors in the framebuffer and loop through repeatedly by calling a simple method from the main(). But any other color than black or white just fails, typically shows as grey strips on the display...Maybe I have missed something around how the RGB888 colors are stored.. Code to declare frame buffer:// The display on the STM32H735G-DK is a RGB888 with 480 x 272 px. // Lets use a small framebuffer for a portion of the display that // could fit into internal RAM. uint32_t *framebuffer[480*100]; uint32_t bufferSize = sizeof(framebuffer)/sizeof(framebuffer[0]);Method called from main()static void FillDisplay(void) { // BLACK - works OK uint32_t RGB888_color = 0x0000
Hello!Updated to the cubeMX 6.6.1, migrated project to the new MX version. Board is stm32f401CCU6. SPI1 was used as a TFT display port. The TFT graphic library (https://github.com/sfrwmaker/TFT_graphic_library) stopped working in DMA mode. Investigated the issue: created very simple project: filled the 24-bytes buffer with a random color codes and started the HAL_SPI_Transmit_DMA(). No data transfer on the logical analyser (CS, MOSI & SCK pins were changed to zero). Tried to delete all the source and header files generated by cubeMX, regenerated the project.
Hello,We are looking to use the Rocktech RK070ER9427-CTG, which uses a GT911 display controller for an upcoming custom board we are designing. In the current evaluation board I have (STM32H7B3I-EVAL), they use RK070ER9427-CT, which uses a different display controller (FT5336). We would like to still use the TouchGFX application to develop the display, but with a different controller and a custom board, I believe it would require significant driver changes and specific hardware. I would like some assistance to develop this as cleanly as possible. I have the following questions:1) Are there developed drivers for the GT911 so I can use the display with the new controller? I will likely be using the same MCU from the evaluation board.2) What are the core hardware pieces needed for the display? An MCU, SDRAM and QSPI is what I (think) I have identified so far, but is this all? Or would I need other things?Thank you in advance.
I have the same problem as the link below.(link : https://community.st.com/s/question/0D53W00001XM98mSAD/touchgfx-generated-project-is-not-worked-on-stm32f746gdiscoc01)Only the "touch screen" doesn't work.My board doesn't work with hardware reset, but it works with STM32CubeProgrammer.What is the reason for this?
Hi everyoneI am new to toughgfx and need a scroll wheel for our new project. So I started with the tutorial 4. I think I followed every step, but when I copy the code, I get an error. The problem seems to be the textBuffer and TEXT_SIZE (Unicode::itoa(no, textBuffer, TEXT_SIZE, 10);). I get the message that they are not defined.As far as I know the tutorial should have all the steps and all the code needed.Any Idea what I'm missing?Thank you!#ifndef MENUELEMENT_HPP #define MENUELEMENT_HPP #include <gui_generated/containers/MenuElementBase.hpp> #include <BitmapDatabase.hpp> class MenuElement : public MenuElementBase { public: MenuElement(); virtual ~MenuElement() {} virtual void initialize(); void setNumber(int no) { Unicode::itoa(no, textBuffer, TEXT_SIZE, 10); switch (no % 7) { case 0: icon.setBitmap(Bitmap(BITMAP_ICON00_ID)); break; case 1: icon.setBitmap(Bitmap(BITMAP_ICON01_ID)); break; case 2: icon.setBitmap(Bitmap(BIT
Hello,I'm going to run demo by referring to the TouchGFX Documentation.But, When I run target after code generating in TouchGFX Designer, the screen does not display properly. Did I make a mistake? The same problem occurs again and again.Board: STM32429I-EVAL1TouchGFX Version: 4.20.0STM32CubeMX Version: 6.6.1STM32CubeIDE Version: 1.10.1STM32CubeProgrammer Version: 2.11.0Thank you in advance for your response.
Hello,I apologize if this question is broad, but I want to minimize the diagnostic time for an upcoming project.I am currently using an STM32H7B3I-EVAL board, which has a Rocktech LCD display on it. I have successfully run firmware on the display using the TouchGFX Designer, which generates a large majority of the code for you (since you can select the specific evaluation board you have). My next task is to design a custom board that uses the same MCU and Display as the evaluation board. This will require both a hardware verification and a firmware verification. However, if I jump straight to trying to get it to work on a custom board, it will be a massive headache to know if the hardware or firmware is the reason the board is not working. So I want to eliminate one of them.My goal is this:1) Write a basic firmware on an evaluation or discovery board that I can diagnose.2) Design the hardware, using the same firmware (at most, some pinout changes, if necessary) to verify the hardware3)
Is there a way to retrieve the bitmap size at compile time ?I find it a bit redundant to get the size of a bitmap at run time as the size is known after touchgfx generates all the images. Why not put some #define in the BitmapDataBase with the size (width and height) of each image?Thanks.
Hello,I have a TouchGFX project with a STM32F429DISCO board. On my home page I have 3 radio button and there are all in the same RadioButtonGroup. But when I go in other screen and I come back to my home page, the choice of radio button is reset.How to fix it ?Thanks for all
1. I had an issue with DCMI 8-bit wide parallel data bus) with Bayer RGB image sensor (HM0360)2. With hardware synchronization we are able see the VSYNC and HSYNC on the logic analyzer as mentioned in the attachment.3. I also attached the Parallel interface timing characteristic diagram for camera.What might be the problem for not getting the frame event call back.Configurations on the controller side as per the camera specifications.hdcmi.Instance = DCMI; hdcmi.Init.SynchroMode = DCMI_SYNCHRO_HARDWARE; hdcmi.Init.PCKPolarity = DCMI_PCKPOLARITY_FALLING; 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 = DC
Hello,I am trying to display an image on the LCD of my STM32F746NG Discovery board following the example 6.2 of the AN4861, which luckily uses the same board with the same LCD. I manage to complete all the steps until the end of section 6.2.5 (page 86). When I run the project, the LCD turns from white (default) to black, but it stays black and it doesn't show my image.When I debug I see that the LCD turns black inside the function HAL_LTDC_Init, in the call to __HAL_LTDC_ENABLE. In all this function the parameters of the hltdc Instance are changed and I can see in the variable tracker how they are changed.However if I continue debugging, when I reach the call to HAL_LTDC_ConfigLayer, which I guess is the method responsible to set the image, it doesn't seem to work well. If you see below, in line 21 the state gets changed correctly, in line 24 the layer configuration seems to be updated, in line 27 nothing seems to happen and then in line 30 the SRCR register is not changed i the variab
It is possible to change the language in TouchGFX.But I have a question regarding language.Suppose we have two languages English(GB) and German. And GB is the selected language. And on one of the screen we give a button and when clicked the language is changed into German. But when we try to simulate again the language will again be GB. Is it possible to remain in german language after pressing the button.Simply if we change language , is it possible to make the language as selected language so that when we restart the same language will be shown rather than GB. So that when we change langauge everything will be chnaged and we need not to chnage language everytime we restart.Thank you in advance:)
Dear users.. Has anybody interfaced 4x4 keypad with ILI9341 based TFT display on Nucleo-64 microcontroller board?
This is probably the stupidest question asked here but, i want to be absolutely sure.It's TouchGFX only for smt32 microcontroller? or can i use TouchGFX with a Esp32 for instance?. And, there is a way to develop a desktop aplication with tochGFX, can i develop an app for running on a Raspberry Pi?. tanks so much.
Hello all,I am using the Dynamic Graph to display incoming data over time. The frontline moves forward on the x-axis as expected. Then the user presses the Start Button to record the data, I clear the graph and restart at 0. The vertical frontline also restarts from position x.BUT: the previous frontline position is not removed in the graphics and stays there as a vertical non-moving line until the current frontline overwrites it. How can I remove this "old" vertical frontline?I have tried the following:graphicVerticalFrontline.setVisible(false);graphicVerticalFrontline.invalidate();graphic.clear();graphic.invalidate();graphicVerticalFrontline.setVisible(true);graphicVerticalFrontline.invalidate(); Has anybody an idea how to remove the old frontline?BR GS
Hi,In this image (taken from the touchgfx documentation) Can the 'font2' and the font in the cache (fontcache) be different? I'm asking cuz when I'm using a chinese font, I'd like to still be able to draw standard ascii chars from the default font (verdana) located in flash. I started doubting it could be done this way when I saw that some chars aren't drawn properly (curiously only chars like p,q,g):See the 'g' that's missing the bottom part?Thanks in advance for your answer, and if it's the case, then what's the proper way to do what I want to do?
Which template should I choose for my board with STM32H745BIT6 with 800x480 resolution?I checked the templates and there was no template available for STM32H745I think TouchGFX is generic and is not dependent on the controller but can you please point me to correct template to choose as per my controller? ThanksAnuj
..
I'm setting up a custom board. I was planning to use a NewHaven resistive touch screen with RGB888 and the STM32L4S9. I've been using the stm32F429Disc1 board to learn how to use TouchGFX with Cube IDE. I thought I'd be able to figure out how that works since it has a resistive touch screen. I don't see how the touch coordinates gets back to the MCU from the screen (physical pin out/ or what triggers the correct interrupt when a button was pressed). I also haven't figured out how to configure CubeIDE/TouchGFX so it knows about X1, Y1, X2, Y2 on the resistive touch screen.I'm sure there are instructions and examples somewhere showing how to setup TouchGFX? Does the info get communicated from the I2C/SPI connection?Also, any recommendations for touch screens 2.8-3.5 inch for new designs that integrate nicely with TouchGFX. I've had good luck with the New Haven LCD displays for past projects, but I'd like to know but if there is a better option for new designs?Thanks Update:I found the an
Hello!I wanted to check the TouchGFX demonstration for the STM32F746G-DISCO and imported the project via STMCubeIDE (1.10.1). The project builded without errors and can be debugged. Sadly I get the following Screens. Does anybody know why this demosntration doesn't work "out of the box"?I hope someone can help with this.kind regardsBenjamin
The project automatically generated by TouchGFX worked fine in the simulation but not when downloaded to the target. Also, when I used the STM32CubeIDE to run it from debug mode, it worked fine.It looks like the boot mode is the cause, but I didn't know the details. The target board (STM32F746G-DISCO) is in the factory state, and most of the project sources are the same as when they were automatically generated.I couldn't find a solution because the auto-generated project doesn't work.Do you have a solution or know about this problem?My environment is as follows:TouchGFX 4.19.1STM32F746G-DISCO (board edition: F746NGH6-C01)(STM32CubeIDE 1.9.0)
I use the scrollWheel widget for a menu structure. To set it's content I have used the method discribed in the STM32 Graphics: Getting Started with Scroll List Widget tutorial. The scrollWhel consists of 13 items and I use a dedicated template for the selected item. The automatically generated updateItemCallbackHandler hands itemIndex to scrollWheel1UpdateCenterItem function which I use to set the text for the currrently selected item.void measureMenuView::scrollWheelMoveDwn(void) { int16_t scrollWheelSelectedItem = scrollWheel1.getSelectedItem(); scrollWheelSelectedItem++; if (scrollWheelSelectedItem > scrollWheel1.getNumberOfItems()) scrollWheelSelectedItem = scrollWheel1.getNumberOfItems(); scrollWheel1.animateToItem(scrollWheelSelectedItem); scrollWheel1.invalidate(); } void measureMenuView::scrollWheel1UpdateCenterItem(secondaryMenuSelected& item, int16_t itemIndex) { item.setTextSelected(itemIndex, scrollWheel1.getNumberOfItems(), 0); }
Is it possible to change toggle button state?
Hi, I want to know ,Is it possible to customize vertical font line in dynamic graphs... instead of showing a solid color as it wraps and reload new data, I want to show my background grid lines while running .Can anyone help 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.