Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
It like thisAnd this code leads to it(in customContainer).Application::getInstance()->registerTimerWidget(this); And I try to modify the MAX_TIMER_WIDGETS from 32 to 64. It not works.
While heavy updating customized DynamicGraph after some time (from 10 minutes to more then an hour) application goes to HardFault.Investigation shows that problem always happens inside TouchGFX library function CWRUtil::Q5 indexToScreenXQ5( const AbstractDataGraph *graph, const int16_t index const );Failing code:ldr r3, [r1, #0]mov r0, r1mov r1, r2ldr.w r3, [r3, #212] <-- HardFaultbx r3registers at time of HardFault:r0 = 0x2400f124r1 = 0x00000130r2 = 0x00000130r3 = 0x001c0002 <-- problem! usually it equals to 0x080924acSo it should go this way:r3 = &(0x2400f124) = 0x080924ac0x080924ac + 212 = 0x8092580&(0x8092580) = 0x0806865djump to 0x0806865d (indexToScreenXQ5)But when it fails:r3 = &(0x2400f124) = 0x001c00020x001c0002 + 212 = 0x001c00d6&(0x001c00d6) = xxxxHardFaultP.S.0x2400f124 - correct pointer to graph class in SRAM0x080924ac - correct graph class flash code location0x001c0002 - incorrect (invalid address)
Hi allI don't want to use FREERTOS on my project so I need to use touchgfx with No OS. I will also use Qspi and sdram. For that I used 2 ways.First way; I created new stm32 project on STM32CubeIde by BoardSelector (targeted c++ language) and initialized all peripherals with their default Mode . Then disabled freertos and enabled touchgfx as you can see below. Program runs without error but I got nothing as you see on image. Second way; I created project on TouchGFX Designer with STM32F469I Discovery Kit (I aware that it is rtos). Then, on STM32CubeIDE I opened projects from file system and on .ioc file I disabled FreeRTOS, and then I compiled project and got this following error :/Middlewares/FreeRTOS/cmsis_os2.o: in function `SysTick_Handler'/Middlewares/FreeRTOS/port.o: in function `SVC_Handler':/Middlewares/FreeRTOS/port.o: in function `PendSV_Handler': so I deleted FreeRTOS files, I run the code but I had nothing on board's screenMy files is attached. Could you tell me my missing p
Hi,when TouchGFX 4.17.0 is opened I'm getting an error stating no internet connectivity even though my laptop is connected to internet . also in the selection of boards I'm not getting any board option .thanks and regards sinduja
I would to use the cheap STM32F750N8-DISCO evaluation board to run a ETH/I2C/SPI/IR/encoder/touch-screen application but the 64K of flash is very little for my program.Now my program run a STM32F746G-DISCO with 1Mbit of flash and it use about 450K.I use also the QSPI N25Q128A to store the static images.Is possible boot the program from QSPI or move part of the program in QSPI to save flash space ? For the images I use this following method.#include <stdint.h> #pragma pack(push, 1) typedef struct Center2_tagBITMAPFILEHEADER { uint16_t bfType; uint32_t bfSize; uint16_t bfReserved1; uint16_t bfReserved2; uint32_t bfOffBits; } Center2_BITMAPFILEHEADER; // size is 14 bytes typedef struct Center2_tagBITMAPINFOHEADER { uint32_t biSize; uint32_t biWidth; uint32_t biHeight; uint16_t biPlanes; uint16_t biBitCount; uint32_t biCompression; uint32_t biSizeImage; uint32_t biXPelsPerMeter; uint32_t biYPelsPerMeter; uint32_t biClrUsed; uint32_t biClrImportant
I'm using a custom board with an STM32F469, a display with an ILI9488 320X480, and a frame buffer of 1X480. This frame buffer should fill a line of data.When I send the packet using a DSI Long write, only part of the line is filled up with the data I want, the rest is set to black.I can view the data being sent on a scope and I can see that after about 262 bytes (I need a total of 960) the data turns into all zeros. I do however get the correct length, a total of 960 bytes, followed by the usual exit commands.I've checked my buffer when it enters the HAL_DSI_LongWrite, and all my data gets set to fifoword and then to hdsi->Instance->GPDR.My suspicion is that a buffer used to send the DSI data is filling up, but I can't seem to find anything.Let me know if you need any more information.
Hello,Using the 180MHz clock on the STM32H743, will the performance for the SPI (using ILI9341 display) and LTDC functions be similar to those obtained on the STM32F469?I would like to try this STM32F469 in place of the STM32F407. But I don't have easy access to this model at the moment. As I already have the H7, I thought I'd use the same clock as the F469 to experience the performance of displaying images on the display.
..
Is there a recommended solution to this?Thanks
TouchGFX Designer 4.17.0.In model.hpp, I added a static inline variable for my application.1) Run simulation compile gives error:error: inline variables are only available with -std=c++1z or -std=gnu++1z [-Werror]How can I add the option for this compile support?2) How would I modify "Post Generate Command" to include the VS language option "-std=c++17":touchgfx update_project --project-file=simulator/msvs/Application.vcxprojApplication.vcxproj was set to use "=std=c++17" via VS IDE.However, runnning simulation will overwrite this file again.Please advise.
How to switch to particular screen from Model::tick()?Scenario:Switching from start up screen to main screen upon receiving external hardware eventSwitching from particular active screen (non startup screen) to other screen in response to external hardware event.
When I execute "run target" the compilation and flashing is successfully but I see nothing on the display of the board. When I do the same with simulator or with STM32CubeIDE everything is visible. The strange thing is when I add a button to my screen I also see the whole things on display of board when I execute "run target". So for me it seems that this issue seems to be compiler dependant.Thanks in advance for helpingBest regardsJürgen
I am using display with GT911 driver. But I could not run the touch part.How can I use touch part with stm32h7b3i-dk.
I created my project in TouchGfx 4.15.0. Currently I'm using TouchGfx 4.18.1. After flashing/debugging ; color of the text which I've given in TouchGfx is getting corrupted. For ex : If I set red(235 ,64 ,61) color to some text, after debugging it becomes a color close to blue. But if the text color is white, it's not getting corrupted. Someone please provide a solution for this matter.
I have an issue with TouchGFX on H750B-DK board.After I create a sample project in TouchGFX and import it into CubeIDE, I can then flash it to my board with no issues. But the project generated by TouchGFX is very messy (everything put into main.c), so I would like to check the below option in CubeMX:But with this option enabled the project suddenly stops working (TouchGFX task doesn't enter the infinite for loop). Also, after I uncheck it and flash it again, it still doesn't work, which is interesting because in this state the project should be the same as at the beginning, which worked.I debugged it and found out that the function backPorchExited() never returns. I can go as far as HAL::endFrame() in TouchGFXGeneratedHAL.cpp, but when I step into this function the debugger hangs (enters a state as if I pressed run with no breakpoints). When I pause it, I find myself in portTASK_FUNCTION() in tasks.c, running vApplicationIdleHook() perpetually. Concurrently the second task, which is c
Steps:Use TouchGFX Designer to setup some GUI e.g. dynamic graph and generate the code then run simulation, make sure it is okOpen the MSVC simulator. Made some modification on the code or add additional cpp/hpp file into project. Build in MSVC make sure it is okSwitch again to TouchGFX Designer which might prompt you to accept external change. Click ok then generate the code and run simulator again -> build fail.I notice in the code suddently the dynamic graph of the element area and element line instance were gone. As work around I needed to delete and create again the elemenet area and element line in TouchGFX Designer.Following is the build error log snippet:Run Simulator Generate Wrote generated/gui_generated/include/gui_generated/containers/CurveViewBase.hpp Wrote generated/gui_generated/src/containers/CurveViewBase.cpp Done Generate Assets make -f simulator/gcc/Makefile assets -j8 Reading ./application.config Done Post Generate touchgfx update_project --project-file
I know it is possible to do a screen change with a button. But i would like to do it with swiping gesture. I defined transionits in FrontedApplication .cpp and .hpp files. The probelm is application crashes when transition is acalled:void MainScreenView::handleDragEvent(const DragEvent& evt){ int i = evt.getDeltaX(); touchgfx_printf("Dragged %i\n",i); if(i < -20) { application().userGotoBatteryScreenScreenTransitionEast(); }} I found out that all transition types used in the application MUST be added to list inFrontendHeapBase.hpptypedef touchgfx::meta::TypeList< touchgfx::NoTransition, touchgfx::meta::TypeList< SlideTransition<NORTH>, touchgfx::meta::Nil >The problem is FrontendHeapBase.hpp file is auto generated and should not be modified.This line should be added to the list : touchgfx::meta::TypeList< SlideTransition<East>But this can be done only if I create a butto
The example in the help link below shows loading loading the translation from a file, but not from memory addressed external flash. This is what I'm using and mem_addr contains the expected data. The second argument to setTranslation() is a void pointer, so is uint8_t * correct type to use? Does the pointer always have to remain in scope, i.e. I can't switch back to block mode?uint8_t *mem_addr;OSPI_NOR_EnableMemMappedQuadMode()FrontendApplication::FrontendApplication(Model& m, FrontendHeap& heap) : FrontendApplicationBase(m, heap){ OSPI_NOR_EnableMemMappedQuadMode(); mem_addr = (uint8_t *)(OCTOSPI1_BASE); Texts::setTranslation(GB, mem_addr); Texts::setLanguage(GB);}https://support.touchgfx.com/4.18/docs/development/ui-development/touchgfx-engine-features/using-binary-translations
I opened and build a STM32F429 STemWin Hello world application in the latest STM32Cube Repository. All works fine, but if I add/change some European letters to the text, eg. Ä, Ö and Å are wrong. They are printed something like A+tilde and a "reverse" P (Word's paragraph mark). I have some other old "green field" STemWin applications that worked then ok, but have now the same problem. Is there anything I can do to correct the behavior?I am using W10, STM32CubeIde and TrueStudio. The old applications were made by TrueStudio. The problem is in both frameworks.Where can I get information about these new libraries, what is what. The same error is now with old and new libraries.
I'm working on a TouchGFX project for a 1.4" screen. The limited size means I'm taking all the space I can get, so widgets are commonly placed near the edges of the screen. If I have a swipe-able widget, such as a ScrollWheel, near the edges of the screen, swiping that element away from the edge works fine. However, swiping that element towards the edge is more challenging, and often fails. Is there a way to increase sensitivity to the swipe event so that triggering the swipe requires less velocity / displacement?
I've created a simple project to interface a STM32L4R91-DISCO with a TFT using a SPI interface. I've attempted to follow the TouchGFX tutorial but thus far have been unsuccessful in getting the TouchGFX library to render anything.I have a task that sits in a loop, periodically calling OSWrappers::signalVSync(). This appears to work as the vsync_queue fills up. However, in my separate task which is running the ToughGFX loop, the call to OSWrappers::waitForVsync never returns. This mean the frames don't get rendered and flushed to the display.Any suggestions for getting this running would be greatly appreciated!I'm using STM32CubeIDE 1.3.1 with TouchGFX 4.13.0.
I'm trying to create new project with STM32H7B3I-DK and the following error is reporter. Designer version 4.15.0Log file contents from today:2020-11-24 22:44:30,981 [1] INFO TouchGFXDesigner.App: Logging configured2020-11-24 22:44:32,251 [1] INFO TouchGFXDesigner.Main.MainWindow: Application started2020-11-24 22:44:32,251 [1] INFO TouchGFXDesigner.Main.MainWindow: Username: T2020-11-24 22:44:32,251 [1] INFO TouchGFXDesigner.Main.MainWindow: Designer version: 4.15.02020-11-24 22:44:32,251 [1] INFO TouchGFXDesigner.Main.MainWindow: Designer installation path: D:\TouchGFX\4.15.0\designer2020-11-24 22:44:32,251 [1] INFO TouchGFXDesigner.Main.MainWindow: Windows version: Microsoft Windows NT 6.1.7601 Service Pack 12020-11-24 22:44:32,251 [1] INFO TouchGFXDesigner.Main.MainWindow: Current culture: pl-PL2020-11-24 22:44:32,261 [1] INFO TouchGFXDesigner.Main.MainWindow: Current culture time seperator: :2020-11-24 22:44:32,261 [1] INFO TouchGFXDesign
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.