Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi everyone,Would you please let me know if it possible to have TouchGFX for stm32f412G-Discovery board?If yes "HOW"?STMCubeMX has not GRAPHIC option in middleware for this board. So, is that possible to integrate it by some efforts or touchgfx is not supported in this micro-controllers?
I want to use a slider which will be on master screen and then this slider can be slided/accessed on all screens in my application. I know I can add slider on every screen but is there any way to avoid that? I want to use same slider across all the screens. And also Date name and all that is common for every screen like status bar in phones
When I make a project with stm32cubemx 5.4 and touchgfx 4.12.3 and compile project with keil or iar or openstm32 much errors occur. For example in iar I have errors like this in linking level :No definition for MX_FREERTOS_Init() from main.o And many others...Image attached.Could you please help me.Thanx
Hi,I did the configuration as like this for my board stm32F769 discoveryhttps://touchgfx.zendesk.com/hc/en-us/articles/360020208091-Configuring-STM32F769I-DISCOBut i didnt get the output.I did through keil.Please help me to do the configuration.Like the site i configuration done and open as Keil file.No error i found in the code.But While burning Black color screen only as output.
I want to use latest GCC toolchain and custom build environment (for CI and other reasons) for my project that uses TouchGFX. Could my GCC toolchain (or my GCC toolchain's version) create different memory layout (than it is compiled in TGFX library) for objects, that are created in my code and passed to TGFX library? For example, it will be very bad when I pass `TextArea txt;` to void Container::add(Drawable& d)C/C++ standard does not define memory layout it and it is a compiler implementation detail.If my toolchain will actually create different object memory layout (for example for TextArea), it will still link perfectly, but that will definitely cause an undefined behaviour.How can I know that and how can I be sure about correct behaviour?Some people on StackOverflow said, that I must use same version compiler and its settings as it was used to build touchgfx provided library. Can I somewhere get that information? Did ARM official toolchain https://developer.arm.com/tools-and-so
..
Hi there,Does anyone by chance have sample code for displaying an adc value onto the lcd screen using tocuh gfx? Just need some help in going in the right step.Thanks,
Dear All,when I parse a simple jpeg (300x100px, 4:4:4 subsampling), the nmcu value reads 468 (?=floor(300*100/64)) instead of 494 (=floor((300+7)/8)*floor((100+7)/8)) after the header processing finished interrupt.All the image data is processed correctly, so this is not a big problem, it was just very confusing during testing of my implementation.So my question in the end is, is this a bug in the hardware or is my math wrong?I am confused..Oli
Hi,I’m using the licenced version of TouchGFX V4.9.2 in my project. The code runs on STM32F777 and segger emBOS OS.Occasionally the TouchGFX task falls into an endless loop, waiting for DMA_Queue::isFull() to return FALSE while in DMA_Interface::addToQueue() function.The only way to get out of this state is to reboot the hardware.I tried to the below two steps to get out of lock-up state without rebooting the system, but didn’t succeed and TouchGFX code goes to lock-up state again.1- disable DMA2D and LTDC interrupts and de-initialise them and then terminate the TochGFX task and de-initialise the LTCD2- to initialise DMA2D and LTDC peripherals a create the GFX taskAny idea why this is happening and if there is a way to get out of this state without system reboot.Thanks
hi.i work with stm32f767IG and it's hardware JPEG.i write code like stmcube EVAL board JPEG example. in some cases and pictures, header data ready flag is set and i receive interrupt but returned values like image width and height etc are all zero.but when i open image with paint and just save it and use it again all header values get right .i want to know why this happen and how i can handle it . can anyone guide me?i attached mentioned image below.
Can I use both LTDC peripheral for LCD interface and FMC interface to access external Flash at the same time?when I'm trying to configure the peripheral "FMC" for NOR flash, LTDC peripheral is disabled.
I'm being stupid but I've copied the various demos and tried every combination I can think off. I want to have two layers that I can write to. If a pixel in layer 2 is set to zero then I want the pixel from layer 1 to show through otherwise I want the the layer 2 pixel to show as-is. The overall LTDC set up is working to the extent in that if I set alpha for layer 2 to 100 then I can see images from both layers with the layer 2 information on top of layer 1 and the intensity of layer 1 reduced.However, if I increase the alpha of layer 2 to 255 then layer 1 disappears completely rather than just the pixels that are non-blank in layer 2. If I set it to 0 then layer 2 doesn't show at allHere is my layer set up. I've tried both variants of the blending factor if(colours==16) pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; else pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_L8; pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2
I am working on custom board, based on STM32F746 . LCD Is working fine. And Configured the ADV7180 sing I2C. I have configured the DCMI with Continues Mode to display video on LCD.All interrupts are working fine. (Vsync, Frame and Line)I'm getting data from D0-D7 pins of the DCMI Port ( 8 - Bit Data ).But DCMI_DR register always zero. Any help is appreciated.
I seem to have mistakenly assumed that all relevant data is contained within the .touchgfx project file and that everything else can be regenerated from that.Is there any way to recover from this?C:/TouchGFX/4.10.0/env/MinGW/msys/1.0/Ruby193/lib/ruby/gems/1.9.1/gems/touchgfx-cli-4.10.0/lib/touchgfx/generators/iar_project_updater.rb:144:in `read': No such file or directory - ../EWARM/TouchGFX.ewp (Errno::ENOENT) from C:/TouchGFX/4.10.0/env/MinGW/msys/1.0/Ruby193/lib/ruby/gems/1.9.1/gems/touchgfx-cli-4.10.0/lib/touchgfx/generators/iar_project_updater.rb:144:in `project_file_contents' from C:/TouchGFX/4.10.0/env/MinGW/msys/1.0/Ruby193/lib/ruby/gems/1.9.1/gems/touchgfx-cli-4.10.0/lib/touchgfx/generators/iar_project_updater.rb:148:in `project_file_xml' from C:/TouchGFX/4.10.0/env/MinGW/msys/1.0/Ruby193/lib/ruby/gems/1.9.1/gems/touchgfx-cli-4.10.0/lib/touchgfx/generators/iar_project_updater.rb:33:in `check_project_node' from C:/TouchGFX/4.10.0/env/MinGW/msys/1.0/Ruby193/lib/ruby/gems/1.9
I started off taking Method 3 from https://touchgfx.zendesk.com/hc/en-us/articles/205074561-Connecting-the-UI-to-your-system and it ran fine even after reset or power cycle. I added two FreeRTOS tasks to handle SPI2 and timer2. I flash the target board from inside TouchGFX by pressing Run Target. The board flashes fine and my program works as intended. However, when I reset the board or power cycle the device, my SPI and timer tasks do not run. However, the rest of the application runs fine. Any idea on what could be causing reset to break the program? I want to be able to reset or power cycle and still run my program.
I can't find "Configuring STM32F746g-DISCO" in TouchGFX Knowledge BaseThere are only boards in the photo belowPlease help..
HiI am working on an stm32f4x9i evaluation board.I want to save camera images in USB memory without LCD.Of course, I had worked the example shows how to display the camera image on the LCD and save it in memory.However, the final goal is to save camera images directly to memory without the LCD.I tried several things with DMA2D, but it failed to file writing.static void PicturePrepare(void){ static DMA2D_HandleTypeDef hdma2d_eval; uint32_t address1 = CONVERTED_FRAME_BUFFER; uint32_t address2 = CAMERA_FRAME_BUFFER; uint32_t index = 0; /* Configure the DMA2D Mode, Color Mode and output offset */ hdma2d_eval.Init.Mode = DMA2D_M2M_PFC; hdma2d_eval.Init.ColorMode = DMA2D_RGB888; hdma2d_eval.Init.OutputOffset = 0; /* Foreground Configuration */ hdma2d_eval.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; hdma2d_eval.LayerCfg[1].InputAlpha = 0xFF; hdma2d_eval.LayerCfg[1].InputColorMode = DMA2D_INPU
I have been developing an application on an STM32H7 (on a NUCLEO-H743ZI board), using STM32CubeMX and SystemWorkbench/SW4STM32 on a MacBook Pro. I've been using an 800x480 Newhaven Display capacitive touch display (I ported their EVE2 library as best as I could).My questions:Because, as I understand it, CubeMX cannot generated C++ code, I have written all my code in C. I think I understand that TouchGFX uses C++ code but also TouchGFX interacts with CubeMX. How does that all work?Is there a version of TouchGFX environment (designer, etc.) that runs happily in OS X?Does it work with the STM32H7 and/or the NUCLEO-H743ZI ?Is there a list of touchscreens that are compatible with TouchGFX?Thanks.
Hi All,We are currently developing on the STM32H750B-DK platform. Our application is coming along and we are to the point we would like to layout a custom PCB based on the dev kit. We will be using a larger display and of course a larger touch overlay. The touch overlay is where we are unsure of how the libraries will handle this. I noticed there are some hardware specific header files. Are there any recommended or already supported devices for interfacing a resistive touch overlay to the MCU?-Thank you.
Hi Everyone,Sorry for being quiet this past few weeks! I've been involved in doing some internal training and have had to focus on that. I'm gonna be spending some time starting tomorrow and going forward checking up on and answering every post that doesn't already have one.I will tell you that i've had a handful of alpha testers on something really exciting i can't wait to tell you about, hopefully really soon! /Martin
Using CubeMX 5.3.0 to autogenerate a sample STemwin example set of code for TrueStudio seemed to work well. It was created choosing the STM32F429 Disco board and adding the STemwin graphics options...no customization of any settings was done. The project compiled and ran no issues...except....When running under the debugger (or after code has been loaded and the system has been reset separate from debugger), the screen is flickering as if some other set of data is being interlaced. You can see the "hello world" and some other minor text/graphics that were added to it when it is doing this. It looks like this:However, if I run under the debugger and then halt the debugger, the flickering stops and we have the expected image:Since these are default settings and STM hardware, we expected there to be no tailoring of SDRAM settings, LTDC, etc. Loading stock demo code (binary) into the board resulted in normal LCD operation also, so there are no hardware issues.Has anyone else seen this? If
Hi,I would like to implement one of the things mentioned in the TouchGFX article 'The Screen Concept and Model-View-Presenter', https://touchgfx.zendesk.com/hc/en-us/articles/205717801-The-Screen-Concept-and-Model-View-Presenternamely: If for instance all your screens need to display a status bar at the top, showing current time, battery level, et cetera you can create a base view class containing the status bar only and have all your views deriving from this class, so you get the status bar functionality automatically.I understand object oriented programming but I'm confused as to how this would work in practice with touchgfx. For each screen, the designer generates (amongst other things):- a view class templated on a generated presenter class- a base view class- a derived view classso my hierarchy looks like this:View<StatusBarPresenter> ^-- StatusBarViewBase &nbs
Hi, I'm not sure whether this is a bug in the Cube or whether I'm missing out something. I tried opening the F439 in the Cube and it has the 24-bit RGB option. Just to check while I was there I searched for the LTDC_B0 pin and found it on PE4, so I went back to my F429 window and sure enough, when I click on the PE4 pin, it can be configured as LTDC_B0, yet that would only be possible in the 24-bit RGB888 mode. So I'm confused. I'm on 5.3.0. I went through the bug fixes included in the recent 5.4. release but didn't find my problem.I guess it wouldn't be a problem to generate the code for the F439 and copy it over but I'm still not sure whether my micro supports it and I have no way of testing it rn. My display only supports the 18-bit RGB but I want to replace it with slightly different one which in turn only supports the 24-bit... Thank you for your suggestions.
Hello,The datasheet for the STMF746G dev board has a camera connector (P1), which by the datasheet is recommended for use with the camera module STM32F4DIS-CAM (Section 8.15, https://www.st.com/content/ccc/resource/technical/document/user_manual/f0/14/c1/b9/95/6d/40/4d/DM00190424.pdf/files/DM00190424.pdf/jcr:content/translations/en.DM00190424.pdf).However, this camera module seems obsolete and no longer sold by parametric search websites:https://www.digikey.com/products/en?keywords=STM32F4DIS-CAMIs there a replacement camera that is compatible with the STMF746G connector and its DCMI interface?EDIT: Don't need this anymore, but it won't let me delete the post.
I have done porting of low level driver required for touchGFX to stm32l496 discovery board and I want to change the orientation of display. For that I am using setDisplayOrientation API and I can rotate UI (buttons and other widgets) by 90 degree. But the images remains in the same orientation. So does anyone have any idea about how can I solve this problem ? Thank you.
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.