Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
CubeMX 6.5.0, Cube-AZRTOS-H7 V2.1.0, TouchGFX 4.19.1make a new project , using threadX os, gui using TouchGFX, project error.MX_TouchGFX_Init(), need input VOID *memory_ptr, but empty.do not excute MX_TouchGFX_PreOSInit();do not excute OSWrappers::initialize();
Currently I use only a few typographies because I thought that each typography stores its characters as graphics. Instead of using one typgraphy on many places, I could also use one typography for menus, one for page headers, one for buttons etc. What happens if I use e.g. 3 typographies with identical settings (font, font size, etc.) - Is each image stored only once (as the font and size is the same) or is it stored 3fold (because there are 3 typographies, indepenently if the fonts are identical or not)? If it does not rrequired additional memory, it would be nice to use seperate typographies for seperate things.
..
Issue with TouchGFX 4.17 / STMCubeIDE 1.7.0A view screen includes a single instance of a custom “TextField�? class and an associated button overlay which, when touched, triggers a popup object, (custom class NumberEntryPopup), which includes a numeric keypad (custom class NumberPad) used to edit the text displayed in the TextField.NumberPad, in turn, includes a modified version of the TouchGFX example class CustomKeyboard. The original, unmodified CustomKeyboard uses both a foreground and a background image that are switched out when a key is pressed, such that the pressed key is "highlighted" by the background image.To reduce the keyboard's Flash footprint, the CustomKeyboard class has been modified such that, when a key is touched, instead of switching to a second image, an rectangular outline is displayed surrounding the key.There are two such outlines, NumberKeyOutline and DeleteKeyOutline, each of which is a TouchGFX container defining a rectangle as a set of 4 TouchGFX "Line" obj
TouchGFX 4.19.1 is now online.Release notes (which can be found in the online documentation) are as follows:Bugfixes in TouchGFX Designer:Fixed missing color properties for Text Button Style on a Flex Button Widget.Fixed erroneous wildcard code generation for Text Button Style on a Flex Button Widget.Fixed erroneous code generation when using a Flex Button in InteractionEndedCallBacks.Fixed erroneous 'Text' property label for Dynamic- & Static Graph labels.Fixed touchgfx_components folder not being deleted after version upgrade.When a cell lost focus in the text grid, it would sometimes result in a crashBugfixes in TouchGFX Core:Fixed FontConvert not generating new code if only change was ellipsis character.Fixed bug in Video Widget destructor that could cause failure in some applications.You can find the post for the release of TouchGFX 4.19.0 and its questions here. Please continue commenting on what could be missing or to report bugs.Reminder of the TouchGFX 4.19.0 rel
Hello friends,I want to make a parking sensor by using the hardwares STM32F103C8, LCD 16x 2 , FTDI and HC-SR04. Main idea of the project is as you can predict: an object will come close to the sensor, after about one (100 cm) the value will start to drop from the LCD, as you get closer to the object it will be evaluated . After I build and debug the Codes when I made all connections and plug in the power sources see no distance value on the LCD. Where am I making mistake, can you help?You can find the I2C libraries in main.c and LCD at the link:https://mucahithamaratkultur.blogspot.com/2022/06/stm32cubeide-ve-hc-sr04-ile-park.htmlSources that I used : 1- https://controllerstech.com/hcsr04-ultrasonic-sensor-and-stm32/ 2- https://www.youtube.com/watch?v=ti_1ZwRolU4&ab_channel=ControllersTechYou can see the connections on my project at photos below
Hello,I would like to know if it is possible to load a transparent format such as PNG or ARGB8888 from a file to TouchGFX from code?I have achieved to do this with BMP with the documentation but I need PNG.If I use a library such as libspng to decode the png file to rgba8888, i would need to flip bits to argb8888 right?From my understanding, this are the functions that I would need to translate to make it works: BMPFileLoader::getBMP24Dimensions(&MyFile, width, height);but for PNG to extract the width and height by reading the header of the png file.Then:BMPFileLoader::readBMP24File(Bitmap(bmpId), &MyFile);For this function, I have no idea how to process.Another option would be to load a ARGB8888 so the MCU wouldn't need to decode the PNG but still I would need to create a readARGB8888File() function that translate a ARGB8888 file to a Bitmap object of TouchGFX that I have no idea how to do.Best regards,skham
I'm currently having an issue with a project that works perfectly when compiled through stm32CubeIDE vs when I go to Run target through the TouchGFX Designer.I haven't altered any of the standard settings in either piece of software and both will compile without error onto my discovery board. The specific issue is I have a freertos task that reads temperature data off of the I2C and then sends this data through the queue to be populated on one of my touchgfx views. When I compile through the designed this value does not update, when compiled in IDE this feature works as intended. Up until recently this feature worked when compiled on either piece of software, I'm still going back through my recent changes to figure out where this issue originated.Is there a significant difference in the files each use to compile? Figured out what is causing the issue. Whenever I add a widget to my custom container it breaks the temp update function when compiling with the designer. If I go back and del
Greetings,I am trying to add up texts from different scroll lists and show up in one textArea as a concatenated string as image shown below :-I have tried converting the typed text to Unicode::UnicodeChar and then applying Unicode::strncpy but it completely replaces the text.
I'm using an RTOS and have Touchgfx as a separate thread, but am having trouble with how to interact with the non-UI parts. Is there a good example for reference, preferably the source code, thank you
helloI want to adjust the LCD touch sensitivity of STM32H735G-DK provided by TouchGFX.I'm analyzing stm32h735g_discovery_ts.c and I'm not sure.Where to fix LCD touch sensitivity...Can you tell me a guide or where to fix it?thak.
I am interfacing 10bit OV camera with STM32F7508-DK to read the data from the camera. I want to upgrade to STM32H7 series, Is it camera example as per the STM32F7 DK is compatible with STM32H series Development kit.Please let me know...
helloIs it possible to change the size of the scroll bar?I'm using a "scrollable container".In TouchGFX Designer, the color of the scrollerbar can be changed, but the size cannot be changed.I would like to know how to change the size of the scrollerbar.thank.
When I generate a project for STM32F429I Evaluation with TouchGFX Designer 4.19.1, there is a problem with the LED names. The board has four user LEDs which are used to show the vsync-frequency, the render time, the frame rate and if the MCU is active. In main.h, the definitions for VSYNC and MCU are#define MCU_ACTIVE_Pin GPIO_PIN_10 #define MCU_ACTIVE_GPIO_Port GPIOG #define VSYNC_FREQ_Pin GPIO_PIN_7 #define VSYNC_FREQ_GPIO_Port GPIOGIn TouchGFXGPIO.cpp, the functions try to call by different names:void GPIO::set(GPIO_ID id) { switch (id) { case GPIO::VSYNC_FREQ: HAL_GPIO_WritePin(VSYNC_GPIO_Port, VSYNC_Pin, GPIO_PIN_SET); break; case GPIO::RENDER_TIME: HAL_GPIO_WritePin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin, GPIO_PIN_SET); break; case GPIO::FRAME_RATE: HAL_GPIO_WritePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin, GPIO_PIN_SET); break; case GPIO::MCU_ACTIVE: HAL_GPIO_WritePin(MCU_GPIO_Port, MCU_Pin, GPIO_PIN_SET); break; } }"_FREQ" is missing after "VSYNC" and "_ACTIVE" is m
I am using STM32H753 for signal sampling.I have enabled ADC1 and ADC3, both of which are in 16 bits scan mode (4 channels).Everything worked well until I enabled FMC / LTDC to migrate a UI application.I noticed that most channels of ADC share IOs with FMC / LTDC. This may introduce noise into the ADC input when these peripherals are enabled at the same time.If someone has encountered this problem?
Hello,I am testing the LTDC on a dev board. The strange thing is i am getting the wrong color at initialization. Below is the code for initialzation of LTDC. I get red when i try to fill with blue, and red when i try to fill with blue. Thesre is half word swap heppening somwhere but i cant notice it.Please advise.=================================================================
Is there away to change the scroll list scrolling direction? It looks like the direction is assumed. For an example, if scroll is set for vertical, the item is moved into the view from the opposite direction when dragged as itemIndex is increased. For an example, if the itemIndex is 1 and the dragged direction is from the bottom to the top of the screen, the itemIndex 1 is moved into the view from the bottom of the screen (assumed the current item being displayed has index of 0). I would like to see if there is a way to change the direction such that when dragged from the bottom of the screen to the top, the last item (item with last index) is moving into the screen from the bottom.Is there any way to control direction of the scrolling?Thanks--------------Question moved by moderation to the right topic list @PPanb.1
I set the character wildcards properly, to include all required characters.Here's my example code:Unicode::strncpy(errorTextBuffer, "Zażółć gęślą jaźń.", ERRORTEXT_SIZE); errorText.resizeToCurrentText(); errorText.invalidate();But what I get is this:The character encoding for my entire project is "UTF-8", so this is the file encoding.I tried to use UART as the debug console and it outputs the UTF-8 text with no problems.I guess Unicode functions of TouchGFX don't expect the char* strings to be UTF-8. How it is done properly?
I am trying to get working the STM32F7508-DK demo application on my STM32F7508-DK board, but when the TouchGFX is launched, the configASSERT is not properly asserted and the program dead on an infinite loop.I have traced the issue to the port.c file, concretely on the following lines of code: #ifdef configPRIO_BITS { /* Check the FreeRTOS configuration that defines the number of priority bits matches the number of priority bits actually queried from the hardware. */ configASSERT( ( portMAX_PRIGROUP_BITS - ulMaxPRIGROUPValue ) == configPRIO_BITS ); } #endifThose lines corresponds with lines 329 to 336 of the aforementioned file. I am not able to know why the macro expansion is not taking into account the configPRIO_BITS, because its expansion is shown as follows:if( ( ( ( ( uint8_t ) 7 ) - ulMaxPRIGROUPValue ) == __NVIC_PRIO_BITS ) == 0 ) { vPortRaiseBASEPRI(); for( ;; ); }It is taking into account the _NVIC_PRIO_BITS instead of the configPRIO_BITS and I don't know wh
Need to know how to change the default text editor previously selected in TouchGFX Designer?
i use button.setvisible(bool) function but it doesn't happen accordingly. is there an example of how to do it?
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.