Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I Have a Main screen that contains a watch face. And i have different watch faces, where user selects his choice and to be able to set for Main Screen. So, I have added two screens in TouchGFX where one is the Main screen and another is a screen that contains all watch faces in a swipe container. I have added all my watch faces in a swipe container to scroll and check for watch-faces. Now when ever user selects any watch-face, i have to set that as a Main screen.So would you please help me on below questions,How to assign one screen to another screen to achieve above requirement.which function is used to change the screen with out adding change screen in Interactions.Thanks in Advance,Bala
Hello,The NEW STM32L4P5xx/L4Q5xx devices comes to complete the STM32L4+ Series portfolio.The new STM32L4+ offers a large package offer from 48 to 169-pin packages with several options.- The STM32L4P5 with 512 Kbytes to 1 Mbytes of Flash memory coming with packages supporting external SMPS.- The STM32L4Q5 with 1 Mbytes of Flash memory coming with encryption accelerator engine (AES, HASH and PKA).NEW featuresThe new STM32L4+ brings several new innovative features. It comes with newer OctoSPI interface enabling to connect Octal flash and PSRAM memories and HyperBusTM memories as well.OctoSPI: Connecting 2 Octal SPI memories using only one physical interfaceThanks to its new multiplexed mode, it enables connecting 2 Octal memories using only one physical interface. ST is Accelerating the “HMI of Things�? revolution !!!•In the context of accelerating the “HMI of things�? revolution
This question was asked before 5 or 6 times but no meaningful answer was provided.How to use B-LCDAD-RPI1 MIPI-DSI adapter and Raspberry Pi LCD?Any pointers appreciated.@clive1: Note, this has nothing to do with HDMI.
Hi ST,I'm using scrollable for a list of menu. I want to get Index of menu (Just get items which are showed in monitor: start index -> end index). when users scroll, i want to update value of start index and end index. Please give me the adviceThank you
Hi: I used stm32cubemx to generate the LCD program,Use the FSMC driver.Ram space is limited, so use Partial Frame Buffer memory.But an error was generated,Can't find ManyBlockAllocator.Why is that? Thank you for helping me.
Does anyone know what might limit the number of text (Text Area) items that can be displayed on the screen?I am using TouchGFX designer (4.13.0) to generate an application on a STM32H743I-EVAL2 board. My application has very basic screens. I find that a screen will not appear on the display if it contains >12 visible text items, and the application appears to hang. Additional text items can be in the design so long as visible is checked on no more than 12 items. A button containing text seems to count as one of the 12 text items. I ruled out: length of text content, font size, and font color as affecting this problem.I can programatically make additional text items appear by adding a button, where a button click makes a 13th, 14th (and probably more) text items visible.Let me know if you have a suggestion or can explain why this problem occurs.Thank you,Dan
Hi everybodyI'm trying the Tutorial 3 of touchgfx documentation because I have to evaluate touchgfx against another graphic framework.BOARD: STM32H7B3I-DKTouchGfx designer 4.13.0Project created by designer using the board template.On PC simulator everything works perfectly. On the board after a while, and not systematically the display stop to update. No a fault handler, but if I set in pause the program I'm always blocked into the touchgfx::Outline::renderLine every time. If I play the program and pause again I'm in the same function with a different program counter but closer to the previous one.I really don't know where I could have done a mistake.I attach an image of the STM32CubeIde call stack crashTouchGfx I hope you can help me to figure out the problem, or where I could have made a mistake.Thanks in advance
Hey there,I have a strange problem with my custom keyboard.In the simulator everything looks and works fine. See image:But when I download it to my target, following screen is presented:The touch events and the active rectangle are correct and the correct values are shown in the text area. See following image:When touching e.g number 2, the overlapping numbers disappear. See:There seems to be a problem with displaying the numbers, the overall functionality seems to work.Any ideas what's happening here?Thanks a lot./jimmii
I would like to use the Graph part of this Demo1 as reference to develop a Data Acquisition App but I have been unsuccessful after several different attempts.I am able to download this Demo1 through TouchGFX without problem. The IDE projects that I have been creating, compile and install correctly but either show an empty screen or the program crashes when the user pushes the button to call the graphs routines.Thanks in advance
I have just created a simple project using TouchGFX. It has one image, one button with label. When the button is pressed, the interaction has to fade the image. This is working fine inside TouchGFX. Like it is generating code and also run simulator is working. But when i open the EWARM project (from TouchGFX Projects -> Project Name -> EWARM ) using IAR Embedded Workbench, it is not building.The error coming up is some linker issue.I'm providing the log. Building configuration: STM32F769I_DISCO - STM32F769I_DISCO Updating build tree... BitmapDatabase.cpp Linking Error[Li005]: no definition for "indicesGb" [referenced from C:\TouchGFXProjects\testiar\EWARM\STM32F769I_DISCO\Obj\Texts.o] Error[Li005]: no definition for "_blue_buttons_round_edge_small" [referenced from C:\TouchGFXProjects\testiar\EWARM\STM32F769I_DISCO\Obj\BitmapDatabase.o] Error[Li005]: no definition for "_blue_buttons_round_edge_small_pressed" [referenced from C:\TouchGFXProjects\testiar\EWARM\STM32F769I_DISCO
Hi.I no longer have the text in TextArea.I downloaded a backup where everything used to work fine, but the text is still not displayed.Does anyone have any idea what the problem is?
Hi Martin,I develop one application with touchGFX 4.13 and Keil for dedicated board based F429 (like EvalBoard).Sometime, it 's seem that when I modify (suppress one text area or change the name ID etc..) my design screen with TouchGFX, I press "Generate Code" button, the status bar display "done" , but the generated code file.cpp is not updated. I don't know exactly when this update is not done ( on which criteria) ...What I miss about this point?Thks & rgds.Philippe
I have used TouchGFX Designer to create a custom container that has a scroll list within it. This custom container will be a settings menu that I want to be able to use in multiple locations throughout the firmware. Currently I have this working in one location, and my custom container has a function that is called from the base class to update the scroll list. This works beautifully.ScrollListUpdateItem(SettingsMenuItem& item, int16_t itemIndex) { switch (itemIndex) { case 0: item.setItemDetails(Bitmap(BITMAP_ICONCALSETTINGSSTANDARDSET_ID), T_CALSETTINGSSTANDARDSET, false); break; case 1: item.setItemDetails(Bitmap(BITMAP_ICONCALSETTINGSREMINDER_ID), T_CALSETTINGSREMINDER, false); break; case 2: item.setItemDetails(Bitmap(BITMAP_ICONCALSETTINGSDEFAULTCAL_ID), T_CALSETTINGSDEFAULTCAL, false); break; case 3: item.setItemDetails(Bitmap(BITMAP_ICONCALSETTINGSPOSTVERIFY_ID), T_CALSETTINGSPOSTVERIFY, true); break; } }Now of course, with the current setup if I place this c
HiI'm using STM32F746GDiscovery board. I'm using STMCubeIDE+ TouchGFX designer for GUI development.Is it possible to design a Strip Chart using TouchGFX Designer?If it is possible then please let me know the procedure.With RegardsSunil K SBangalore
How to use the PSRAM of 32L4R9IDISCOVERY as the LCD Framebuffer?I have a evaluation board 32L4R9IDISCOVERY.And use the Demo program as start: STM32Cube_FW_L4_V1.14.0\Projects\32L4R9IDISCOVERY\Examples\DSI\DSI_CmdMode_SingleBuffer.and then, added the PSRAM init function in stm32l4r9i_discovery_psram.c.The PSRAM worked well, and used as heap.First I setted the FrameBUffer in ISRAM. The code work well, and LCD display the LOGO.After I setted the FrameBuffer to PSRAM.//__attribute__((section(".FrameBufferSection")))__attribute__((section(".XRAMSection")))__align(16) uint32_t PhysFrameBuffer[91260]; // 5 char buffer, 5*16 = 80 pixerThe code jump to LTDC_ER_IRQHandler, after the function if(HAL_LTDC_ConfigLayer(&LtdcHandle, &LayerCfg, LTDC_LAYER_1) != HAL_OK) { return(LCD_ERROR); }attch BSP initstatic void k_BspInit(void){ /* Configure IO expanders */ BSP_IO_Init(); /* Configure LED1 and LED2 */ BSP_LED_Init(LED
I recently tried the Application Template for the Stm32F769i-Discovery board and noticed that the horizontal sizes in the CubeMX file are 448 instead of 800:This appears to be incorrect.
I'm not using rtos, my touchgfx process is included in while(1). After debugging through IAR, i've run it and below image is from the .map file. I've also checked the memory address, it is getting zero only.
I want to automate the process of "make" command using a batch file or whatever way convenient. Is it possible to send command to touchgfx environment using batch script ? Or write a batch script in touchgfx environment.
Hi,I am working on below setup:Software Tool Chain:STM32CubeMX 5.6.0TouchGFX 4.13.0 DesignerSTM32CubeIDE 1.3.0STM32F746G Discovery Kit v3.0.1 (AT)Hardware:STM32F746G-DISCO (Discovery Board)USB Mass Storage Drive (32 GB)I have worked on LED, BUTTON , ADC, External Interrupts, UART with TouchGFX Buttons and TextArea Wildcard. Now, I have to send USB Files Names to Scroll List Elements.For Simplicity As for now , I have created in 2D Array and Send One by one with FreeRTOS Queue .char TxBuffer[5][MaxElementsPerQueue]= {"LIST", "HELLO", "TouchGFX", "STM32F7", "SCROLL"}; if(pdTRUE == xQueueSend(USBTxTaskHandle,TxBuffer[i],(TickType_t)100 ) )Same ways receiving in Model.cvoid Model::tick() { if(pdTRUE == xQueueReceive(USBRxTaskHandle,RxBuffer[i],(TickType_t)100 } void Model::USBRx(char temp_RxBuffer[] ) { modelListener-> USBRx(temp_RxBuffer); }But Getting Error .. As below :void Screen1Presenter::USBRx(char temp_RxBuffer[] ) { // view.USBRx(temp_RxBuffer) ;
Hello Everyone,I just got a F4 DISCO board after seeing the webinar on touch gfx and playing around with the designer but I am having problems uploading my design to the board. The screen is completely blank. I found couple articles for using CubeMX and STemWin but didn't find anything promising for touch gfx. Can anyone point me towards any working tutorial with f4 and touch gfx please?Best,Tuna
I have an OV7670 interfaced to a nucleo board. Frame rate=10fpsImage format= qcif(174X144) ; YUV422(monochrome only)Pixel clock =8MhzSuccessive bytes of a row(Line) ,arrive at the rate of 8M bytes/sec, which is too high to directly transfer the incoming bytes to UART.So, i first store the frame in a buffer(174x144=26kB) in SRAM. Since each frame will remain in the buffer for 0.1seconds (10fps) before another frame starts to occupy the buffer, the UART baud must be such that the entire frame can be transmitted in less than 0.1seconds.For a 3Mbps baud, it will approx take 0.083 seconds for frame transmission. so there wont be any data losses, but is there is a chance that a stale data is sent over UART any time during the frame transmission?
Using the above parts, I am making a camera module to only take snapshots. I am using a 2MP sensor with 12 bit parallel data. I have configured the DCMI module to work with 70K of internal memory for a very small snapshot window. In order to get the full resolution of 1900 x 1080, I need to send the DCMI data to the external ram. Since the resolution is high, there is a special way of breaking up the data into 16 buffers of same size.As of now, I can barely get the SDRAM to work on its own, in a small size. A lot of examples use the STMF429 Discovery board but do not use the HAL drivers since I used the Cube to set everything up. Secondly, there are various configurations and settings for the ram chip that is not described anywhere I can find as to what they should be. I also am not sure what the starting address should be. Some documents say 0xc0000000 and others say 0xD0000000. I have searched many forums, examples, app notes etc for the past two weeks and have not gotten any closer
I want to use scroll list or scroll wheel functionality using external triggers ( hardware buttons ). Like if I press up key highlighted selection in scroll list will go up and if I press down key selection will go down. And after pressing enter button it should go in respective screen.How can I leverage scroll list or wheel APIs for this purpose?I am using latest version of CubeMX and TouchGFX Generator.If any example code is available then it will really help me a lot.
Hi guys,I'm very like the developing tools ST provided, and I feel ST have a good vision of what kind of resource will be needed by users.Recently, I'm building a product with TFT-LCD and I picked STemWin as the graphic library going to be used by our RD team for the long term. but I noticed that "STemWin is no longer supported directly through STM32CubeMX from version 5.5.0. " in application note AN5426. I'm wondering is this condition temporary? or the STemWin will never be supported in CubeMX for the future?I would like to know your plan about this. so I can choose the right resource for our RD team.thanks,Jerry
I found that PIXCLK must be always available in DCMI JPEG mode, then DCMI interface would detect VSYNC signal. otherwise, it will not work. Please confirm this. I am working on STM32L496ZG. Some camera module can be configured PIXCLK only exists when there are valid JPEG data output, in this case, DCMI will not be able to accept the JPEG data. thanks.
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.