Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I am getting compiling errors when trying to include a custom class into a TouchGFX project.I made a class called "test" with it's test.h and test.cpp components.//File: test.h #pragma once class test { public: test(); ~test(); void set_testX(int); int get_testX(); protected: int testX; }; #include "test.cpp"//File: test.cpp #include "test.h" test::test() { testX = 0; } test::~test() { } void test::set_testX(int x) { testX = x; } int test::get_testX() { return testX; }When I include test.h into mainScreenView.cpp (generated from TouchTFX) the code compiles fine.However, I want test.h to be included into mainScreenView.hpp... When I attempt this, I get multiple definition erorrs, and I have no idea how to fix this....:sad_but_relieved_face: //File: mainScreenView.cpp //This code compiles fine when the test.h include is not commented out #include <gui/mainscreen_screen/mainScreenView.hpp> #include <gui
I would like to buy an evaluation board for the STM32F469 chipset but am trying to use it with a circular display. Can I easily remove the LCD screen it comes with and use my own or is there another eval board that you can buy without a screen attached? Thanks!
..
when i build a project with the .a lib. the problem"make: *** [makefile:47: freertos-stemwin.elf] Error 1"make -j4 all" terminated with exit code 2. Build might be incomplete."was happened.told me that"d:\program files\stm32cubeide_1.1.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.0.0.201904181610\tools\arm-none-eabi\bin\ld.exe: cannot find -lD:/test/STemWin544/Lib/STemWin_CM3_wc16.acollect2.exe: error: ld returned 1 exit status"then i open the verbose choise in linker, and find that info"attempt to open D:\test\STemWin544\Lib\libD:/test/STemWin544/Lib/STemWin_CM3_wc16.a.a failed"some wrony happen with the cubeide.STM32CubeIDEVersion: 1.2.0Build: 5034_20200108_0926 (UTC)thanks for any help.build information :config :project link :https://github.com/pcwl/stemwin_test
I've built a PCB based on STM32F746NG Disco Board, upgraded to a better MCU that suports higher LCD CLK frequencies exactly to drive a 1024x768 LVDS display(the board has a LVDS connector), but even if i met the exactly conditions to run a 1024x768 resolution ocourrs a lot of sync problems on the display, strings, images cannot be rendered on screen successfuly. I've executed a test trying to draw a yellow circle on the center of the screen, the image has the right colors, but the pixels are all dispersed and over the place, shaking vertically and horizontally, meaning Sync problems, even if all is correctly set and cheked by using a oscilloscope to measure the frequencies, what could be causing these problems?
Hello,I'm designing an application using the newest version of TouchGFX. I've flipped my display on the PCB by 180 degrees (my mistake), but since my application has no advanced graphics I decided to use Mirror widget. It works like a charm, everything is smooth, I have changed my touch coordinates to fit mirrored display and all seems great. The main problem comes when I want to use CustomKeyboard widget. When I use it with non-flipped display (without Mirror widget) and normal touch coordinates, everything is ok - each tap is registered and I can see letters on the screen. When I flip both display and coordinates, weird things happen. Keyboard registers only one from few taps, some keys are even unable to register (no touch effect). When I flip coordinates back to normal, but leave screen flipped, again, everything works perfect. To clear my problem a little bit, some numbers:Let's say I am trying to tap letter "Y" which has active area (center point) at (130, 50). With normal displa
I have a problem with Tutorial 2. I don't want to add the counter after pressing. Does not work after implementation " Using a wildcard text " ?
I tried to do following;Installed TouchGFX 4.12.3, CubeMX 5.4 and CubeIDE 1.1.0.Use any F7 Discovery board (No Nucleo board). I am using 32F746G-Disco and 32F769I-Disco.Start with CubeIDE1.1.0 and create a C++ project.Toggle (ON-OFF-ON) led LD1 every 5 seconds or any led of choice. This step is just to make sure everything is working properly, before using TouchGFX.Create a ON-OFF button on LCD using TouchGFX 4.12.3.Toggle the led LD1 now using ON-OFF button on the LCD screen of the Discovery board.That’s all so simple, but I can’t make it work on either Discovery board. In fact, I can't even make LED flash as in #4.ThanksKM
I'm trying to save the current selected page for a SwipeContainer in the tearDownScreen handler when a screen closes, so when that screen reopens the user is taken back to the same page they left it on.However, I can't seem to find a way to access what the currently selected page is for the SwipeContainer. I see there is a method to set the selected page. I also see that the widget maintains the CurrentPage internally. But, I can't seem to get access to it from the view.
I'm working with the STM32F769I-DISCO board and I'm having issues with the snprintf() Unicode function.When I try to print a string to the screen only a few characters register, the rest show up as unknown characters.For example, when I try to print "hello [x value]" to the screen, it prints "?ell? ?" instead.Any advice?Thanksvoid mainScreenView::set_test_X() { test testx; int x = testx.get_testX(); Unicode::snprintf(textArea1_1Buffer, TEXTAREA1_1_SIZE, "hello %i", x); textArea1_1.setWildcard(textArea1_1Buffer); textArea1_1.invalidate(); }
Hello, I have a stm32f769 discovery board and I run LCD_PicturesFromSDCard example from STM32Cube_FW_F7_V1.15.0.There is function for drawPixel that save RGB_code to hltdc.LayerCfg[ActiveLayer].FBStartAdress. I understand pixel color is saved to SDRAM via FMC interface. But how it's sended to LCD after that ? There is no configuration for LTDC to read from FMC. Also there is no DMA configuration for that. Maybe DSI interface have configuration for that ? I created project with the same configuration in CubeMX and it's works but I don't know why.Regards,Adrian
I installed CubeIDE 1.2.0. There is no GRAPHICS graphics in Midleware. Why? In version 1.1.0 it was.
I check yes and everything appears to work. What is the GFXSIMULATOR mode and can I deselect it in the Pinout & Configuration tab?I see the generated code in main.c calls a generated init function, but it is empty except for comments delineating user code sections. When I select Pinout & Configuration tab -> Application -> GFXSIMULATOR, it says the FAHB (MHz) is configured for 180 but the simulator is 168. All the other configuration settings match the simulator settings. I suspect this is the cause of the popup. But I want to run at 180. How should I proceed?Thank you,
I'm using STM32F746G-DISCO Board. when i open the .ioc generated by he touchGfx on a new project on that board. the GRAPHICS periferla is not present, which was in previous release.Any way to re-enable that?
Hi,Does not STMCube IDE v1.2 support Middleware of Graphics? I know that the old versions support but in v1.2 i couldn't find graphics menu in .ioc file? I am using 32F746G-DISCO.Thanks in advance for your support.Sercan
Is there touchGFX documentation in .pdf?
When I tried to open my existing project for the first time in CubeMX 5.5.0, it gives me a pop up window (See attached)But I can't click the link that is refered in the window "Stm32cubemx_gfx_mw_migration) note.
I notice that both ModelListener::model and Model::modelListener data members are declared protected rather than private.This would indicate the provision for inheriting from ModelListener and/or Model.Under what circumstances might one want to do that and more importantly, how would that work in terms of memory allocation?ie how would one organise for TouchGFX to allocate the derived class instances?
hi im using touchgfx 4.12 [32f746], in my app im using keyboard and i got some glitchs (moving right left and stop) when im pressing key with text area , and when i press delete or space its doing well,i found an article about it in the known issues https://touchgfx.zendesk.com/hc/en-us/articles/207507415-Known-Issuesbut i didn't understand what i supposed to do there, can some one please make it clear to me ?thanks
If I create add a texture mapper and want to rotate around Z, I use :textureMapperImage.setupAnimation(AnimationTextureMapper::Z_ROTATION, 32.767, 200, 20, EasingEquations::linearEaseNone);Base on this :https://www.touchgfx.com/documentation/html/classtouchgfx_1_1_animation_texture_mapper_a42439783030c26e2254ed936f5ac9b44.html#a42439783030c26e2254ed936f5ac9b44endValue is a floatBut is this value is more than 32.768, the effect become wrong.For information, the Z value in designer is 0Sébastien
-In screen main I added Swipe Container with two pages(page1, page2)-And In page 2 added Scrollable Container with list layout (8 list element)when I test with controller -I tried from page 2 scroll list and swipe to return back page 1 then freeze controller .
To eliminate the bad effect at the power-on with TouchGFX applications make these modifications.1) locate the main.cpp and add these two HAL_CPIO_WritePin() call. /* Initialise the graphical hardware */ GRAPHICS_HW_Init(); /* Assert display enable LCD_DISP pin */ HAL_GPIO_WritePin(GPIOI, GPIO_PIN_12, GPIO_PIN_RESET); /* Assert backlight LCD_BL_CTRL pin */ HAL_GPIO_WritePin(GPIOK, GPIO_PIN_3, GPIO_PIN_RESET); /* Initialise the graphical stack engine */ GRAPHICS_Init();2) in the file relative to the main screen, in my case is Screen1View.cpp add these two linesvoid Screen1View::setupScreen() { /* Assert display enable LCD_DISP pin */ HAL_GPIO_WritePin(GPIOI, GPIO_PIN_12, GPIO_PIN_SET); /* Assert backlight LCD_BL_CTRL pin */ HAL_GPIO_WritePin(GPIOK, GPIO_PIN_3, GPIO_PIN_SET); Screen1ViewBase::setupScreen(); }
I am using the function BSP_AUDIO_IN_Record to read audio from line in of this evaluation board.The data will be used to get a value to display in a Vu-meter so I don't need an extreme precision.I have add these source in the Makefile to have all functions for this operation.$(Drivers_path)/BSP/STM32746G-Discovery/stm32746g_discovery_audio.c \ $(Drivers_path)/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sai.c \ $(Drivers_path)/BSP/Components/wm8994/wm8994.c \I have add some includes in these source to eliminate the errors in compile phase./* Includes ------------------------------------------------------------------*/ #include "stm32f7xx_hal_dma.h" #include "stm32f7xx_hal_sai.h" #include "stm32746g_discovery_audio.h"Here the code:void Screen2View::setupScreen() { #ifndef SIMULATOR #define MIC_SAMPLES 128 audioBuffer = (uint16_t *)malloc(MIC_SAMPLES * 2); if (BSP_AUDIO_IN_Init(INPUT_DEVICE_INPUT_LINE_1, 80, AUDIO_FREQUENCY_16K) == AUDIO_OK) { BSP_AUDIO_IN_Record(aud
Hello,We planned to make a parent container to hold child custom containers which have different style. Let me explain:ChildCustomContainer1: it includes text1, text2, line1ChildCustomContainer2: it includes text1, image1, line1, line2ChildCustom Container3: it includes text1, text2, text3, image1, image2, line1.......We need to show one of them in a same area (maybe it is a parent container). if user want to see ChildCustomContainer1, we need to show it to the user. if user want to switch to see ChildCustomContainer2, we need to switch it programmatically.I know how to use scrollWheel with custom container. You can only select one of the custom container style from scrollWheel itemTemplate. You can think, we need to use unlimited itemTemplate custom container in scrollWheel. (not important to use scrollWheel or another widget to deal with)How can we deal with? Thanks,Murat
I am considering STM32W MCU for capturing images from an image sensor, such as the OV7725 or OV7670. I noticed that STM32W does not have DCMI, but does have DMA. Is DCMI just an instance of a DMA peripheral? I am interested in finding out whether the use of the DMA peripheral on STM32W would be sufficient for interfacing with one of the listed camera modules (i.e. OV7670)Thanks!Kasra
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.