Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I've programmed a "retro" computer using the H743. https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=12105Development environment is CubeIDE.The code supports a USB keyboard and VGA output using the LTDC and a RGB565 R2R DAC. It can play MP3 and FLAC audio over the on-chip DACs and runs a Basic interpreter. Until recently I have always compiled with O2 set.I have had a longstanding issue with very minor instability of the LTDC clocking which could cause flicker and in extreme cases temporary loss of synch in the monitor. This was almost completely solved by using a crystal oscillator rather than a crystal to clock the processor. Loss of sync was most pronounced when using ARGB4444 in 800x600 resolution with the framebuffer in SDRAM and a 60Hz frame rate, running a FPU intensive Basic program, and whilst decoding mp3 and outputting using 44100 timer interrupts per second (yes I know I should be using DMA).I've also been having issues with cache coherency in some code when p
Hi!I have to start / stop the engine with one button. How to set the button in TouchGFX? What program to add in View, Presenter and Model?Andrzej
I'm trying to make a simple low power application using the STM32L4R9I-DISCO board where I draw some stuff to the display, put the DSI link in ULPM, go to STOP2 mode, wakeup using the RTC,bring the DSI link out of ULPMrepeatI've gotten to the point where I wakeup from STOP2 and try to bring DSI out of ULPM, but DSI_PSR resets to the default LP-11 stop mode on both lines, which confuses the HAL_DSI_ExitULPM() function. This is not the behavior I expected, as the RM says the DSI is frozen and register content is kept during STOP2.Interestingly, DSI_PSR is the only register that changes. Everything else stays the same. It's like the PHY just "forgets" what mode the lanes are in.Code is attached at the bottom, I've tried not disabling the DSI (thought maybe it was resetting) but it doesn't make a difference, DSI_PSR still changes.
I am using the STM32F769II processor, I am communicating with the display in RGB565 mode using LTDC. The STemWIn library is in the STemWin_CM7_OS_wc32 version.I have a very strange problem. When displaying characters using anti-aliasing fonts, sometimes individual black pixels appear. Screenshot in attachment. In the previous version of the library that I used (v 5.40) this problem did not occur.Has anyone encountered a similar problem? Alternatively, does he have any suggestions as to what might be causing this behavior? Thank you in advance for your help.Thomas
hi,i use stm32h743 and i use emwin functions ,but the functions of GUI not working i asked segger and they said maybe we need to update my version my version is: GUI_VERSION 54401do you have newer version ?
Hi,In the designer, when a new language is added there is an option to select the "Initial text values".Does those values are handled on the designer level or at the TouchGFX core level?Is there a way to update the initial language through API at run time? Thanks
The title says it all. I need to cast a straight container to a MoveAnimator< Container >I have a function in a base class that extends the container class like so:hideMenu(MoveAnimator< touchgfx::Container >& menu)Inside this base class I obviously cannot call MoveAnimator functions, so I would like to cast "this" to a move animator so the base class itself can call its own move animation functions.
So i have a flexbutton name baudrate - different baud rates (created a container list for that) successfully created screen. Now how do i implement the selected item(baudrate) in the menulist...by clicking the desired one in the list.....???Trails: i found some examples related to the scrolling but hope its not suits for my requirement and i have tried with handleclickevent() function in the background (.cpp) generated file. But it does not work. much appreciated if you provide any example or application notes regarding this.Thanks Mallikharjuna
..
I am working on a project that I would like to import a keyboard into, like the one in the examples. How do I import widgets into projects?
Hello,STM32H7B3xI is coming with approx . 1.4MB Internal RAM . What max TFT resolution it will supports with Internal Frame Buffer (Single Buffer)only with single MCU?Frame Buffer = Number of Pixels x ( Color Depth in Bits / 8 ) Frame Buffer = 800 x 480 x ( 16/ 8 ) Frame Buffer = 768000 BytesFrame Buffer = 750 KBytes--Karan
Good day, I am trying to make an application that has two sliders that can be used to modify both a control value and feedback value. When I try to create an interaction for the Control Slider using the Trigger as Slider Adjustment confirmed, I was able to make one. I then went to make an interaction for the Feedback slider using the Trigger as Slider Adjustment confirmed. For each interaction, I had selected the appropriate slider. Going back to the Control slider, it appeared to have all of the same settings that I had configured for the Feedback slider. If I changed the settings for Control slider, then the Feedback slider would have the same exact settings as the Control. It seems that I cannot create two different slider interactions that use different Triggers. Please see the attached images. I am using TouchGFX 4.13 and STM32CubeIDE 1.31. Has anyone had success with creating an application with two sliders and tow different interactions? Thanks for any assistance.
I have been stumped on this for a long time. My board is a Nucleo F767ZI, and my LCD is an ILI9341 8080 interface. The AN2790 note gives the following equations for asynchronous SRAM:And the example they give for an SRAM with 100ns write cycle time:These are the 8080 timing constrains from the ILI9341 datasheet:And here are the tsu(Data_NE) and tv(A_NE) ranges given for the F76xx series for asynchronous SRAM:What's really throwing me off is tACC. The ILI9341 only lists data on max read access times, but I'm only concerned with write operations right now. And using the max frame access time gives me serious troubles:Using an HCLK of 72MHz, and setting tv(A_NE) = 0 (If max is 0.5ns then I assumed I could set this to anything lower?):(DATAST + ADDSET + 2)*(13.8ns) = 66ns (min write cycle time for LCD)DATAST*13.8 = 15ns (min low pulse write width for LCD)DATAST = (340ns + 10ns + 13.8ns - 1)/13.8ns - 4 - ADDSET ------> DATAST = 22 - ADDSET ???Please help me understand where I'm messing u
We are in the initial evaluation stage of using the STM32L5R5ZI module for a custom board we are planning to build for an Engine Panel. Part of the Engine panel is also a LCD-TFT touch screen that we are hoping to drive using the built in LTDC controller which is part of this STM32 Module. 1) Are there any examples/tutorial for this module on how to configure the LTDC Controller and to drive the LCD-TFT especially a touch screen one?2) One of the questions I had around while configuring the GPIO pins on the Nucleo board that supports this L4R5ZI module was, can we use any of the GPIO pins for the HSYNC, VSYNC, DE, LCD_CLK, and the RGB related pins or can we only choose GPIO pins that have been designated to have alternate functions for ex: LCD_HSYNC, LCD_VSYNC, LCD_CLK etc?3) Also it seems like lot of the other settings around configuring the Clock frequencies, and other LTDC related settings are driven by the settings called out in the data sheet of the Display device of our choice. I
I must say that the recently updated TouchGFX documentation is excellent. Great job! I apologize if I am missing the obvious, but is there a way to pass more than one value by way of an "action" to a Custom Container?I am referencing the following tutorial:https://support.touchgfx.com/docs/tutorials/tutorial-05/I am working on a Custom Container with a Scrollwheel in it and I would like to add a custom action to be able to change the text of a specified element (a second parameter) programmatically. I tried the "custom" and when trying to add the action, I was not able to get it to accept a multiple parameter virtual function or when selecting "Execute C++ code".Any help would be appreciated.
hi dear.I am making a QWERTY Korean input method.It was confirmed that Unicode is used to express characters using the touchGFX designer. However, Font can only output codes in EUC_KR. In the case of the Korean input method, one code is produced by combining, but one complete code is produced through a combination of 2 to 4 codes. Even during the combination, it is necessary to express the letters, but this is a problem because the entire font of Unicode cannot be output. For example, the word "hoho". When this is input as an input device, the screen output order should be displayed as 'ㅎ'-> '호'-> '홓'-> '호호'. However, '홓' is in the Unicode Font but not in EUC_KR, so it is treated as Blank. How can I solve these problems ????If you input "홓" in TouchGFX Designer Resource, nothing is displayed.
Hi I need help, I'm trying to learn your development ecosystem and I'm testing the Designer.I was modifying an existing UI project that of the clock making the modification to create a second screen to make the modification settings of the clock. I quickly created the necessary keys and two text fields to be able to change the clock time.Just to facilitate understanding, I attach the images of the first and second screens.The problem is that I am unable to implement the various functions described in the tutorial that I report: https://support.touchgfx.com/docs/tutorials/tutorial-02, logically changing the names of the variables and anything else.My problem is that while creating the interactions and setting new virtual function calls, I don't find them in the generated MainViewBase.hpp file as described in the tutorial.I will certainly make some mistakes ......./*********************************************************************************/ /********** THIS FILE IS GENERATED BY TOU
Hello,I noticed that in TouchGFX Designer there are two ways of using a text resource in a text area:Set the text area to use a Resource, choose the resource ID.Set text area to Single Use, create a wildcard, set Wildcard to use a Resource, choose the resource ID.Both ways seem to work just fine (as one would suspect).But are there differences between the two (e.g. memory usage or available features) that would make one preferable in certain situations?Kind regardsChristoph
Hi,I'm working on a Window that contains a Listbox and some buttons. When I touch Listbox's area, it just sends WM_TOUCH_CHILD into the Callback and it does not send WM_NOTIFY_PARENT. Why?Although, if I have a Listview after a touch it goes me through to Callback with WM_TOUCH_CHILD, WM_NOTIFY_PARENT and WM_NOTIFICATION_CLICKED that I can get what happened.
I need a help.Thanks.Could you please help me out?Error message *** Using Compiler 'V5.06 update 4 (build 422)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'Build target 'QD-TFT'compiling main.c.....\STemWin544\inc\GUI_Type.h(64): error: #20: identifier "LCD_COLOR" is undefined typedef LCD_COLOR GUI_COLOR;..\STemWin544\inc\GUI_Type.h(65): error: #20: identifier "LCD_LOGPALETTE" is undefined typedef LCD_LOGPALETTE GUI_LOGPALETTE;..\STemWin544\inc\GUI_Type.h(66): error: #20: identifier "LCD_DRAWMODE" is undefined typedef LCD_DRAWMODE GUI_DRAWMODE;..\STemWin544\inc\GUI_Type.h(67): error: #20: identifier "LCD_RECT" is undefined typedef LCD_RECT GUI_RECT;..\STemWin544\inc\GUI_Type.h(74): error: #20: identifier "U8" is undefined const U8 * pPixel, ..\STemWin544\inc\GUI_Type.h(75): error: #20: identifier "
Hello!I tried to make menu with variable element headers.I tried this codeconst char* MenuItemList[10] = {"�?а�?тройки","Скоро�?ть","Extruders","LED Light","UPS","FirmWare","Language","Coolers","Drivers","WiFi"}; ............................ Unicode::strncpy(buffer, MenuItemList[data], 20); Unicode::snprintf(OptionsMenuItemtextAreaBuffer, 20, "%s", buffer); OptionsMenuItemtextArea.setWildcard(OptionsMenuItemtextAreaBuffer);Code works, but I got problems with cyrillic symbols.My problem with cyrillic symbols solved only when I created text resource and make this code OptionsMenuItemtextArea.setTypedText(TypedText(T_MENUITEM1_TEXT_RESOURCE)); OptionsMenuItemtextArea.invalidate();How can I create array of links to text?I want use text resources, created in TouchGFXDesigner and use it like this:OptionsMenuItemtextArea1.setTypedText(TypedText(ARRAY[1])); OptionsMenuItemtextArea2.setTypedText(TypedText(ARRAY[2])); OptionsMenuItemtextArea3.setTypedText(TypedText(ARRAY
Hi,I want to achieve this effect, when I slide from start coordinate to end coordinate ,the current screen can be changed to another screen,but the start coordinate and end coordinate is fixed to an area,please see the annotation on the screenshot, and how can i realize it in my code?Thanks!
Hi,I am using scroll List and also able to select the item by clicking that and tested that on simulator. Please check below image .Screen1View::Screen1View() : scrollList1ItemSelectedCallback(this, &Screen1View::scrollList1ItemSelectedHandler) { } void Screen1View::scrollList1ItemSelectedHandler(int16_t itemSelected) { touchgfx_printf("Item Selected = %d \r\n" ,itemSelected) ; touchgfx_printf(Rx_Buffer1[itemSelected]) ; // Which API should I use .. touchgfx_printf(" \r\n" ) ; } void Screen1View::setupScreen() { Screen1ViewBase::setupScreen(); scrollList1.setItemSelectedCallback(scrollList1ItemSelectedCallback); // Added }How do I change color of Clicked Item (Text) or put rectangle over that .Means which API should I use .?--Karan
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.