Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Migrated working project from Cube5.4 to 5.6 stop working.After correcting all issues and compile without errors i debug code. Main have default GUItask and next two tasks added. Started code init all hw and start rtos, but display show nothing . I make test add after init grey level to framebuffer and it show ok. Too pattern generator show color horizontal and vertical ok.When i debug two added task work ok.Only GUI noting init ... /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_SPI2_Init(); MX_I2C3_Init(); MX_ADC1_Init(); MX_CRC_Init(); MX_TIM2_Init(); /* USER CODE BEGIN 2 */ HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi2, (uint8_t *)"\0", 1, 5); //relay off SPI_CS_GPIO_Port->BSRR = SPI_CS_Pin; RC5_Init(); Turn_ON();// EE_Write(); HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);//LCD_LIGHT HAL_Delay(321); /* USER CODE END
Hello everyone, I want to know whether I can use STM32F769 for developing HMI for amy embedded application. I am going to use 7-inch display. The link I have provided for the display. Also I want to know that if I can use TouchGFX for quick development of GUI. And can I use the evaluation board directly? for the display. I have looked into the video which made me curious to ask this. https://www.youtube.com/watch?v=PNQ81S8i_a8
I tried just almost anything the best I get some black shape of a red button I ma trying to display. here is a top of the code from the "h"file. Does anybody recognize it. What converter to use ?This is the original "h" file made by ST for their demo programs.#ifndef __IMAGE_320x240_ARGB8888_H#define __IMAGE_320x240_ARGB8888_H#ifdef __cplusplusextern "C" {#endif/* Includes ------------------------------------------------------------------*//* Exported types ------------------------------------------------------------*//* Exported constants --------------------------------------------------------*//* Exported macro ------------------------------------------------------------*//* Exported functions ------------------------------------------------------- */const uint32_t image_320x240_argb8888[76800] ={0xFF254888,0xFF254888,0xFF254888,0xFF264989,0xFF264989,
Hello,I wish to have a Scroll Whell containing a list of buttons and used this tutorial for that.The problem is, if I try to unroll from a button, it doesn't unroll. (If I unroll from a blank area, that's okay).I use a Scroll Whell as in the tutorial but it is not necessarily the best choice. I have tried with other widgets but cannot resolve my issue.My problem is similar to this I think but as a beginner in C ++ (not very comfortable with callbacks), something escapes me and I cannot resolve it.Here is my test code.Could you advise me on how to do this, please?Thank's
Hi,I am working on medical instrument product based on TouchGFX, Do we have any sample template (widget like graph ) for medical monitoring system on STM32F746DK kit. I have gone through TouchGFX 4.13.0 but could not find it.Thanks in advance.
this is the error I am getting once I migrate or click continue when I open project in CubeMX 6.0 or CubeIDE 1.4 created in TouchGFX 4.14 then screen created in TouchGFX will not longer display, it just dark.those 3, the newest were supposed to be compatible.
When I add the unicode to the proper font for chinese characters the file gets overwritten when I generate code with TouchGFX. So how do I properly update the fonts this way in the middle of a large project?
By following this guide (https://touchgfx.zendesk.com/hc/en-us/articles/115002741432-Create-custom-Application-Template) I have made an custom application template for our hardware. I'm able to select my application template in TouchGFX Designer (4.10.0) but when I press CREATE I get "Downloading Application Template failed, check your internet connection and try again". Does anyone have any suggestions?
Our coding guideline discourages the use of using-directives. This is pretty common, I think. I'm removing them from the headers where I can, i.e. from code that does not get regenerated on every code generation in TouchGFX Designer.I am able to break TouchGFXConfiguration.cpp by removing all using touchgfx declarations from its dependency tree.I have 2 suggestions:Add namespace references to TouchGFXConfiguration.cppMaybe remove using-directives from all the headers. There's now a confusing mix, some headers have them, some don't.
is there a way to mesh the CubeMX configuration made for a STM32H747I-DISCO and the code created on TouchGFX. Since the TouchGFX can program the Discovery board is there a way to, after the code is generated ( graphics) add it to CUBEIDE even if manually and debug the non-graphical side of the code there?any manual bypass to the fact that in CUBEMX we cant configure it to use TouchGFX?
Is there a way to preserve user code in OSWrappers.cpp and TouchGFXConfiguration.cpp, similar to the usual /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ comment blocks? Using RTOS: Custom and regenerating overwrites everything. I've tried copying the wanted code into to a second file and excluding or removing the generated files from IAR, but it's restored after regenerating, causing linker duplication errors.
I had build 2 screens (screen 1 and screen 2)in each screen i place 2 text (using wildcard) with purpose display Time Minute and Time Second form RTC.i had success in the first screen (screen 1), but i want to when i change to screen 2, the Time Minute and Time Second counter and display constantly from screen 1. Absolutely when i change from screen 2 to screen on it must same above concept.i had code the same code for the screen 2, but when i change from screen 1 to screen 2, it is hanged.So how can i solve that problem, that means i how can i update and show Time minute and Time Second when i change between 2 screen.Thanks everyone
Hello community,i want to know if there is a easy way to change the Painter for a Shape (Circle) with an Fade Animation.I can programmatically change the Color. Now i want to Fade the Color Change. The alternative idea is to put a second Circle on top and dont change the color, but fade the alpha of the second circle on top of it.Greetings
Hello, I was looking at the microcontroller binary of a project that I'm using the touchgfx library and something is getting my attention. There is a big part of the file that contains a lot of code information from the touchgfx library. I don't think this was compiled as a debug info because it does not disappear using strip tools. I checked the optimization flag, also I stripped debug info, unneeded and other flags, and the same. They always are there. Any idea what can be happening? It's a shame having to spend all these bytes in this unused stuff. Here is a copy of the info that I'm seeing in the .bin.Thank you in advance.
Hi,Iam using STM32F750 8-DK Evaluation kit, STM32CudeIDE1.2.0, and STM32Cube_FW_V1.15.0 is SDK. If iam trying to load the LTDC example available in Examples/LTDC/LTDC_Display_1Layer, iam not finding anything on the screen. It is just a blank screen. Iam using STM32Cube Programmer to load the External flash loader N25Q128A as external loader and start address as 0x90000000. In Erasing and programming options i have selected the .hex file generated by CudeIDE. I did not do any changes in LTDC_Display_1Layer project space. Build and load. Please guide me how to work on the LTDC examples and where iam missing.
Hello.I was developing a GUI with STM32F767 & RGB TFT LCD.However, the specification has changed and I should consider changing to the STM32H743.Are there any issues to watch out for when changing the cpu?Does CubeIDE & TouchGFX Deginer support H7 development environment?If yes, which version can I use?Thanks for your help.
Hello!I'm using the Cube IDE with STM32H753 and trying to initialize the LTDC from HAL.I already did this with success for the STM32F767.But for the STM32H753 I have some problems with LTDC drivers.The programm hangs up during debugging on the automatic genarated initialization routine.The main looks like this:int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_LTDC_Init();And the problem is the MX_LTDC_Init();The program goes into it (inside the ltdc.c file):void MX_LTDC_Init(void) { LTDC_LayerCfgTypeDef
HiI had a problem with this getBlockForTransfer function that always returns 0 when I use FSMC + partial frame buffer.The main changes are in the TouchGFXHAL file.Below is my entire project, and any help would be appreciated.Thank you very much for your generosity.
If multiple persons working on same project and developing different screens then can we merge all screens and how?
I wonder if there is going to be any code conflict if I generate graphics it TouchGFX and the usecodes like BSP_LCD_DrawLine in While() loopcan those two work together ?I want to get some of the discovery boards and work on a few projects.
Hi,I set the binary option in the designer (4.13) and successfully generated the bin files. I then unset the option and generate again the fonts fileד. All this session worked as expected.Now, after a while, in the same project, I set the binary option again but this time the bin directory was not created.Any idea?Thanks
I've generated a project using the Text Example template and a HW timer. TouchGFXHAL::initialize() is called and the HW timer signals Vsync, so HAL::getInstance()->backPorchExited() is called. I'm up to "Transferring the framebuffer section" in https://support.touchgfx.com/docs/development/touchgfx-hal-development/scenarios/scenarios-fmc and was expecting TouchGFXHAL::flushFrameBuffer(const touchgfx::Rect& rect) to be called, but it isn't? I'm not calling lockFrameBuffer().flushFrameBuffer is only called when the UI template is changed to Blank and there is no content. Adding any content, such as a background again causes flushFrameBuffer not to be called.This similar to https://community.st.com/s/question/0D53W00000AYdlzSAD/basic-touchgfx-application-dont-work?t=1593157787724, except I'm currently using 1 bit 320x240 display setting, bare metal (no FreeRTOS) and no graphics acceleration. Changing the framebuffer pixel format or resolution makes no difference. I've com
Hi,I have made this very simple project, when I step into code and just change the vsync_sem in debuge to 1 to force a render, The code would just call this function HAL::getInstance()->backPorchExited();and never would retrun, it would stuck in there, How should I resolve this issue?I expect the this force a call of this functionvoid TouchGFXHAL::flushFrameBuffer(const touchgfx::Rect& rect)
I have seen a lot of information about the STM32 supporting special hardware features to enable high performance TouchGFX GUIs.As far as I can see, Chrom-ART acceleration is enabled by default. I am not 100% sure how to check if this is actually working in the hardware though. We have very bad performance while swiping the SwipeContainer. We are using version 4.14, but had this issue while on 4.13 as well.The problem is, in my project I have a SwipeContainer Widget which contains say 10 texts. When swiping, some of the text fields disappear, then reappear. Or some of the letters of the texts get smeared on the screen. While holding the screen with the finger, this bad behavior stays visible. Only after releasing the finger and the screen goes back to "center", do all of the widgets get redrawn properly again. But even in this case, some of the text widgets never appear at all, or are only visible briefly while swiping. This is very reproducible on our side.When we use Run Target for ou
Hello,On a working project with TouchGFX, i have over 150 TextBuffers (wildcards) which i access and change/edit on runtime.Now i am trying to edit some code parts to avoid repeated parts (many IF conditions).Is there a way to use a table with pointers and access the desired TextBuffer each time;
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.