Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hello,If various elements of the GUI I'm working on are going to be shared amongst most of the screens (footer, header, status bar,…), do you think it's a good idea to use a single TouchGFX screen and to change only the central content by means of containers?Therefore, I'd have to create various containers, say container_screen1, container_screen2,... and swap from one to another like this:container_centralZone.add(container_screen1);/* after an action*/container_centralZone.remove(container_screen1);container_centralZone.add(container_screen2);However, as we want to use as little heap as possible in the project I'm currently working on, the problem of this solution is that all containers must be created statically upon the creation of the TouchGFX main screen… None of the two solutions (screens vs containers) are perfect, but I'm currently leaning towards using the containers one and I'd like to hear your opinion on this to make a sound decision.Thanks in advance
Hello!I'm using TouchGFXDesigner 4.13.0 to flash my STM32F469i-Discovery board. Everything runs as intended on the simulator. But on the board the UI is non responsive, Everything looks as intended, but no button can be clicked, nothing.Could you give me a hint what am I missing, please?
Hello!I work with textArea.I want to add new text while program working. For example - I get array of filenames and I want to put filenames to screen (and later select one of them by touching).How can I do this? How to create new textArea while program is working?
All declarations in the global namespace that start with an underscore are reserved by the C++ compiler according to the C++ standard. See: https://en.cppreference.com/w/cpp/keyword TouchGFX violates this by converting any images to "_filename" and having them in the global namespace. I was made aware of this when an image with the name "start" was colliding with the compiler's defined value of _start.This should be fixed as soon as possible.
When I select the radio button for a list element, the other list element radio buttons are not deselected. Is there a way to make the radiobuttongroup for all of the list elements the same?
Can I transfer buffer generated HAL_DCMI_Start_DMA through UART interface. I am using STM32f4 discovery board. My UART stop working after HAL_DCMI_Start_DMA call. My main function is attached. int main(void){ /* USER CODE BEGIN 1 */ OV9655_IDTypeDef OV9655ID; /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_DCMI_Init(); MX_I2C2_Init(); MX_UART4_Init(); /* USER CODE BEGIN 2 */ printf("Demo Start\r\n"); if(DCMI_OV9655_ReadID(&OV9655ID) == 0) { printf("OV9655 I
Hi,I am using MJPEG from Official Source Code, and when I parse the AVI that always come out HardFault Information at Video format parsing.Code is official , AVI is too.I am not sure about is the buffer size enough to storage the total file and detail information.At the Red Rectangle side, after Stream ID, it go into HardFault And the detail information are all get, I have no ideal about the problem.Can anyone help with this?Thanks a lot!
Has this function been provided? I would love to have the function of copy and paste between two files, so I donnot have to create those same screens again in a new file.:grinning_face_with_sweat: Br,Devin
When I choose STM32H750VB, the number of RGB integers is not enough (sufficient to use 565 mode), and it is scattered. In order to facilitate the connection, can I mess the order of each color number?
I have posted this in zendesk, but am then referred to ST Community. I would like to re-post here, so that someone in ST can help to follow up.====================================We have a project running on TouchGFX 4.9.3, and we have just tried to migrate it to 4.10.0. Below shows the step that we have tried....1) Open the 4.9.3 project with TouchGFX Designer 4.10.0 => It will be upgraded to 4.10.0's automatically. 2) Delete two pictures in the TouchGFX Designer 4.10.0. => The pictures are successfully deleted 3) Delete one more picture in the Designer => The whole Designer is automatically shutted down!!! 4) Try to reopen the Designer again => Fail. The Designer was deleted automatically and cannot be found.After investigation, it was automatically deleted by the Anti-Virus software (Trend Micro OfficeScan Agent). It stated that Virus was found in the Designer, and therefore it was deleted automatically.This issue was not happened in 4.9.3, but 4.10.0. Please investiga
I would like to return it to the out of box state.And get to look at the out of box application code.
Thanks to the forums, I have been making great progress, so much in fact that I have been making regular commits to a private repository to help track my changes. So once again thank you.My git commits helped track down this strange behavior happening in a generated file. This has happened twice, the first time I didn't have version control in place so I was unable to see what broke the project, but this time I was able to capture it.Here are the list of tools I am using:STM32CubeIDE 1.2.1TouchGFX Designer 4.13.0STM32F746BGI have a screen called Tests. So TouchGFX Designer generates a couple files:TestsViewBase.cppTestsViewBase.hppIn these files my initial commit shows these lines in the hpp file:/* * Canvas Buffer Size */ static const uint16_t CANVAS_BUFFER_SIZE = 4080; uint8_t canvasBuffer[CANVAS_BUFFER_SIZE];and this corresponding line in the cpp file:touchgfx::CanvasWidgetRenderer::setupBuffer(canvasBuffer, CANVAS_BUFFER_SIZE);Just this morning I regenerated the code from within To
I am not a C++ programmer but learning quickly. I made good progress integrating TouchGFX 4.13.0 with STM32CubeIDE 1.2.1. Platform is STM32F746G-Discovery.I created my own thread and that is working. Now I simply want to implement a button callback function. I have a button on Screen2 and I called the callback function Test_Button_Callback( ). I created the following code and placed it into a file named myClass.cpp#include <gui_generated/screen2_screen/Screen2ViewBase.hpp>#include <gui/screen2_screen/Screen2Presenter.hpp>class Screen2View : public Screen2ViewBase{public: void Test_Button_Callback() { int count; count++; }};The code compiles and loads. The debugger indicates that my function is "shadowing" the base function, whatever that means.I am missing something on how to override the Screen2ViewBase virtual function. I can follow the execution in debug but it is not getting to my code.I obviously do not know what I
I am working with the STM32F769I-Disco Board and I'm having trouble figuring out how to control the display.When I put the device is standby mode, the display does not power down. Is this normal? I have been trying to power down the display manually, but I'm having troubles doing this as well. I noticed in the display driver there are macros to turn the display on and off:#define OTM8009A_CMD_DISPOFF 0x28 /* Display Off command */#define OTM8009A_CMD_DISPON 0x29 /* Display On command */But I'm ultimately not sure how to use these macros...Any advice?Thank you.
Hi guys,Just wanted to let you know that i've been away the past week and will try to catch up on what's happened since then over the next few days, hopefully./Martin
I'm trying to develop an application where i have to display 3 different texts for 5 secs for 3 cycles and then change to different screen.I'm adding 3 interactions for this.Delay for 1 sec when screen1 is entered.Execute C++ code when interaction1 is done.code i'm writing is for(int i=1;i<=3;i++){ textArea.setTypedText(TypedText(T_R1)); textArea.invalidate(); Sleep(5000); textArea.setTypedText(TypedText(T_R2)); textArea.invalidate(); Sleep(5000); textArea.setTypedText(TypedText(T_R3)); textArea.invalidate(); Sleep(5000);}Here i'm adding #include <windows.h> for using Sleep();3. After interaction 2 is done, it has to go to screen 2It is building fine and running but required functionality i'm not able to achieve. Please help me with the different methods available to do this. i don't mind calling a virtual function.With the built-in functions "Set Text" and "wait for", i'm able to achieve one cycle only .Also i tried with tick handling but with this method i could not do as i'
Hello....AM working on STM32L4R9AI-EVAL board....i have requirement that with one button i want to take two actions.. i have a digital clock and text area...when i press the button ones the clock digits has to be dim and text area should be bright and when i press button again vice versa ...I can able to do bright and dim but i want it with one button and i can able to do bright and dim with interaction button in screenviewbase.cpp..is there any way to do it without interaction and we can have button....and i want it in screenview.cpp beacuse i making changes in base when i generate code it will gone nooo..thank you..
Done Post Generate touchgfx update_project --project-file=../EWARM/application.ewp && touchgfx update_project && touchgfx update_project --project-file=simulator/msvs/Application.vcxproj No value provided for required options '--project-file' Failed FailedRunning the Application.sln gives build errors with Severity Code Description Project File Line Suppression StateError LNK2019 unresolved external symbol "public: __thiscall HallwayScreenViewBase::HallwayScreenViewBase(void)" (??0HallwayScreenViewBase@@QAE@XZ) referenced in function "public: __thiscall HallwayScreenView::HallwayScreenView(void)" (??0HallwayScreenView@@QAE@XZ) &nb
Hello. I am currently trying to interface physical buttons with my UI, by using interactions directly from the designer, like so: When hardware button is clicked > BUTTON KEY > Change screenI am brand new in this software and embedded software in general, thus my question is, for BUTTON KEY, what do the numbers mean? How do I access specific digital pins on my board?Any help is greatly appreciated.P.S. I'm working on a STM32F746G-DISCOVERY board.
I created a simple TouchGFX application , basically a single button that will turn LD3 Green (Port G 13) on and offI used the MX Cube IDE to create the necessary interactions and functions. Then I created the button using TouchGFX environment. But It fails to build.. It wont recognize the stm32fxx_hal.h file? although I see definitely see that file in the build ..I tried using make command, and the TouchIDE itself and it still wont build..I attached the folder here.. can you help?
So i have implemented the digital clock and using this as a reference to get the clock to update https://touchgfx.zendesk.com/hc/en-us/articles/360009798480-Digital-ClockIt works fine except every time the seconds update, the 1st textarea flashes on and off. Sometimes i'll have a second textarea alternate with the 1st textarea on and off. Quite annoying. Has anyone run into this issue?
HelloHow to approach when using other OS, for example, when using Mbed OS5?Thank you
Hi,Follwing Font cpp files are being generated:Font_Ubunut_light_10_4bpp_0.cppFont_Ubunut_light_10_4bpp_4.cppFont_Ubunut_light_16_4bpp_0.cppFont_Ubunut_light_16_4bpp_4.cppMy question: What does the _4 (in bold) mean? Why are there different font with the same size(16)?Thanks for your help./jimmii
Hello.Does TouchGFX have the concept of layers?For example, is it possible to put the keyboard window on the upper layer of the main screen when in key input mode?Thank you.
Hi to all, i want to try a TouchGFX i create a simple example, i use CubeMX and select X-Cube-TouchGFX 4.13.0 for additional software, i configure all well, i see example and webinar for configure it and use TouchGFX designer for insert a simple UI for my example, all work well.I generate a IAR project with CubeIDE, i use Application structure : Advanced and linker Settings : Heap = 200 ; Stack = 800; now If i compile the project i don't have problem but if i Make the project i see this error:Error[Lp011]: section placement failed unable to allocate space for sections/blocks with a total estimated minimum size of 0x17'd129 bytes (max align 0x4) in <[0x800'0000-0x80f'ffff]> (total uncommitted space 0xf'fe38). later i generate the project for STM32CubeIDE and i try whit it, but i see this error: c:\st\stm32cubeide_1.2.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:
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.