Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hello I'm working with the STM32H7B3I-DK. So far so good.But for two days I try to increase the size of the screen (to test a bigger display in a second time).The problem is that I get hardfault when FreeRTOS starts.New config is as follow (only what is different from the original display):LTDC RGB565 480x800 for parameters and layer.TouchGFX RGB565 480x800 one layer Buffer Location by AllocationOf course I re-generate the code in TouchGFX Designer, before building project.If I change in the configuration above the 800 by the original 272 pixels it works fine.Under 272 I don't get crash, above even a few pixels I get crash.
I have an application which may require the system to dynamically load TouchGFX screen designs. I would like to do this by compiling these screens and then dynamically load them at runtime.Have any of you done this with TouchGFX and FreeRTOS?
Hi.I would like to know how to use Canvas Widgets from scratch. Especially this Widget: https://github.com/touchgfx/touchgfx-open-repository/tree/master/widgets/GaugeI already read the readme.md from open repository and also this post https://touchgfx.zendesk.com/hc/en-us/articles/205074491-Canvas-Widgets?mobile_site=trueBut can't understand how to really integrate inmy project, which files modify and how to manipulate the widget.Is there any code example about it?
Good afternoon,I was trying to find a step by step tutorial on how to import a Project using TouchGFX Designer with a given template (e.g. STM32F746G Discovery Kit), using some matching UI Template, generate code and afterwards import the project into STM32CubeIDE.Finally build the project inside STM32CubeIDE and debug / flash it via ST Link V2 onto my board.Unfortunately I end up with a Black screen + some Background light.No Errors during the build, connect to ST Link V2 Debugger and flash. Is there such a tutorial I might have failed to find?Or does it have to be the other way around.Create STM32 Project in CubeIDE, select suiting BoardOpen TouchGFX Designer within the Project inside CubeIDECreate GUISTM32CubeIde 1.3TouchGFX Designer 4.13ST-Link V2 V2J36S7Appreciating any help or links!/Rafael
Hello Community,I am using "STM32F746G_Disco" development kit.I would like to display "WaterMark Image" on specific condition .On specific condition, i need to display image, so i am using below API.image.setBitmap(Bitmap(Image_ID));image.invalidate();On specific condition, i need to remove image, So Which API i used to remove image or Is there any way to remove the image with same co-ordinate.Regards,Nikunj Patel
We had DCMI code running on a STM32 Nucleo-144 F767ZI, capturing frames from a camera through pin interface.We are trying to run the same code on NUCLEO-144 H743ZI2 HUN743ZI$AT1. All the cables are connected to the same pins as before. It is capturing lines, but it never captures a frame.We used the Cube MX software to configure all the interfaces the same. We scoped VSYNC, HSYNC, and PIXCLK and they all look good. Both boards have PG9 as the VSYNC pin as assigned.Any thoughts on why this code doesn't port between F7 and H7 Nucleo? We previously were able to port this to another Nuceleo-64 F4 without any changes in code.
..
Hello everyone.My goal is to use TFT-LCD (MRB3971) with STM32L4R9 and TouchGFX.3.97inch 16BIT Module OTM8009A SKU:MRB3971http://www.lcdwiki.com/3.97inch_16BIT_Module_OTM8009A_SKU:MRB3971I am challenging with NUCLEO-F429ZI because there is no STM32L4R9 Nucleo board.However, I do not know how to connect the TFT-LCD (MRB3971) and STM32.What confuses me is that the pin name of MRB3971 is different from the pin name of Application note AN4861.Can you tell me how to connect?Thank you.
Hi,I'm working on a project which needs to get the gesture of the user on the touchscreen.Apparently the "BSP_TS_GetState(TS_StateTypeDef *TS_State)" function fills a structure of TS_StateTypeDef type.typedef struct { uint8_t touchDetected; uint16_t touchX[TS_MAX_NB_TOUCH]; uint16_t touchY[TS_MAX_NB_TOUCH]; #if (TS_MULTI_TOUCH_SUPPORTED == 1) uint8_t touchWeight[TS_MAX_NB_TOUCH]; uint8_t touchEventId[TS_MAX_NB_TOUCH]; uint8_t touchArea[TS_MAX_NB_TOUCH]; uint32_t gestureId; #endif } TS_StateTypeDef;The TS_StateTypeDef contains the gestureId variable which takes the value of type @ref TS_GestureIdTypeDef. (GEST_ID_MOVE_UP, GEST_ID_MOVE_DOWN...)typedef enum { GEST_ID_NO_GESTURE = 0x00, /*!< Gesture not defined / recognized */ GEST_ID_MOVE_UP = 0x01, /*!< Gesture Move Up */ GEST_ID_MOVE_RIGHT = 0x02, /*!< Gesture Move Right */ GEST_ID_MOVE_DOWN = 0x03, /*!< Gesture Move Down */ GEST_ID_MOVE_LEFT = 0x04, /*!< Gesture Move Left */ GEST_ID_ZOOM_IN =
For example, I have a ScrollList with visible rows of 10, and have 20 rows(number 1 to number 20) content inside it, not circular. When scroll up, it will show row numer 20 at top and 9 empty row space.What I expect should be, it shows row 11 to row 20 in visible space, and can NOT scroll up further.The widget is open sourced, but looks compliated. How to patch it?
Hello! I create CustomContainer1, added to it textArea1 with wildcard bufferI added CustomContainer1 to ScrollList2 and compiled projectI added button1 and want to change item №2 in CustomContainer1 by clicking button1I added Iteraction to button1 - clicking is calling ChangeItemName() function.In CustomContainer1.cpp :void CustomContainer1::SetItemName(uint16_t data) { Unicode::snprintf(textArea1Buffer, 20, "%d", data); textArea1.setWildcard(textArea1Buffer); textArea1.resizeToCurrentText(); textArea1.invalidate(); }In Screen1View.cpp:void Screen1View::scrollList2UpdateItem(CustomContainer1& item, int16_t itemIndex) { uint16_t item_name_value; item_name_value=itemIndex; item.SetItemName(item_name_value); } void Screen1View::ChangeItemName(uint16_t number) { ?????????????????????????????? } What I have to add to ChangeItemName() if I want to change some Item of ScrollList ?CustomContainer1.SetItemName(1); - error
hiI'm very new with TouchGFX. I created a simple project with TouchGFX for STM32f746-Disco board and if I run the project through the TouchGFX by Run target, the project will be downloaded to the board completely! But when i compiled the project in keil ver 5.2 it will give me this error:Insufficient RAM for Flash Algorithms !it means that there are many unused files in the keil project that made the program so heavy.is there any way to solve the problem ?
I am trying to port stemwin to stm32f407vgtx on discovery board. So far I had been able to drive elt240320 lcd with ili9325 driver via fsmc bus. The problem is when I run gui_init(), it fires the hard fault handler. Step by step runing of GUI_X_Config, LCD_X_Config and LCD_X_DisplayDriver showed that micro hangs when it reaches GUI_DEVICE_CreateAndLink function in LCD_X_Config. I can't understand what is the main source of hard fault error. I made the base project with cubemx and then added lcd files and emwin as well. Any help would be appreciated.
I want to use the OV2540 camera.I can get a picture in the format YCbCr 4:2:2 of OV2540.Can I use the hardware jpeg encoder to receive the jpeg?The camera can give the jpeg right away, but it’s very slow, I want to get an HD 30fps picture and send MJPEG to Ethernet
Hi, I can no longer view the video tutorials on youtube.Ex this:https://www.youtube.com/watch?v=W68VFFUmrb0&list=PLMwuljkA-155LSn9y9PYEHao2onyj2ZNw
I figured that ModalWindow can hijack touch buttons easily, but how can I do this for hardware buttons?Is the only way to only call custom functions? So that in Designer I always use Interaction to call virtual function1, and route it like this:function1(){ if (modalwindow1.isvisible()) { ... modal window handling } else { ...normal application button handling, change Screen etc. } }This way I cannot use any of the default Interactions (change Screen etc.) in Designer, because they would act the same regardless of modal window is shown. So I have to route every screen change via virtual function call.Would be nice if the modal window could override the handleKeyEvent()Thanks!
I have a latin font without chinese symbols and want to show the "Chinese" selection (中文) with a font that contains all chinese symbols but no latin characters and vice versa.To select just the latin font for the texts that should be shown while chinese font is acitve seems not to work (in excel table)Also to switch wildcard text field with two wild card settings (chinese / latin) seems not to work too.e.g.: CRText.setTypedText(touchgfx::TypedText(T_ALIGNRIGHTTEXT_BIG_WILDCARDID_CHINESE));or CRText.setTypedText(touchgfx::TypedText(T_ALIGNRIGHTTEXT_BIG_WILDCARDID_LATIN));What could I do?
For example this display https://www.amazon.com/DEVMO-ILI9341-Display-240X320-Module/dp/B07WR3J2TV/ref=pd_day0_hl_328_1/134-7421434-9166206?_encoding=UTF8&pd_rd_i=B07WR3J2TV&pd_rd_r=5793c540-09ce-4177-8ec5-09a0f62934f8&pd_rd_w=nZHh6&pd_rd_wg=7l11X&pf_rd_p=531c5da2-92c8-47a3-8df6-cb5fa8f00603&pf_rd_r=TAZG50XZXP68RMMX62TT&psc=1&refRID=TAZG50XZXP68RMMX62TT
Hi,I am searching how to control such displays brightness?I assume I need to pass less than 3.3V to LED pin? How do I pass less volts?
I need some advice on how to solve an issue with a forced hard fault IBUSERR when using ST provided emWIN freeware on a custom designed STM32F429BI based board. The STM32F429 is running HSI at 168MHz at 3.3v. As shown below, the forced hard fault IBUSERR bit is set in the CFSR register which happens every few days or so of constant operation. Every time, the LR points to the call to LCD_UpdateColorIndices() within the GUI_SelectLCD() routine of emWIN - see attached disassembly screen shot. I've experienced the error with emWIN v5.28 and v5.32. I've also experienced the error with overdrive disabled and enabled, prefetch disabled and enabled, and instruction/data cache enabled and disabled. Flash latency is set for 5 wait states (I'm currently running tests with 6) . I've contacted Segger and they can't provide any support without licensing the source code. Has anyone else had this problem? Why is IBUSERR happening during calls in the GUI_SelectLCD()? Any recommendation on what to try?
Hi to all i have this problem, i create a simpe example with TouchGFX Designer 4.13, i use the STM32F746GDISCOVERY for my test.I create the esample and i see all work well because i run simulator and run target all work well.I generate the code, i open the project with CubeIde 1.3 and in folder ..Middlewares\ST\touchgfx copy the files present in TouchGFX folder,If i build the project i don't have error this is the output:11:11:51 **** Incremental Build of configuration Debug for project STM32F746G_DISCO ****make -j8 all arm-none-eabi-size STM32F746G_DISCO.elf text data bss dec hex filename 44976 192 9812 54980 d6c4 STM32F746G_DISCO.elfFinished building: default.size.stdout11:12:14 Build Finished. 0 errors, 0 warnings. (took 22s.71
What is the best method to dynamically draw an axis with these graduations with label. For example, I want to display a range of 4 graduations out of 100 and be able to move the axis according to a value from my application.
I have an STM32L4R9-Disco board with the display removed and a custom 240 x 240 display interfaced over 2 channel SPI connected to Octo SPI. This display also has an FMARK signal used to control when RAM is updated.What is the best way to modify the TouchGFX in order to use this display. It appears most of the current STM32L4Ri9-Disco implementation is located in gui_mai.cpp and in STM32_HAL_DSI.cpp. Should the STM32L4R9I GraphixMMU be used over the OctoSPI to the display?
I have problem with some website of Touch GFX. Now i need configure STM32F746 Disco Board using CubeMX and TouchGFX, but i can't access this website.how to a can access this website 'https://touchgfx.zendesk.com/hc/en-us/articles/360019884752-Configuring-STM32F746G-DISCO'or any people have document related, which can share them to me.Thanks and Best Regards
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.