Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Thank you for helping.MCU: STM32F769BIBoard: CustomI set up LTDC using TouchGFX and STM32CubeIDE.I thought that the RGB color signal would be output in synchronization with the DE signal.When checked with an oscilloscope, the color signal (for example, R5) is output asynchronously with the DE signal.Do I need to set the parameters of the LTDC to synchronize?Please tell me how to synchronize.Thank you.
Hi there,While generating code for TouchGFX, it is re-generating files with wrong configuration and over writing generated files, which gives compilation error. In order to compile successfully, those files need to discard. these files are TouchGFXGeneratedHAL.cpp and TouchGFXConfiguration.cpp.Is there any workaround for this ? so that it doesn't regenerate
We have a project that contains too many files. The total length of the files' path is longer than Window command line limitation. The create process error is reported when compiling. This problem is temporarily solved by converting all STM32HAL files to a library file. But this error comes back soon as more files are added. I guess this issue is related to how the makefile works. How to fix it? Another thing, we use TGFX as the GUI engine. The generated files' path is fixed and long. Is there a way to change the path of the generating file? Thanks in advance.
Dear,Is it possible to have 2 differents display connected to one MCU that can be run with touchgfx ? Like a TFT 16b 320x240 and a simpler monocolor 128x64. Regards,
Hi,I am working on below setup:Software Tool Chain:STM32CubeMX 5.6.0STM32CubeIDE 1.3.0TouchGFX 4.13.0 DesignerApplication Template STM32F746G Discovery Kit v3.0.1I am trying to do send/receive messages with Message Queues.1) From TouchGFX Toggle Button to LED.2) From Hardware Button to Text Areaas per below thread.https://community.st.com/s/question/0D50X0000AU4zodSQB/interfacing-with-hardware-in-touchgfx-applicationsProgram Successfully Build . But Still not succeeded to Work on Actual Hardware. 1) From TouchGFX Toggle Button to LED. LED is not OFF/ON with TouchGFX Toggle Button2) From Hardware Button to Text Area Update HardFault and/or MemManage_Handler Because I have changed priorities and Heap . Can anybody look attachment ? Guide me What needs to be correct ? To solve the problem .--Karan
Hi st community members,I'm having trouble when I'm porting DSI display and also integrating it into TouchGFX framework. Please let me know if you can point me out some clues about this.1. First, I started to do porting the DSI display(24bit color), by just setting a framebuffer connected to a buffer in internal SRAM(global array). It was finally succeeded as below, the content is RGB pattern what I generated by couple of for loops to fill the framebuffers.In this case, I didn't activated TouchGFX(MX_TouchGFX_Init).2. As I saw successful porting of my DSI display, I started to activate TouchGFX framework- activated MX_TouchGFX_Init and relevant codes.- setup TouchGFX configuration in ioc file of STM32CubeIDE tool- declared framebuffer as buffer allocation and set it also as LTDC framebuffer, by externing the array in main.c fileBut what I see in this case is, something wrong.- My display doesn't show the buffer correctly.- It seems like it is something stretched than it's original size
I'm working on a project using TouchGFX and I need to add a tap of the entire display screen and that same screen also has a swipeContainer. And I'm having trouble solving this problem, because I can't get the swipe to work properly.Would anyone have an example that could help me?
Hello,I have a the following problem:I create a blank UI template for the STM32H7B3I DK with TouchGFX Designer 4.13.0.Then, I create a small UI consisting of 1 background box, 1 button, 1 image and 3 interactions. The behavior of the interactions is that when the button is pushed, interaction1 hides image 1, then interaction2 waits 1000ms and then interaction3 shows image1 again.This works basically. However, after some time (can be minutes, can be seconds), the UI hangs and the button is not responsive anymore. I debugged the application with STM32CubeIDE and found that the software hangs in the following function at line 8 "configASSERT(0);" :bool STM32TouchController::sampleTouch(int32_t& x, int32_t& y) { TS_State_t TS_State = { 0 }; /* This should never fail !! */ if (BSP_TS_GetState(0, &TS_State) != BSP_ERROR_NONE) { configASSERT(0); } if (TS_State.TouchDetected) { x = TS_State.TouchX; y = TS_State.TouchY; return true; } return
I have developed a custom keyboard in TouchGFX and it is working fine, but now i would need to change the alpha property of some keys, and also press the keys, all from the code. In order to press a button widget from code i do the following:x=button->getX();y=button->getY();x+=5;y+=5;evnt = ClickEvent::PRESSED;ClickEvent click1(evnt, x, y);button->handleClickEvent(click1);button-> invalidate();evnt = ClickEvent::RELEASED;ClickEvent click2(evnt, x, y);button->handleClickEvent(click2);button-> invalidate();In the case of the keyboard i have tried to do something similar with the method "virtual void handleClickEvent(const ClickEvent& evt);" of the keyboard class, but anything happened. I would really appreciate any help. Thanks in advance.
Has anybody else used these library functions and found them to be incredibly slow? Just want to make sure it's not something I'm doing wrong. Drawing triangles to fill a screen resolution of 1280x800 takes 40 seconds. Even drawing a single triangle takes a second or 2.
I have a NUCLEO-G071RB with a X-NUCLEO-GFX01M1.I dowloaded en.X-CUBE-DISPLAY_1_0_0 from ST site, but I'm not able to import the project into STM32Cube IDE.If I go to "File -> import -> existing project into worksapce" the project is created into the workspace, but without source code.What is the correct way to import an example project into the IDE ?Regards.
..
Hello!Hav anybody workable sample of ZOOM in and ZOOM out detection of touchscreen gesture?
HiI have installed the latest versions of STM32CubeIDE and TouchGFXDesigner. How to set a new program as soon as possible?greetingsAndrzej
Still can't start works with #TouchGFX. Target: make that touchgfx called function TouchGFXGeneratedHAL::flushFrameBuffer(rect);What I did:Start new project and select my chip (stm32f767z)switch on crcswitch on dma2d, and define color model rgb565, enable global interruptswitch on touchgfx, define resolution 480x320, and color model rgb565, enable dma2d, custom tick, no os.enable TIM13 for generate Vsync for touchgfx and sent it to period 50ms, enabled nvicgenerate a coderun touchgfx designer, put white background and some line on it.. Generate codedefine callback for timerextern void touchgfx_signalVSyncTimer(void); void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if (htim->Instance == TIM13) { touchgfx_signalVSyncTimer(); } }define function extern "C" void touchgfx_signalVSyncTimer(void) { HAL::getInstance()->vSync(); OSWrappers::signalVSync(); } Compile and debug, and check when it call flush.When I pause app it shows next stack.So it's waiting when F
I need to reload view completely after major external changes. I don't want to reset each state manually.What is the correct way to do this? Is this the only way?void MyView::reloadView() { application().gotoMyScreenNoTransition(); }This works fine, but requires custom handles for each view.
I'm using Dynamicgrapgh widget in TouchGFX to represent the sensor values graphically, i want to display the X and Y axis labels. I'm unable to get the labels on display UI even though i have enables Horizontal and vertical axis labels. Also how to write a function to update the sensor values on graph. Suggest me a solution
Hello, I have realized that any transition that happens over a defined time gets generated on a time basis of 16.6667 ms per tick. For example a simple wait transition will get: //Delay for 3000 ms (180 Ticks) interaction_wait_a_bitCounter = INTERACTION_WAIT_A_BIT_DURATION;This tick counter is decreased on each model.tick() as I understand, but if the tick timebase happens to have a different period, times does not match.I am currently using a SPI display that doesnt have the tearing effect pin available (yet) so i am calling OSWrappers::signalVSync(); each 16ms under SysTick_Handler() (1ms) to simulate 60hz.With this configuration timings are as expected, but as soon as I modify the OSWrappers::signalVSync() calling frequency, transitions accerlerate or deccelerate proportionally. Is this the expected behaviour or am I understanding all wrong? Is it possible to change the divider that touchgfx designer uses for calculating the delay counters, or is assumed to be
I create a project on stm32f429zi nucleo, add LTDC, Touch GFX, CRC. I configure everything, add a BOX and a button. There are 3 errors when compiling. I tried it on different versions of CubeIDE and TouchGFX and different controllers. The only thing is that the errors change. On older versions, there are errors with the stack.make -j8 all Error: Cannot find the specified linker script. Check the linker settings in the build configuration.arm-none-eabi-gcc "../TouchGFX/App/app_touchgfx.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DDEBUG -DSTM32F429xx -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -I../TouchGFX/target/generated -I../TouchGFX/App -I../TouchGFX/target -I../Middlewares/ST/touchgfx/framework/include -I../TouchGFX/generated/fonts/include -I../TouchGFX/generated/gui_generated/include -I../TouchGFX/generated/images/include -I../TouchGFX/gene
Hi I have designed a custom board using stm32h743iit6 and used an SDRAM and LTDC as well,the problem is that right now Ltdc is working fine with the LCD and FMC is also working fine but when I combine them together the MCU becomes unresponsive, for example in the same program generated by cubemx if I comment on the FMC initialization LTDC is working and also if I comment the LTDC them the SDRAM is working but as soon as I initialize them together the MCU becomes unresponsive, Any help is greatly appreciatedthanks
hi team,Shown below images then you will get known my problemhow to adjust keywords to the keyboards
Hello!Problem is described here https://community.st.com/s/question/0D53W00000YU9O3SAL/loading-object-code-errorI try to find reason of problem by creating new clear project.I created project in cubeMX 6.1.1, configured SDRAM, LTDC, QSPI, DMA2DThan I added to H743.SCT this sectionLR_EROM1 0x90000000 0x2000000 { ; load region size_region ER_EROM1 0x90000000 0x2000000 { ; load address = execution address *.o (ExtFlashSection) ;*.o (TextFlashSection) *.o (FontFlashSection) } }Keil project downloading and startin without any problemsThis project is here https://cloud.mail.ru/public/uUgS/jxTK5fmg1NEXT STAGE Than I edit project in TouchGFX editor, add one button, generate code, and build it in KEIL.Than I download it to flash.Then starting debug I get error, on this stage this error this error is not occured when I delete from H743.sct this codeLR_EROM1 0x90000000 0x2000000 { ; load region size_region ER_EROM1 0x90000000 0x2000000 { ; load address = execution address *.o (
Hi there,I am working on touchGFX for some application. There are some common widgets that need to be added on every screen (Let say there are 10 screens). In this case, I have to add the common widgets on every screen through touchGFX designer. But I don't want that. What I want instead, that there should be one common class which contains all the common widgets. This class may contain functions like setUpScreen(), handleTickEvent(), tearDownScreen() etc. Now, setUpScreen() does the set up part such as setting up the widgets properties and adding this to the corresponding screen's container. and other methods implemented likewise. E.g :-class commonWidget{ void setUpScreen() { xyz.setBitmap(touchgfx::Bitmap(BITMAP_MIN_ICON_ID)); xyz.setPosition(26, 8, 32, 32); xyz.setVisible(false); add(xyz); }};The problem here is, add(xyz) adds the widget to the commonWidget class container. But instead this should be added to the current screen container from where this ( setUpScreen
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.