Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi,when I place a slider on screen i see this - horizontal by default: Then I change to vertical and this is shown: Is this a bug ?Thanks
Hello,I am trying to prepare some code for my custom board that has an LCD-TFT display on it. To try and digest the code, I have been using 32F746GDISCOVERY board for reference, since it's the closest to my display (RK043FN66HS-CTG is what I'm using). The discovery board uses a display with a TFT controller and the same touch controller (GT911). The part that's confusing me is that the sample code only calls for the MX_LTDC_Init, which calls HAL_LTDC_Init() and HAL_LTDC_ConfigLayer(). I've attached the snippet for reference. static void MX_LTDC_Init(void) { /* USER CODE BEGIN LTDC_Init 0 */ /* USER CODE END LTDC_Init 0 */ LTDC_LayerCfgTypeDef pLayerCfg = {0}; /* USER CODE BEGIN LTDC_Init 1 */ /* USER CODE END LTDC_Init 1 */ hltdc.Instance = LTDC; hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; hltdc.Init.Horizonta
Hello,i know the problem of the error "*** missing separator. Stop." from the build, but i do not understand why it happen here. What i know is that it should have Tab instead of spaces, but line 4 does not have multiple spaces.I created a simple simulation.h file which content is:#ifndef INC_SIMULATION_H_ #define INC_SIMULATION_H_ typedef enum{ TEST, TEST2 }; #endif /* INC_SIMULATION_H_ */Makefile with this iclude:ADDITIONAL_SOURCES := ../Core/Inc/simulation.hAnd the error output when i start the simulator is:Run Simulator Generate Done Generate Assets make -f simulator/gcc/Makefile assets -j8 Reading ./application.config Reading ./target.config Done Post Generate touchgfx update_project --project-file=simulator/msvs/Application.vcxproj Done Post Generate Target touchgfx update_project Writing STM32CubeIDE project file: ../.cproject Done Compile make -f simulator/gcc/Makefile -j8 Reading ./application.config Reading ./target.config ../Cor
We are planning a new project and would like to know if the following configuration would work: SMT32H7A3 CPU (280 MHz)Multiplexted HyperRAM and HyperFlash via OctoSPI2 LCD module (LTDC) 800x480 with TouchTouchGFX Graphical user interfaceHas anyone experience with HyperRAM and HyperFlash in multiplexed mode together with TouchGFX? Is that possible? If so, are there any pitfalls?Any comments are very much appreciated!Best regardsGS
Hi thereI'm currently working on a simple project and it is a simple 7inch LCD using a STM32H743IIT6 board.I used GUIDRV_LIN for display driver. and I have set all the LTDC and FMC, etc. here are my issues:1- first: in a simple window I have some TEXT as my widgetsthe problem is in the init part where we set for example Font, Alignment, etc. I set a color for TEXT background as belowhItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_20); TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); TEXT_SetFont(hItem, &GUI_Font24B_ASCII); TEXT_SetText(hItem, "DG1"); TEXT_SetBkColor(hItem, GUI_LIGHTBLUE);but the thing is that I can not see the background color when I load the code to my board!everything is just fine, except this issue. any Ideas?2-there are some white dots here and there sometimes when I power on the board! I have the config multiple time, all seems right(as you all know, LTDC and FMC etc. are too long to put and describe here, that's why I didn't bring them up here)so wh
If there is some other solution to it, apart from changing the uC, please suggest.
320x240 Parallel RGB (LTDC) interface. I've been following the TouchGFX board bring up instructions. I can change the background color, so the hardware side should be good.I made a display in TouchGFX, everything compiles. TouchGFX updated the files in CubeIDE project folder. My display only shows the default color that I put in the frame buffer when initializing, before starting FREERTOS.Following the instructions the MX_LTDC_Init is getting raised.https://support.touchgfx.com/4.21/docs/development/board-bring-up/how-to/03-display-internalI've enabled FreeRTOS and have two tasks enabled, one blinking an LED that is working. The other set up for TouchGFXTask like the instructions. Which creates the task, I can follow it into app_touchgfx.c, and on to TouchGFXConfiguration.cpp The hal.taskEntry() takes me to HAL.hpp. No where else.Looking at another example the hal.TaskEntry() goes to TouchGFXHAL.cpp and has code:What should be at hal.taskEntry()?The instructions also reference the LTDC
Hello,I am looking to use the LTDC (LCD-TFT) feature to interface with a TFT display and potential touch controllers (CTP). I am uncertain on the requirements to interface with it and wanted to confirm a few details.I have written software (generated by TouchGFX) that works with the STM32H7B3I-EVAL evaluation board. It utilizes a Rocktech display (RK070ER9427-CT). For our application, we want to use Rocktech as well, but just a smaller screen. Therefore, we are using their RK043FN66HS-CTG. The only mentioned difference is that the 9427 utilizes a different touch controller than the 66HS, so a new driver for that will have to be written. That I understand. I also understand that the pinout is different between the two displays, but they both still have the common pins (R0-7, G0-7, B0-7, HSYNC, VSYNC, DE, CLK).What I am unsure of is if there's a "LCD-TFT" driver that's device specific. For example, if I have a firmware working with the 9427, then change the resolution in the LTDC configu
I want to add another dislay(replace another) display with my STM32F7508-DK board which uses different LCD Driver ID as opposed with the offthe shelf Dev kit, What is the process of that, How can we achieve the required functionality if Considering Pins are compatable just the Size of LCD is 7" as opposed to 4.2" and controller id is also different
Does touchgfx have a function that can directly change the color of the image in the image widget, similar to the recolor function of the image widget in LVGL, to re-color the image into a pure color image. If touchgfx does not have this function, is there a way to achieve this function?
Hello,another day, another problem...I just started with a custom board. But i am using parts which are already working on boards from ST so i thought it will be easy to adapt.I started a new project and if i use internal RAM for a touchgfx box everything is fine.As soon as i add the SDRAM to the linker file i have a lot of lines (black or just not read from sdram correctly?).For SDRAM the MT48LC4M32B2 with 16MB is used like in a lot of disco or eval boards.MCU is running at 200MHzMy FMC / SDRAM Settings:#define REFRESH_COUNT ((uint32_t)0x0603) /* SDRAM refresh counter */ #define SDRAM_TIMEOUT ((uint32_t)0xFFFF) #define SDRAM_MODEREG_BURST_LENGTH_1 ((uint16_t)0x0000) #define SDRAM_MODEREG_BURST_LENGTH_2 ((uint16_t)0x0001) #define SDRAM_MODEREG_BURST_LENGTH_4 ((uint16_t)0x0002) #define SDRAM_MODEREG_BURST_LENGTH_8 ((uint16_t)0x0004) #define SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL ((uint16_t)0x0000) #define SDRAM_MODEREG_BURST_TYPE_INTERLEAVED ((uint16_t)0x0008) #define SDRAM_MODEREG_CAS_
Hello,In my project I need to connect BW 10b camera to STM32U585.STM32U585 is running at 160MHz, and my MCO for camera is 10-30MHz. At this point I am not even using DMA, just checking DCMI interruptsAnd what do you know, first, I get OVR interrupt, and when I get HSCYNC, VSYN IRQ and they do match what camera is trying to output.void DCMI_Config(void) { DCMI->IER =DCMI_IER_OVR_IE|DCMI_IER_VSYNC_IE; DCMI->CR =DCMI_CR_ENABLE | DCMI_CR_HSPOL |DCMI_CR_PCKPOL| DCMI_CR_VSPOL | DCMI_CR_DR_SIZE_10b; NVIC_SetPriority(DCMI_PSSI_IRQn, 1); NVIC_EnableIRQ(DCMI_PSSI_IRQn); DCMI->CR |=DCMI_CR_CAPTURE; }void DCMI_Interface_Init(void) { LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOA); LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOB); LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOC); LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOD); LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOE); LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_DCMI_PSSI); /* PB6 ------&
During the normal operation of the program, after touching the pin on the external sdram by hand, the UI screen is stuck. The simulation shows that the DMA2D Transfer error flag is set, touchgfx cannot work normally, and the chip works normally after resetting; It is speculated that the address line on the sdram was temporarily short-circuited by static electricity, and DMA2D could not access the target address. Is there any way to solve this problem to ensure that touchgfx can continue to work normally instead of resetting?
TouchGFX 4.21.1When compiling for "Run Simulator" I get the following error message:Run Simulator Generate Wrote generated/simulator/gcc/Makefile Done Generate Assets make -f simulator/gcc/Makefile assets -j10 -Wno-error=sequence-point Reading ./application.config Reading ./target.config Done Post Generate touchgfx update_project --project-file=../EWARM/EVK101008AB.ewp --gui-group-name=Application/User/TouchGFX/gui --generated-group-name=Application/User/TouchGFX/generated && touchgfx update_project --project-file=simulator/msvs/Application.vcxproj && touchgfx update_project --project-file=../MDK-ARM/EVK101008AB.uvprojx --gui-group-name=Application/User/TouchGFX/gui --generated-group-name=Application/User/TouchGFX/generated Done Compile &nbs
I'm somewhat new to c/c++ programming. Come from 20+ years of experience with VB/VB.net and have mostly been spoon feed...lolAnyway. I have a custom container that has a container with 19 children shapes. I need to interact with them at run-time.the container is called ticks, and all the children widgets are of the shape type.I see where I can use the forEachChild to iterate through all children.Only problem is I have no idea how to use this and it returns an object of Drawable type that does not allow access to the shape's specific methods like setShape.Does anyone have an example of how to use forEachChild?
Hi,I just installed the version 4.21.1 to play around with svg images and I just found out that there is no way to change the color of the image in the 'svg image widget' whereas it's possible to do so in the traditionnal 'image' widget. Why is it so? Is there a particular reason for that or is it just an oversight?Thanks you.
..
I'm using STM32MX Cube to assign pins for different features.I have a lot of communication ports and GPIO:s enabled in my STM32H750.I have prototype 1 working, I noticed that when I add for instance an extra I2C other pins move without notice. For instance, LTDC RGB pin R0 moves to another pin on STM32.I have also seen that LTDC is disabled suddenly wihtout any notice.Quesiton. Is it possible to lock current pins in STM32MX cube?Else How do I see all pins that changed when I add a new I2C? is there any log file?This is a bit stupid from my point of view. And it may cause a lot of issues in next revision of this board if I dont tanke my time and check all 240 pins...Thanks,
I have a projet with FreeRTOS and FreeRTOS-Plus-TCP working on a STM32F769I-Eval board.The ICMP Ping response is 100%.When enabling a TouchGFX application, even very basic (just a white screen), the ping response rate fall bellow 50%! Not usable at all!Deactivating the TouchGFX application (comment on the line creating the thread) solve the Ping problem.Is there a compatibility problem with TouchGFX and ETH on the board? Or does anybody knows what could explain this behavior?TouchGFX version 4.21, F7 Firmware v1.17.
I have redirected printf to output through USART3. USART3 is being properly initialized. I have checked that it is sending data through USART3 up to function HAL_UART_Transmit(&huart3, &*c, 1, 10); and everything looks right but no data goes out the virtual COM port. Both the virtual COM port and the serial port monitor program (Termite 3.4) have the same configuration (115200, 8 data bits, 1 stop, no parity, no flow control). Is there something else I need to do? I have attached main() where the redirection code is located.
I was wondering if it was possible to add a new card in Touch GFX app. In fact, I am working on STM32U575I-EV and it is not available. So, I can’t download my app. Is it possible to add my board or there is a way to bypass this problem? (I need to upload the code to EWARM to launch my app. )
I have been through the renaming process to generate a project in touch GFX and open it in cube IDE. The problem occurs when I run the .ioc file and then generate the subsequent code after configuring some of the hardware peripherals, push buttons and LEDs, nothing too elaborate. I have the errors shown in the image below. I cannot compile this project once the code has been generated by the Cube IDE because of these errors. I've found little in the way of help online so far.Does anyone have any thoughts on these issues? Kind regardsMark
Hello,Is there any workaround to the following problem- I am trying to get a icon's bitmap number from the src pointer in buttonPressedCallbackHandler after pressing the flexbutton which consists of IconButtonStyle. So I am doing following simple casting to have access to the method getCurrentlyDisplayedIcon:void settingsScreenView::buttonPressedCallbackHandler(const touchgfx::AbstractButtonContainer& src) { TextButtonStyle< IconButtonStyle< ImageButtonStyle< ClickButtonTrigger > > >* cc = (TextButtonStyle< IconButtonStyle< ImageButtonStyle< ClickButtonTrigger > > >*) &src; }But when I try calling the method:cc->getCurrentlyDisplayedIcon();I get the "passing X as 'this' argument discards qualifiers [-fpermissive]" error in getCurrentlyDisplayedIcon method. The problem is that the getCurrentlyDisplayedIcon method is constructed like this: Bitmap getCurrentlyDisplayedIcon() const { return (T::getPressed() ? iconPressed : iconReleased); }
Hi,the documentation says"The tool [translations.rb] can be run in the TouchGFX Environment."What is meant by "TouchGFX Environment" ?What does the dollar $ sign represent ? Is it a ruby interpreter ? Or some TouchGFX command line tool ? Thank you
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.