Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I wrote a function in my own cpp file using touchgfx library. It sets and start a zoom animation. I want that when the button is clicked ,the function is called to ScreenView.cpp or ScreenViewBase.cpp and then the animation is set and started.Is it possible? If it is, then how?
Thank you for helping.environment:MCU: STM32F769BIBoard: CustomSTM32CubeIDE Ver1.5.0TouchGFX Ver4.15.0Import the project created using the STM32F769I-DISCO template with TouchGFX with STM32CubeIDE,After setting the LCD clock with GUII disabled DSI in the GUI and set the parameters for LTDC and TouchGFX.The HSYNC, VSYNC, and DE signals are now output, but they are out of sync with the color signals.What should I do to get in sync?Also, is the initial setting of DMA2D correct as follows? hdma2d.Instance = DMA2D; hdma2d.Init.Mode = DMA2D_M2M; hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; hdma2d.Init.OutputOffset = 0; hdma2d.LayerCfg [1] .InputOffset = 0; hdma2d.LayerCfg [1] .InputColorMode = DMA2D_INPUT_ARGB8888; hdma2d.LayerCfg [1] .AlphaMode = DMA2D_NO_MODIF_ALPHA; hdma2d.LayerCfg [1] .InputAlpha = 0; if (HAL_DMA2D_Init (& hdma2d)! = HAL_OK) { Error_Handler (); } if (HAL_DMA2D_ConfigLayer (& hdma2d, 1)! = HA
Hi Team, I'm using a digital clock widget to display time, I'm setting some initial value for the time to start like16:00:00 from there I'm starting to increment the time value which I need to display in the display, which will happen when I'm on that particular screen. After 2 min (now time value is 16:02:00) when I transitioned to another screen and come back again to where I used the digital clock widget the value resets to 16:00:00 which shouldn't happen.How to resolve the issue where I can get the updated value even though screen transition happens. please suggest a solution.referred digital clock section in the support.touchgfx.com
Hi, I will use STM32H7B3RI in our final product and its not available in TouchGFX so I need to develop a project with STM32CubeMX. I have STM32H7B3I-DK now and I can create projects and run those on development kit. TouchGFX generates its own STM32CubeMX and STM32CubeIDE files so I can generate code and run it. I created new STM32CubeMX project and did exact same settings with the project that generated by TouchGFX. I compared both generated files and added missing files like BSP drivers. When I compile project generated by TouchGFX it gives a big .bin file (~2 GB) but when I compile my project it gives small .bin file (~1 MB), also I can’t upload my project to board. What am I missing? Is there any guide to create a project with CubeMX for any board?
I'm trying to run an example for X-NUCLE-GFX01M1 shield and I'm facing weird issues.TouchGFX generator doesn't generate images data.generated/gui_generated/src/screen1_screen/Screen1ViewBase.cpp:6:10: fatal error: BitmapDatabase.hpp: No such file or directory #include "BitmapDatabase.hpp" ^~~~~~~~~~~~~~~~~~~~I forced once but I can't make it again. What is wrong?
Hi, I successfully used a HAL library to drive a TFT ili9341 LCD and tried drawing a line on the LCD by touching the LCD and the code was perfectly accurate then I rewrote the code with registers. the touch is not accurate now and when I touch the LCD the line shows up at a point far from the place which is touched I attached the code. what might be the problem? the pins are defined with maximum frequency. #include "ILI9341_Touchscreen.h" #include "stm32f10x.h" #include "main.h" //Internal Touchpad command, do not call directly uint16_t TP_Read(void) { uint8_t i = 16; uint16_t value = 0; while(i > 0x00) { value <<= 1; TP_CLK_PORT->BSRR=TP_CLK_PIN; TP_CLK_PORT->BRR=TP_CLK_PIN; if ((TP_MISO_PORT->IDR&TP_MISO_PIN)!=0) { value++; } i--; }; return value; } //Internal Touchpad command, do not call directly void TP_Write(uint8_t value) { uint8_t i = 0x08; TP_CLK_PORT->BRR=TP_CLK_PIN
I would need to implement what is described in the attached image.Somehow I should "save" which button was pressed so that if the Pin/Password is correct go to the right screen.How can I do ?
I define two different buttons. Pressing the first button activates the second button, and when the second button is pressed, the first button becomes active. can you help me thank you very much
It has been trying ILI9806E MIPI LCD for several weeks.According to manufacturers, the init code of LCDs is done by LCD itself, so only the MIPI interface needs to be connected.The board I use connected the LCD 25Pin to the 20Pin of the KD050FWFIA019 on the stm32f469i_Discoveryboard. IOVCC, TE, RESET, MIPI_D1P, MIPI_DIN, MIPI_CLP, MIPI_CLN, MIPI_D0P, MIPI_D0N ( I used to set it to LTDC (MIPI), but is there anything else I should do in the setting?)I would like to try HAL_DSI_PatternGeneratorStart(), please advise me how to set up the driver. MX_DSIHOST_DSI_Init(); MX_LTDC_Init();Can you explain the setting?
Subpixel rendering is common method to make low resolution display look higher resolution:https://en.wikipedia.org/wiki/Subpixel_renderingIs such feature planned for TouchGFX?
Hi allFirst of all I'm working with STM32F469I-DISCO board and I'm using TouchGFX Designer- 4.15.0.I have the next problemMy application have 4 different screens, I'm storing in the model general information, and I can access to it without any problem in three of this screen but in one of them I can't.I've been using the same code and even trying to access at the same data stored in the model but has been impossible.In this screen the program crash but not in the view but in the presenter, the next is the sequence of my problem:First step:Here as you can see below, I'm in a view trying to get _ptr_system from model, so I call to presenter->getsystem();ScreenSetSubsystemView::ScreenSetSubsystemView() :scrollListSubsystemSelectedCallback(this, &ScreenSetSubsystemView::scrollListSubsystemSelectedHandler),_ptr_system (0) { touchgfx_printf("\n\nEntrando: Constructor clase ScreenSetSubsystemView\n"); touc
Hi,I am using STM32F407, trying to interface LCD 16x2 to display sensor data on it.using same code with 8bit mode, I am able to see data on lcd, but when I am trying to use LCD with 4-bit then its not working.. attaching code stm32f4xx_hal.h is attached to check delay details.
Hi, I want to know how to implement a 'status bar' type view that is at the top of all views, that contains things like battery level etc. similar to that found in something like Android or iOS.In the touch GFX documentation it mentions it briefly but does not elaborate much on how to implement this in code:"If for instance all your screens need to display a status bar at the top, showing current time, battery level, et cetera you can create a base view class containing the status bar only and have all your views deriving from this class, so you get the status bar functionality automatically"I assume this means to make a seperate view that is just the status bar which I have done, but how do I instantiate this in every other view?
When I set the circleProgress widget value to something that is not 0 it goes to HardFault_Handler() and stop working.I started crating the application with the TouchGFX Designer for the STM32G071_NUCLEO.I finished my simple application and on the simulator the applications runs perfectly, but when I flash it to the board this problem occur.Then I made a screen with only a circlePorgress. If from the start I set the circlePorgress.value() to 0 it opens the screen and shows the background. But if I set the circlePorgress.value() to something else, it does not show the widget and freezes, going to HardFault_Handler(). Ones it is set to 0 I also tried to increment the values and the same happens, HardFault_Handler(). It does not matter the background and image, always fails, and only happens with this widget, from the ones I tried.I don't know if the chip is not powerful enough, or what is happening.I use CubeMX v6.2, CubeIDE v1.6, TouchGFX v4.16 but I try it before with
Hello to everyone. I am working with STM32F429 mcu on Touchgfx. I have successfully run the Touchgfx. I am using a 7inch screen and sending images line by line with DMA. I want to use an external flash as I have too many images to use. I am using W25Q128 flash. Normally I was able to write and read, but could not integrate it with Touchgfx. I could not integrate the MB1642BDataReader library in the STM32G0 example into STM32F429. Would you help me with this topic? Am I following the wrong path?
Hi Everyone.I have plan to develop custom board based on kit STM32F769 Disco.TFTLCD I use in this project is 4-lane MIPI (https://focuslcds.com/content/E70RA-I-MW1530-C_Spec.pdf)But as we know STM32f769 Disco only have 2-lane MIPI.So I'm wondering whether I can control TFTLCF 4-lane MIPI with 2-lane MIPI on kit STM32F769 Disco.Thanks and best regards.
Documentation claims:The Font Converter accepts TrueType (.ttf) OpenType (.otf) Glyph Bitmap Distribution Format (.bdf).I tried to use fonts from:https://github.com/farsil/ibmfontsI put fonts into folder: myproject\TouchGFX\assets\fontsAfter restarting TouchGFX, IBM fonts do not appear into Typography list.What is the problem?
Hi Team,as shown above image, I need to implement custom keyboard through hardware buttons,example if press first button at one time 'A' should display, if press continuous two times 'B' should display ,and .i need to display every button values in the text editor.
..
I need image progress width background 500, but indicator slim 15px .Exist an library way or i need write full new class?I see now only one way create big transparent indicator image, that waste space and slow render. /** * @fn virtual void ImageProgress::setBitmap(touchgfx::BitmapId bitmapId); * * @brief Sets the bitmap id. * * Sets the bitmap id to use for progress. Please note that the bitmap is tiled * which will allow smaller bitmaps to repeat and save memory. * * @param bitmapId The bitmap id. * * @see getBitmap * @see TiledImage */ virtual void setBitmap(touchgfx::BitmapId bitmapId);
I have a variable declare in protected area of the Screen1ViewBase Class: "touchgfx::IconButtonStyle< touchgfx::ClickButtonTrigger > BlinkyAlertIcon;" and I want to use this variable in Screen1View which is publicly derived from Screen1ViewBase. I receive "was not declared in this scope" error. I'm using STM32CubeIDE Version 1.5.1 and ToughGFX Version 4.16. Looks like a noob problem I'm I missing any include paths? Or does anyone solved this problem? The files are generated by TouchGFX Designer
The interface of the stm32f469i_Discovery LCD is MIPI.It wants to replace LCDs with other MIPI interfaces.The control IC of the LCD I want to use uses the ILI9806E.I inquired about LCD supplier, and they said that LCD initialization code is initialized inside LCD module, so there is nothing to do, but just need to adjust MIPI interface.I want to modify the stm32F469I_Discovery LCD code and match it with the ILI9806E, but I don't need the LCD initialization code, so can you tell me how to set the MIPI interface?What I think is that you just need to delete the LCD initialization code from the existing code and adjust the data related to the resolution, should I do other things?
HiAfter compiling, I get an error: BitmapDatabase.hpp in the TouchGFXConfiguration.cpp file.I checked three times. It repeats itself.Andrzej
Hi,I have a project for STM32L4R9AI and I have analog and digital clock screens. When I set configUSE_PREEMPTION to 0 my code is stuck. Some tasks are working but my_clock_task and model tick doesnt work. If I set configUSE_PREEMPTION to 1 , everything is ok. I want to work without preemtion . Is it a compulsory situation to make configUSE_PREEMPTION=1 for touchgfx?
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.