Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
It's been two months of endless trials (with 1 week break in the middle) to start TouchGFX on STM32F469-Discovery MB1189B board. So far, my latest project is called STM32F469TRY22, to give some idea. None of them work as intended. Not even one and not even once.I've run into several problems during development:1) Lack of proper documentation - for example, I have no idea what exactly screen I have, although I suspect it's OTM8009A, because function NT35510_Init doesn't produce anything at all. (I eventually founs the datasheet for the screen in the depths of the internet, I think, but it's not much help at this point)2) Broken BSP drivers - they simply don't work out of the box without changing them - I mean display-related specifically, SDRAM part works OK with BSP or manually setup, and in order to change the broken BSP drivers, well, see problem 1. I tried to adjust them and got some progress - no image turned into poor unstable image with various problems. Definitely a progress. Bu
HI,I am using touch gfx designer 4.18.1, how to copy the screens my simulator project to board setup project, I did simulator project folder copy and paste in select board setup folder, then it shows an errors
First, I'm japanese, so my English is not good. sorry.Please teach how move page like iphone by Swipe container.I made touchGFX project using Swipe container.The page have many button widget.I try swipe with pushing button widget, but The page don't move next page because pushing button widget is Prioritized.On the other hand, if I swipe with pushing button widget on iphone top page, the page mobe next page without problems.I want to do iphone's move by touchGFX.thank you reading.
Im using: FSMC 16 bit LCD, F407VE, no-OS, ILI9341.I generate my GUI with 2 buttons in separate sides of screen. I made callback for Vsync, made TransmitBlock function.When i starting my project, touchgfx calls once my DrawImage function with Height = 3I have 320x240 display, and 3 rows is <10% of my display.And additional question: if i use SPI display, i need my custom library for display control.But in my case i can choose FMC inteface, but i cant understood, what is the difference and what functional i need in my own library. What way is more preffered?
I'm trying to integrate the display in question with TGX 4.13. This is the LCD module.I developed the drivers for both display and touch, configured the project and trying to follow what is reported in the documentation at this link (spi scenarios for ST7789H2).I have an error during compilation which is as follows:../TouchGFX/target/TouchGFXHAL.cpp:91:8: error: 'class TouchGFXHAL' has no member named 'copyFrameBufferBlockToLCD'; did you mean 'setFrameBufferAllocator'?How to solve?
Hello everyone.I recently purchased a NUCLEO-F446RE board and a X-NUCLEO-GF01M1 LCD Display. Since I am not so experienced with the control of LCD display, I wanted to use the "Hello-World" application according to the document UM2787. I got as far as Step 5, where I have to add the X-CUBE-Display software pack. I cannot select this package and the shown warning says "This pack cannot be used on the selected MCU" (see picture below). According to the user manual (UM2750) of the SPI display expansion board, the NUCLEO-F446RE should be compatible with the display. Did I miss something or is there another example which works with my board? Thank you for your help.
How to solve the problem of slow scrolllist sliding process, when the item template is too complicated(Template size :710*35,contains 4 textAreas�?2 bitmaps 5 boxs,Scrolllist size :710*350).The simulator is very nice,but H7 board is not smooth.
Hi,I created custom container for spesific purpose and I want to see USB connection status there. Therefore, I have to update the value of status continuously. Custom containers does not have presenter.cpp file and I do not refresh the value simultaneously. Thanks.
The custom containers feature is obviously a very useful, and I might add, indispensable tool. However, it's application is somewhat hampered by the inability to see the name of the underlying component once the component is added to a screen, and then renamed.In the example below, I've added a component named "NumberBox". Initially, the object is named "numberBox1", so there's still a connection to the underlying component name. But, in order to reflect its function, I've renamed it "flowDisp." Once this is done, the connection to the component is entirely lost: when the component is selected, the name "NumberBox" does not appear in the properties panel, so there is no way to determine what the underlying component is:It would seem to be a simple task to add the name of the original component to the properties panel. Otherwise, how is one to know what the object actually is? (If I've missed something here, and there is actually a way to make the determination, I apologize for taking u
Hi,1) My development environment is as follows. HW : STM32f769ni discovery kit (DISCO) + ST + ST B-LCDAD-HDMI1 DSI + 7 INCH 1024*600 HDMI LCD SW : STM32CubeIDE + TOUCHGFX + TOUCHGFX DESIGNER I needed to replace embedded 4 inch touch LCD (DSI connector) with 7 INCH 1024*600 HDMI LCD. So I used ST B-LCDAD-HDMI1 DSI b'd which uses ADV7533 to convert from DSI to HDMI output.2) The symptom is as follows. But there is no output on the 7 INCH 1024*600 HDMI LCD and "No Signal" message on the display3) Question Do I need to set the corresponding display resolution, aspect ratio, working mode, ... in the ADV7533 using I2C ? I only want to know whether it is necessary or not ? In case it it necessary, I don't want to know how to initialize those registers because I know that it is hard to know even I2C Dev Address. I will try to find another LCDs & Interfaces In case it is not necessary, I'll try my best to find the c
Hello,I am trying to debug Nucleo_017RB touchgfx demo code with IAR IDE.After build on IAR, I tried to debug Nucleo071RB but failed at ext-flash programming stage. I guess IAR(v9.10.2) do not have right flashloader file.So when I tried to debug it with stm32CubeIDE, I could confirm it programmed mcu flash and external serial flash well.So I want to know following.Q. After flashing external flash with CubeIDE or CubeProgrammer, can I debug source using IAR IDE? how to set up?Best Regards,Tiel
I unzip the project STM32H7BWorkshop2020_labs12 i open the touchGFX project with new version 4.17. I apply the advice suggested to convert project from vers 4.13 to 4.17 e regenerate the code.then i open STmCUBE IDE but when i built the project it generates this error:c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: C:\TouchGFXProjects\Projects_Workshop\STM32H7BWorkshop2020_labs12\STM32H7BWorkshop2020\STM32CubeIDE\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc\libtouchgfx-float-abi-hard.a(LCD.o): in function `touchgfx::LCD::drawString(touchgfx::Rect, touchgfx::Rect const&, touchgfx::LCD::StringVisuals const&, unsigned short const*, ...)':(.text._ZN8touchgfx3LCD10drawStringENS_4RectERKS1_RKNS0_13StringVisualsEPKtz+0x0): multiple definition of `touchgfx::LCD::drawString(touchgfx::Rect, touchgfx::Rect const&, touchgfx::LCD::StringVisuals
Hello,1) Happy new Year!2) I use Scroll wheel in a simple project to show different elements... i configure the custom container with the different elements written in resources.. (my LIST 0, my LIST 1 etc.. until 4) so 5 elements.When i use the scroll in the simulator i don't see the wheel scroll, i see always the first element. I check the config about scroll wheel i select 5 elements.. but nothing i don't see the scroll change. I attach the screenshots and also the projects.maybe i forget to configure something.. i review this projects several ties but i don't understand what i have to change.thanksEnal
Hello :)I was doing setup from that tutorial on STM32F7508-DK:https://www.youtube.com/watch?v=2LQpaz44Ug4&ab_channel=STMicroelectronicsI replaced ADC with I2C and make callback from Master Receive instead of ADC Callback.void HAL_I2C_MasterRxCpltCallback (I2C_HandleTypeDef * hi2c){ float tab_current_temp[64]; tempValue = conversion(convtempData, tab_current_temp); // RX Done .. Do Something!}Timer settings were left default.Does anyone have any idea where is the problem?Also, when debugging from the STM32CubeIDE following message appears:
Hi,I've just upgraded to version 4.16 of TouchGFX and noticed an issue with the new gauge widget.When I use a custom background image it does not get displayed correctly inside the application. It's displayed somewhat "zoomed in". I've attached a screen shot showing the issue. My background image is 112x112, and the widget is 112x112, however as you can see from the screenshot the image does not fit within the bounds of the widget. It's worth noting that the image does render correctly on the actual target hardware (I haven't tried the simulator).Is this a bug? Or have I missed one of the settings? Thanks,Simon
After a good starting download stall ...Either with firefox or google under ubuntu 20, it is the touchGFX designer 450Mo.Regards.JP
I'm using a STM32F769I-DISCO (with the display) and generated the STM32CubeIDE project using TouchGFX designer 4.18.0. Opened it in CubeIDE and everything compiles without warning or error, flashes to the board, and looks like I'd expect. I configured USART1 as serial port and can send status messages to a serial terminal. All good so I committed to github (private) sto I have a known working starting point.I've been unable to add any source files, even empty ones without any content without a "fatal error: test.h: No such file or directory" error. I added the empty header file by right clicking on the project name and selecting New-> Header file. I've done this in other projects without issue so why this is happening is driving me nuts. The test header is in the same folder as main.c, so why it can't see it is beyond me.Suggestions or more info needed?My eventual goal is to include a set of headers and source files from another project (also in CubeIDE). I've been searching the las
Hello Dear Engineers,I am looking for a standard touch handling routine using Touchgfx. The touch panel I am using is resistive which is handled by XPT2046 (TSC2046). The touch controller IC is controlled by SPI.The main problem I have been encountered is that the touch screen response on the run time test is really sharp and fast, it shouldn't be as usual devices like iPhone or Android devices have some sort of delay. Furthermore, when a button or selectable item is touched, it shouldn't lose focus until the press is released. The routine I have used so far is as follows. bool STM32TouchController::sampleTouch(int32_t &x, int32_t &y) { static int32_t prev_x = 0, prev_y = 0; if (XPT2046_TouchPressed()) { XPT2046_TouchGetCoordinates((uint16_t*) &x, (uint16_t*) &y); if ((abs(prev_x - x)>20) &(abs(prev_y- y)>20)) { if ((x != 0) & (y != 0)) { prev_x = x; prev_y = y; return true; } } } /** * By default sampleTouch returns false,
I was going through the OV5640 BSP Component, and it seems that it doesn't support higher resolutions than 800x480 as mentioned here: https://github.com/STMicroelectronics/stm32-ov5640/blob/main/ov5640.h#L129I am working on a project which uses OV5640AF, with STM32F746G-DISC board and wanted to use this driver. But using such a powerful sensor, with such capped resolution doesn't make sense. Also there any specific reason for doing this?
So I am trying to implement:When user insert USB Stick, the display show USB stick iconUser then able to click the icon and chose option to log the real life time data displayed by the dynamic graph.This means I need to:Send message from USB Host task to GUI task (i.e. TouchGFX_Task) to indicate the USB stick has been connected/disconnectedSend message from GUI task to USB Host task of request to log the data into USB stick.Can someone give me some pointer please how to implement this 2-way communication? A sample would be great.
I always show this message when I compile.I tried to reinstall the TouchGFX 4.18.0 many times but it always same happened.I tried to run in Windows 11 and Windows 10, but it is not changed.I tried after removing the MS visual studio, but nothing changed.I have STM32H7B3I-DK.But it is the same happened when I try to PC simulate.It has passed 2 weeks since I bought this kit.But I can't proceed anymore because of this error.I need support to solve this problem.------------------------------------------------------------------------------------------------Run Simulator Generate Done Generate Assets make -f simulator/gcc/Makefile assets -j8 Reading ./application.config Done Post Generate touchgfx update_project --project-file=simulator/msvs/Application.vcxproj Done Post Generate Target tou
Hi,After creating a project by touchgfx designer for stm32h747 it work fine with ST display.I'm using a display with no Graphic ram and it work only with video mode.my display work fine with a single buffer video mode example.(after a minor change)For touchGFX designer project with stm32h747 I did changes in stmcudeMX to adapt to video mode but my display didn't show anything.After digging in code:1)using a debugger I didn't see any call for:enableLCDControllerInterrupt()2)in main task , i didn't exit from: OSWrappers::waitForVSync();i found waitForVSync() exit by HAL_DSI_TearingEffectCallback()But tearing effect is happened for my understanding in command mode with display which include gramnot for video mode.I wonder if touchGFX initialization work with video mode for stm32h747?I found a forum which having stm32f and work with video mode, I saw a line callback but not tearing effect.should I mask tearing effect callback and add manually line callback?In general I'm trying to adapt st
Hi Community,I'm trying to connect STM32F412 with SPI LCD (ILI9341). And, I'm trying to run TouchGFX on this combination. The white and black color is correct. However, another colors are strange. I think that the endian is swapped. Might be, TouchGFX supports only little endian.This ILI9341 device only support big-endian at using SPI port. If I use parallel port, it can choose both little-endian and big-endian. However, the target board supports only SPI.So, I'd like to swap little-endian to big-endian at drawing. Where code do I need to modify?Please give me your advice. Thank you.Best regards,Kotetsu
hi everybody,happy new year.I try to run TouchGFX project on STM32H750 Disco board1.in first level I run my project through QSPI,so i had frame lost and cant reach 60 frame per sec2.in second level i run my code from external sdram,i gain more performance but still i got lost frame3.in third level i run part of my code from internal flash and remained code from external flash,so there i got no frame lost.but because there need for boot loader and other things to be placed in internal flash at later,so I have not space for my code(just i want test there execution code performance in third level )4.in level four I wanna to place touchGFX core in ITCMRAM as much as possible(there is no enough space for all of touchgfx_core) but i got hard fault error i attached excel file of compared items.my project files is attached.IAR 8.40.1 is my project IDEmy questions is :1.why execute in place from QSPI is not like internal flash as ST company say?2.can i move some part of TouchGFX core to ITCMRAM
HI,I am using touchGFX 4.15. I can control the screen brightness using PWM. This is my requirement .After 1 minute, screen should go off ( already done by disabling the backlight)Turn the backlight on when the use touch any ware on the screen.I tried implementing handleClickEvent in home screen. It is called on every touch event. But the buttons on my home screen dosent work any more once i implemented void HomeScreenView::handleClickEvent(const ClickEvent& evt) inside homescreen.cppWhat is the proper way to do this?Thanks is advance!!
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.