Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
..
When i the touchscreen on my LCD it occassionally presses somewhere else on the screen to where i have pressed.The simulation on touchgfx works perfectly which means it isnt the code ive implemente in the virtual functions. Only assumption is that the hardware is dodgy or the way im sensing the touch isnt correct.if i debug the code and step through i cant replicate the issue so maybe a timing thing - i set the sampling rate to 160ms and same issue occurs.Any one experienced similar issue?Mike,
Hello, I am trying this example to use LCD_HDMI from STM32Cube repository.Board: STM32H747I-DISCOToolchain: STM32CubeIDESTM32Cube_FW_H7_V1.7.0\Projects\STM32H747I-DISCO\Examples\LCD_DSI\LCD_DSI_VideoMode_DoubleBufferingI am following the guidelines in order to make the program work as given in readme.txt file. I am stuck at load images into target memory. I am not exactly sure how to load images. Can anyone help me to make this example work and provide the exact steps.Thank you in advance :)
Hi community! :) I was looking at the STM32 F7 series and F469/479/429/439 which have an LCD-TFT controller. I My knowledge of TFT screens is quite limited, but as I understood it basically is an RGB interface - I was wondering what it adds, since pretty much any STM32 can interface with an LCD-TFT using the F(S)MC interface.I think I read somewhere that with the controller you can drive a TFT LCD directly, as in without a chip on the LCD? But I could not find any examples of that, the only example I found is the STM32F429-Discovery board but the TFT does have a ILI9341 chip which is controlled using the RGB interface. In this case what is the point - is it not the same as using the FSMC interface?In my case I was thinking using a small 320x240 TFT LCD, probably Monochrome. Do you guys think I have anything to gain using an STM32 with an LCD-TFT controller?Thank you very muchSimon
Hello everyone, I am trying to adjust the frame rate(to a lower fps) of the display on STM32F429i discovery board. I saw from this manual cd00278141-qvga-tftlcd-direct-drive-using-the-stm32f10xx-fsmc-peripheral-stmicroelectronics.pdf saying there's a tim3 clock used for adjusting the frame rate of the display. So i try to find any corresponding timer that may be used for refreshing the display, the only one i found is in clock configuration. If this is the part to modify the frame refresh, how can i calculate required frequency for my target fpsMy goal is to reduce the mcu usage to the smallest % possible, so that my adc can achieve maximum sampling rate. Edit: My display only have 3 screens, some buttons and text area for user input. I do not need a very fluid display
I want to make a TextBox with a cursor (caret) and would like to change the TextAreaWithOneWildcard. Where can I see the implementation of the draw method? Is this code open?
Hi.I have a project with stm32cubeIde 1.3.1 and touchgfx 4.13.0 as was described in "STM32CubeIDE 1.2.1 and TouchGFX 4.13.0 with STM32F746G-DISC0 kit" video on youtube that Jan 30, 2020 - Uploaded by EE by Karl. https://www.youtube.com/watch?v=12KXreXaLp0 .I use a toggleButton and a boxProgress . In touchgfx result is as Image1 but the result of my code is as Image2 that I upload.I can't solve it. could you please help me about it?
I use the DSI screen and securely stop GFX when I close the screen。
HiGFX's designer tell me that all warnings would be treated as errors.But it's part of the LibJPG library, and I can't change it.Is there any way to get rid of this "error"?I want to open a JPG image in the simulator and display itThank you very much, kind stranger.
HiIn the TouchGFX Designer is it possible to set the text configuration to "Remap texts" and "A4" and it works well when I'm generating the code. But when I build within VisualStudio these settings will not applied, even they are added within the "application.config" file. Has anyone an idea where the problem can be?/Marco
I saw a guy on youtube doing project on disco board. So I though I would give a try myself I got latest CubeIDE and Touch GFX I am using 32F469I Discovery but I am getting this error[makefile:94: touch.elf] Error 1touch.elf section `ExtFlashSection' will not fit in region `FLASH': region `FLASH' overflowed by 147584 bytesthere is a lot of FLASH memory on the board how can it happen, I am only trying small demo one screen and one button.
I am trying to download the TouchGFX pack within STM32Cube IDE. I'm probably doing something wrong but nothing I click on seems to do anything at all.I can see a message asking me to select a variant but I can't see a list (unless it means the bottom line: 'Application'). If I click 'Install', the window just closes and nothing happens regardless of what I select. When I tried the DSP package, I got the same result.In case it makes any difference I am doing this for a custom STM32G474CET6 board.What am I doing wrong? Thanks.
Hello,I'm working on a quick and dirty prototype for thermal regulation.It's the first time I use TouchGFX (but I'm quite used to STM32s for like 10+ years, ST partner, etc.).The UI is very simple (one screen) and runs on a F469 discovery board, I used the designer to add a background and a couple buttons, etc. tested it in the simulator, so far so good. Today I received the board, plugged it in, flashed it, and it worked first try (which is SUPER impressive). Now I just have to add inputs and outputs, and voilà, happy customer.Only one thing bothers me (not too much for this project) is the tight integration with FreeRTOS (having my own C++ RTOS https://github.com/eznovsas/OpSy), I'll check later how much work it would be to switch FreeRTOS to OpSy.Anyway, my main concern now is I'd like to add a real time graph of the set and measured temperature, so basically a static background with 2 multi lines drawn on top, refreshed like a few times a second (not a scope like with a moving fron
Hello Community,I am using the TouchGFX Designer 4.13.0 version.I have add the "Third Party" Lib in "Middlewares\Third_Party" path.I would like to compile the Third Party library using TouchGFX Designer 4.13.0.So, please guide me, what are the changes required in "TouchGFX\simulator\gcc\Makefile".Regards,Nikunj Patel
Version:TouchGFX 4.13.0File:touchgfx\framework\source\touchgfx\widgets\ButtonWithIcon.cpp:39The code is:#ifdef __IAR_SYSTEMS_ICC__ // Only include in IAR compilation #pragma diag_suppress=Pe997 // Suppress warning for intentional virtual function override #elif __ARMCC_VERSION #pragma diag_suppress 997 #endifBut it should be:#ifdef __IAR_SYSTEMS_ICC__ // Only include in IAR compilation #pragma diag_suppress=Pe997 // Suppress warning for intentional virtual function override #elif defined(__ARMCC_VERSION) #pragma diag_suppress 997 #endif(missing "defined")Compiling on GCC, the #elif gets evaluated, but the symbol __ARMCC_VERSION doesn't exist, so the compiler either complains about it and treats it as 0, or it exits with an error (if the "-Werror=undef" option is set).Compiler error:"__ARMCC_VERSION" is not defined [-Werror=undef]"PS: is this the proper way to file bug reports or is there a more appropriate (and more structured) place for it?
Hello,I want to run TouchGFX on STM32F413VGTX MCU. It Doesnt not have LTDC nor DMA2D so I want to make it run using FSMC without graphic accelerator with my ST7529 LCD controller. The problem is I can not make it run.I created a project with ToucGFX and custom driver:I added MX_TouchGFX_Process() to the default task:void StartDefaultTask(void *argument) { /* USER CODE BEGIN 5 */ /* Infinite loop */ for(;;) { MX_TouchGFX_Process(); } /* USER CODE END 5 */ }And I added another task to trigger a vsync signal:void testTask(void *argument) { /* USER CODE BEGIN 5 */ /* Infinite loop */ for(;;) { TouchGFX_TickHandler(); osDelay(1); } /* USER CODE END 5 */ }The TouchGFX_TickHandler() is constructed as follows:extern "C" { void TouchGFX_TickHandler(void) { if (os_inited) { OSWrappers::signalVSync(); } } }And now, the result is everything is initializing, framebuffer is allocated, all the queues from OSWrappers are created, the TouchGFX process is running and it rea
Hi,I have a MIPI DSI display on L4R9, can I use the TouchGFX Cube Generator to generate a project?My development environment is 4.13 with CubeIDE 1.3.1 and MX 5.6.1Thanks
Hello to everyone,I was able to add a backend communication from a screen to other FreeRTOS task with a queue message and now I try the other way from the other task to the screen/view. I add all the parts from the TGFX support site backend-communication to the model and so on, but I'm not able to access to this specific text area (wildcard) because it's a "protected member" of the custom container class. Maybe it's just a easy problem but because of my poor C++ knowledge I don't find a solution for this problem.How I get access to a protected custom container member (text area) which is placed on a screen?Maybe someone can help me with some hints or code snippets.Thank you in advance.
Good morning (o;Thinking of getting me the F750 discovery kit as it features an internal LCD controller...Now...can I disconnect the supplied LC display and attach an external LC display to it via the IO headers?Would it be possible to drive a RGB 720x720 square display?thanks in advancerichard
My application has many screens, after idle for some time, I need to show a advertisement screen.I want to implement it something like Modal dialog box to cover the whole current screen. So I need to get the current active screen, actually a container is enough as modal window's parent.Are there an api to get current screen? I dont want to trace every screen by myself as there are many and more and more later.
I wonder if it is only some free demo program.Can I use touchGFX and CubeIDE to actually upload the program to the board and run without the USB cable. I would like to get one of those boards with display I am not sure which application to build the code and upload.
Hi @Martin KJELDSEN , I discovered something rather odd in GFX framework.I suddenly didn't give the GFX framework DSI_IRQHandler when I was using animation.If I restore the interrupt signal after a while,Model::tick() will disappear.The rest of the MCU functions are working, and the graphics frame is no longer refreshed farmbuffer.OSWrappers: : signalVSync () will be invoked, OSWrappers: : giveFrameBufferSemaphore () these will not be invoked.Should I do some protection when GFX loses the trigger signal?Best regardsJack li
Hi All.Not work this code:In HPP file:class ScreenMainView : public ScreenMainViewBase{public: ScreenMainView(); virtual ~ScreenMainView() {} virtual void setupScreen(); virtual void tearDownScreen(); void handleTickEvent() override;protected: touchgfx::ScrollWheel sw; touchgfx::DrawableListItems<CustomContainerProc, 3> scrollProcListItems;private: /* * Callback Declarations */ touchgfx::Callback<ScreenMainView, touchgfx::DrawableListItemsInterface*, int16_t, int16_t> updateItemCallback1; /* * Callback Handler Declarations */ void updateItemCallbackHandler(touchgfx::DrawableListItemsInterface* items, int16_t containerIndex, int16_t itemIndex);};In CPP file:ScreenMainView::ScreenMainView() : updateItemCallback(this, &ScreenMainView::updateItemCallbackHandler){}vo
Dear TouchGFX team,I am developing STM32L4R9 B/D including DSI video mode LCD.PSRAMOctoSPI Flashetc..I use two frame buffer in internal SRAM and one animation storage buffer in PSRAM.setFrameBufferStartAddresses((void*)FRAME_BUFFER0, (void*)FRAME_BUFFER, (void*)ANIMATION_STORAGE);== > It works fine without special problem. Buf two frame buffer in internal SRAM is so big and I need to change the location to PSRAM.So I changed the address of FRAME_BUFFER and FRAME_BUFFER0 to PSRAM address.But the display is crashed. I can't get screens that I wanted. As I mentioned, no problem when I use PSRAM as animation storage buffer.Using PSRAM as a frame buffer is impossible? OR It's just a problem in setup?Please let me know if any solution or good guideline.Thanks in advance!J.Park
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.