Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Thank you for helping.environment:board: STM32F769I-DISCOTouchGFX 4.15.0Is it possible to set COLOR DEPTH to 24 Bit?If you can't, please tell me the reason.Thank you.
Dear ST, I want know whether the source code of the factory frimware of STM32L4R9 Discovery Kit can be available for the developers. I have purchased one 32L4R9_DISCO board which include a circle AMOLED screen boards. The factory firmware show me the ToughGFX and STemwin example and so on. I want know where can I find the code?Thanks and Best Regards.
I want to display something on the LCD, it doesn't work. I don't know what the problem is?I created a project here in the IDE-Cube directly for this kit = set by default. For example, I want to display BAR0.According to LCD_Connection it is: LCDSEG11 to COM3I think with this command I will change LCD_RAM_COM3 bit 11 to truHAL_LCD_Write(&hlcd, LCD_RAM_REGISTER3 , 0xFFFFFFFF, 0x400);But after uploading, I look at the LCD register ... RAM_COM3 ... bit11 - but nothing is setI don't know why it doesn't work? Thank you all :smiling_face_with_smiling_eyes:
Hello,I am using a 8080 screen and FMC module as an interface to LCD screen.I have created a project using CubeMX (6.0.1) and Touch GFX (4.15).In GFX there is only one startup screen and only one button.I am not using OS. The project was generated and compiles with no errors.So I have MX_TouchGFX_Process(); function call in a while cycle.I found from manual that a tick driver should be implemented to generate VSync signal.Ok. I have added a signalVSync call into SysTick interrupt to call each 100ms. The signalVSync inside has vsync_sem = 1; code. It is void OSWrappers::signalVSync().I have set a breakpoint to flushFrameBuffer but it is never hit.I have added a touchgfx::HAL::getInstance()->taskEntry(); in the main code. (Through extern C wrapper). Still no call to flushFrameBuffer.Please tell me what places should i check? Never used that library before.Thanks,
HiI am studying 3 tutorial with clock.When I select buttonSaveHour and buttonClock, times are not transferred to screen 2. When I return to screen 1, the hour is 00. Why?Yours sincerely
..
Hi team, I am using touchGFX in project, I would like to know how can I add user defined files or folder in to touchGFX project?I tried to add folders but the files present in the folder not compiled.I also tried to add this files to include path in project properties but this not worked for me.Please someone tell me how can I do this.Thanks Pratik
Hi, For my application I need a transparent (invisible) button with long press action.I found this topic https://touchgfx.zendesk.com/hc/en-us/community/posts/206420309-Button-LongpressIt was helpful in fact, but I still have some issues.I implemented this new widget in code.Then for testing purpose I created a small project with 2 screens, and 1 button on each screen to swap between screens ( I did this from TouchGFX)Then back to cube IDE, I modified Screen1ViewBase like this:class Screen1ViewBase : public touchgfx::View<Screen1Presenter> { public: Screen1ViewBase(); virtual ~Screen1ViewBase() {} virtual void setupScreen(); protected: FrontendApplication& application() { return *static_cast<FrontendApplication*>(Application::getInstance()); } /* * Member Declarations */ touchgfx::Box box1; // touchgfx::Button button1; touchgfx:: HoldableButton button1; //-> redefinition of button1 to a HoldableButton private: /* * Cal
Hi there!I recently get the STM32H745 Discovery board and am trying to get it working with the LTDC. I initialized the periphery with cubeMX, due to lack of internal RAM, I reduced the layer resolution to 200x160 pixels and set the background color (255, 255, 0). At the first start, everything is displayed correctly, I specified the address of the frame bufferHAL_LTDC_SetAddress (&hltdc, (uint32_t)&framebuffer_01, LTDC_LAYER_1); and change its values to change the color on the screen, but with any settings, the active area on the display always remains black. Can someone help me to solve this problem?CM7 core Initialise the LTDC. Link to source: https://github.com/Neboron/STM32H745DISCO_Test
When the 16Bit Color Depth is set and the box color is set to 70,73,80 as the RGB value, the Box Color in the Visual Studio simulation is output as 66,73,82 as RGB values.Since we are developing a product, we need to print the color set by the GUI designer as requested. Can you tell me the RGB range I can set?@Martin KJELDSEN
HelloI am using an STM32H743 MCU that implements acquisition of frame from camera and compress it to JPEG format.The setup to compress the image is with hardware JPEG encoder with MDMA stream.Image resolution is 240*320 pixels, greyscale. The procedure of my code is to extract MAX_INPUT_LINES of the source image, and send it to the JPEG hardware, until its done and ready for the next MAX_INPUT_LINES. it happens 15 times for each image.Unfortunately I am experiencing artifacts with the compression - the first MAX_INPUT_LINES (i.e. first 16 lines) of the image, are replicated from the bottom of the image to the top of the image - the example of the source and destination image is attached.Any idea what could lead to this issue?Thank you
Hi I am using H753 with its LTDC as display output. Due to a special request, H753 must know when a single frame output completely, and then switch to another frame source. Does H753 support any interruput or event of such a frame output complete?
Posted on May 01, 2018 at 06:29Good morning,I'm beginner with STM but managed to get working a STM32F103 LCD16x2 using i2CNow, I would like to use i2C but with 20x4 LCD, nothing fancy I modified the library according to what I was thinking correct but I can't get it working properly.I used this tutorial for the 16x2 lcd:http://controllerstech.com/i2c-lcd-in-stm32/ because I use this i2C module: PCF8574And the LCD screen 20x4:https://www.aliexpress.com/item/2PCS-Lot-LCD-Board-2004-20-4-LCD-20X4-5V-Blue-Screen-LCD-2004A-Display-LCD/32637673263.html I have weird characters wrote on the LCD but not at the good position and not what it's supposed to be displayedThe project is attachedDo you have any idea of what I did wrong ?Thank you#lcd-display #i2c #stm32f103
I just want to know if I am using the right TouchGFX tools.Working on designing a chat application on STM32 chip. I am using a List Layout inside a scrollable container to implement the incoming/outgoing chat messages. Is this the right path, I am mean using List Layout and Scrollable container? Or there are other options?@Martin KJELDSEN @Alexandre RENOUX
Hello,I'm using STM32H745I with STMCubeIDE with STemwin and OPENAMP.Both core are active and running.I wanted to assign Flash Bank 1 (FULL) and Flash Bank 2 (512 Kb) to M7 while Flash Bank 2 (256 Kb) will be wnough for M4.I've modified my linker script as per attach file.Placed rodata in Flash bank 2.But while trying to access data from Flash bank 2 it shows INVSTATE Fault .How to setup linker for non-continuous data regions means with out defining section.How to trouobleshoot this issue further.
Hi,some thing is strange with the cube ide in the display controller LTDC initialization . i choose 1 layer only but the cube ide generate code for 2 layers!!First time to see such thing
Dear ST Team,I'm doing a project about: display LCD (DSI Video mode) with TouchGFX. I have example TouchGFX DSI Adapted CMD mode, but can't find out example for DSI video mode.Please give me some idea!!!Thanks
We are running into some issues getting Touchgfx with DSI Video Mode Running1. uC - STM32F779BI2. Display - 720 *12803. Display Controller - ST77034. No of MIPI Lanes - 2 lanes5. DSI Host Mode - Video Mode6. RGB 565We have been able to communicate with the display to setup the display (LP Mode) but after the initial setup we just get DSI_FIFO_OVF error. LTDC SettingsNo of Layers - 1Pixel Format - RGB 565Frame Buffer - Externa 128Mb SDRAM (S42S32400F-6TL) for the supporting the frame buffers. We recieve the DSI error only when the LTDC Overflow interrupt is enabled. Any suggestions on what could be causing the overflow ? Also I see that Touchgfx examples all use Command Mode with TE, are there any examples to support Touchgfx in DSI Video Mode. Thank you
I followed this guide to changing the pixel format of an application. Although my TouchGFX designer file does not have the code listed above the framebuffer pixel format table 2/3 of the way down the page, in the Designer itself it reports 16bit color and RGB565. However, when I build and run my application, the screen appears corrupted and then freezes. The stack trace is attached, but it appears that during the constructor call of one of my custom containers, a PainterRGB888 reference is called and an assertion fails(?), hanging the program.If I make a simple screen that doesn't have that custom container, the display still corrupts though it doesn't seem to crash.The application template for the STM32F769i only lists 24bit color depth as an option. Is this a hardware constraint?
HiOur marketing needs to know how much space they have for translation etc. and requested if we can show this visually on the screens. The easiest would be if each textarea had a box or border, which indicates the size.Is there an easy way to add a box/border to the textarea that I can see visually how big the textarea is? It should be applicable to the whole application and every textarea with or without wildcard.Thanks a lot.Best regardsMarco
Hello,I'm wondering if there is a an alternative to TICK_INTERVAL_MS constant which is deprecated. It is said that handleTickEvent() function is called by the Application on the current screen with a frequency of Application::TICK_INTERVAL_MS.For the moment I've changed the frequency at which handleTickEvent() is called with this code :/** * Has to be called from within the LCD IRQ rutine when the Back Porch Exit is reached. * * Has to be called from within the LCD IRQ rutine when the Back Porch Exit is reached. */ virtual void backPorchExited() { static int cnt = 0; static int modulo = 2; if(cnt%modulo ==0) { swapFrameBuffers(); tick(); } cnt++; }(Here i got the same LTDC frequency but the frequency display is divided by 2)regards,AJT
Hi,I am working on a project where using external bin lib files is forbidden for safety and security reasons. Is the TouchGFX source code available ? Do we need to buy a license or something like that ?Thanks,Olivier
Hello,TouchGFX version: 4.15.0STMCubeIDE: 1.4.2I need some help, I am seeing some strange behavior from a custom module I am creating. Basically, when I am forced to use a PainterRGB888 to color a circle, TouchGFX will halt when calling showBaseModal()Here is my class:#include <gui/containers/modal/modalBase.hpp> #include <touchgfx/Color.hpp> modalBase* modalBase::getInstance() { static modalBase gModalBase; return &gModalBase; } modalBase::modalBase() { mInternalWidth = 212; mInternalHeight = 159; mCornerRadius = 10; mEdgeBuffer = 30; mMainContainer.setX(0); mMainContainer.setY(0); mMainContainer.setWidth(272); mMainContainer.setHeight(480); circleTopLeft.setPosition(mEdgeBuffer, 161, mCornerRadius*2, mCornerRadius*2); circleTopLeft.setCenter(mCornerRadius, mCornerRadius); circleTopLeft.setRadius(mCornerRadius); circleTopLeft.setLineWidth(0); circleTopLeft.setArc(0, 360); circleTopLeftPainter.setColor(touchgfx::Color::getColo
I'm building a (non-touch) simple hardware UI which needs to implement a primitive string editor. I'll be taking the "select a cursor position, enter, then select a character" approach.I have everything in place now, with the exception of character selection. I want to increment and decrement my way through the complete list of unicode characters supported by a given wildcard buffer. How would you recommend I access and iterate through the generated list of available unicode characters that a particular wildcard buffer supports?
I want to disable touch using NoTouchController class, but the TouchGFXConfiguration.cpp file is located in generated folder, but STM32CubeMX will always override this change.CubeMX should have option to select TouchController.
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.