Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hello,We have a final design for our UI, with all of the elements and widgets decided.We would like to be able to make the color of the Application light-themed and dark-themed (similar to how in a source code editor, you can have a light-theme and dark-theme).We would like to be able to change the theme during run-time, so that the customer can select which color option is best for them.Is there a built-in way of doing this? The only ideas we have is either:1) Deciding in the constructor of each Screen View, which color the Texts, Widgets, etc shall be, as well as which background images to load.2) Creating a light-themed screen and a dark-themed screen for everything (which makes maintenance awfully tedious and difficult.
Generate Code Generate Done Generate Assets make -f simulator/gcc/Makefile assets -j8 The system cannot find the path specified. Converting images Reading ./application.config Failed Failed-----------AND FROM COMMAND LINE after make -f simulator/gcc/MakefileIgenerated/texts/include -I../Middlewares/ST/touchgfx/framework/include -c gui/src/easingequation_screen/EasingEquationGraph.cpp -o build/MINGW32_NT-6.2/gui/src/easingequation_screen/EasingEquationGraph.o, ...) failed.make (e=2): The system cannot find the file specified.generated/simulator/gcc/Makefile:190: recipe for target 'build/MINGW32_NT-6.2/gui/src/easingequation_screen/EasingEquationGraph.o' failed
I am using stm32f429 disco board. I want to create a GUI with touchgfx and display it on the external 10.1" tft LCD displayCan anyone tell me how can I connect my stm32f4 board with tft display using RGB or LVDS interface and how to initialize its pins ?
HelloThe question is on the title. I would like to have an example project for IOTs with all the possibilities theoretically offered by STM32F769I-Discovery. If possible, for the latest versions of STMCubeIDE and TouchGFX.Until now I searched with no success. Do ST can offer this code, or do I have to buy such a solution? Where?Thanks,Dan
Hi,I have a problem when using a dynamic bitmap (no problems in simulator, only on MCU).No problems arise when calling the Bitmap::dynamicBitmapCreate() function, it returns a valid bitmap_id, but then when I set an Image with this bitmap_id, things go wrong.We keep getting into the DMA2D_IRQHandler() untill the watchdog resets the MCU.When inspecting the registers, I saw that in DMA2D->ISR the CEIF (configuration error) is set.void DMA2D_IRQHandler(void) { if (DMA2D->ISR & 2) { DMA2D->IFCR = 2; //invalidate D-Cache after DMA transfer SCB_CleanInvalidateDCache(); touchgfx::HAL::getInstance()->signalDMAInterrupt(); }Does anyone have an idea what can be the problem?Thanks in advance!Kind regards,Jens JonckheerePlatform info:STM32F7678 MB external SDRAM
..
Hi allCurrently, I’m working with IDE TouchFGXDesigner in a STM32F469I DISCO module, this kind of system feature a Model View Presenter pattern and a RTOS, so, I’m trying to get some data from hardware (for instance a value in an ADC pin) in order to be processed into MVP model, to do that I’m using a task through RTOS that periodically read the data from hardware pin, my problem is how to carry out this data to the Model in this system. On one hand I have reach read the data in a task periodically in a thread running into the FreeRTOS and on the other hand the model has the data class prepared to be refresh from the task, but I don’t find the way to communicate both world. Waiting for your help.Best RegardsFrancisco García
I can't figure this out, I know how to set the different blink modes:LCD_BLINKMODE_SEG0_COM0, (Blink enabled on SEG[0], COM[0] (1 pixel))LCD_BLINKMODE_SEG0_ALLCOM (Blink enabled on SEG[0], all COM (up to 8 pixels))LCD_BLINKMODE_ALLSEG_ALLCOM (Blink enabled on all SEG and all COM (all pixels))...and this works, but it should be possible to select which segments should blink with ALLSEG ALLCOM selected, right? How can I do that, or is it not possible?A second question (possible related to the question above), what is the purpose of RAMRegisterMask (specifies the LCD RAM Register Data Mask)?I get the same result on the LCD whether I set the mask to all 1s or all 0s in HAL_LCD_Write calls, there must be some thing I'm missing?Thanks
I'm using TouchGFX version 4.9.3I'm able to add a modal window normally and enter the position of the background image so that it is centered. However, If I close and reopen my project to build it without selecting the modal window, then the whole modal window shows up uncentered when I run my application.I have looked at the generated Base class for the screen. For some reason the code for setting the modal window's position is not "setXY(0,0)" but it is instead the values I entered to center the background image, for example "setXY(125,117)".If, however, I open my project to build it after I select the modal window, then the modal window shows up centered and the generated code sets the position to 0,0.Selecting each window in my project every time I need to make a small change in an unrelated part can waste a lot of time. My question. Has anyone else experienced this issue? Is there any way to fix this?Thank you
Hello,I'm currently developping an application on a STM32H7 with touchGFX.In touchGFX designer i've a text area and I want to change the text of this area when an action is done. Here is a part of my code related to the update of the text:Unicode::snprintf(textArea_resident_nameBuffer, 16, "%s", "ALBERT DUPONTEL"); textArea_resident_name.invalidate(); textArea_resident_name.setVisible(true);and the result (touch is the initial value and ???? is the value of the wildcard) :Is this the right way to changer text (by using wildcard because the function setText needs a TypedText and i didn't find a way to convert a String to a TypedText)Do you know where the problem can probably come from ?Regards,Ajt
Hi,I have an application that needs to print to a thermal panel printer.This would include e.g. CJK characters not included in the printer firmware so I need to use a printer graphics mode. Is there any way to use TouchGFX to help? Since it already has good support for all of this. For example can text with 2bpp fonts be rendered to a dedicated in-memory buffer rather than to the screen.ThanksJohn
Hi everyone,I'm trying to compile the touchGFX project (Simulator only) using the GCC Cross toolchain from the CUBEIDE but after importing the project to my workspace the build button is not enable.I wonder if an additional configuration or compiling tool is needed.
I can not find TouchGFX email address from which I can get support.
I just install TouchGFX 4.14 version and find I can not pass compile process in KEIL enviroment. the reason is file name in TouchGFX_proj\746_customercontrol\TouchGFX\generated\images folder is different with KEIL project. So I have to change the file name to inline with the project and then I can pass the compile process. pls help solve this issue. Terrry
In version 1.15 of the TouchGFX online user guide, a template for the STM32G071 + X-Nucleo-GFX01M1 development board is referenced (in the section: Development / Scenarios / TouchGFX on low Cost Hardware) but in the software TouchGFX Designer this template does not appear.I am trying to develop an application with a STM32G474 and a display with SPI driver on TouchGFX; but I can't get it started, so an example similar to this would help me a lot to start the project correctly.Could someone provide me with this template and tell me how to install it in TouchGFX Designer? A similar example project would also be helpful.
Dear all,I'm developing an application with a STM32750N8 and I'm using TouchGFX for the GUI. I am using a 4.3 "RGB (parallel) display with 480x272 resolution but I will also need to use a 7" 1280x720 (parallel RGB) display.Since I have to play videos, I took the example and the MJPEGReader.cpp file (and other required files) from the STM32F769I_EVAL\Demonstrations\TouchGFX project in the ST repository examples, and readjusted it to make it work in my project.I managed to play a video (I used the ones from the same project where there is a plane taking off) but the colors are not right.I tried to debug but in my opinion the colors come wrong directly from ST's LibJPEG library.Below is the video image with incorrect colors:I noticed that the MJPEGReader.cpp file uses the HW decoder that the STM32F750N8 shouldn't have (I'm using the software decoder embedded in the same file).What could be the problem? Is ST's LibJPEG library configured wrong? Where can I find a guide for configuring
Touchgfx Version: 4.15 not currently visible on the st company's site
Hello,Does anyone managed to connect GT911 Touch Controller on STM32F746 Discovery or similar board; The demo project for STM32F746 [with TouchGFX] is using the FT5536.
I did setup DCIM - OV2650 Camera - DMA2D and a LTDC screenas you can see on the video i do have a reandom flickr problem ...anybody know what the issue can be ?http://iotbyskovholm.dk/?q=content/stm32h7-dcim-ov2640-and-dma2d-ltdc-screen-stm32cubeide
I would like to use a central color palette for my application. But I haven't found a good example of how to implement that. There doesn't seem to be anything in touchGFX designer to implement this.My first attempt was to place some colortype variables in the model. But the amount of coding overhead to pass those colors through the presenter, view, then down into several layers of nested custom containers is significant.So I guess I have 2 questions:Is there a preferred way of creating centralized application colortypes which can be altered at runtime to support themes?Am I missing some technique for passing data in/out of nested custom containers that doesn't require so many layers of getters/setters?
I've been doing lots of work in TouchGFX. But something changed between two commits which caused my project not to run in debug mode anymore. The code builds, the debugger connects, then then immediately branches to _exit() where it stays.I've traced the problem to startup_stm32f746nghx.s where it branches to __libc_init_arrayWhen the code enters _exit(), LR is 0x0801FFF5Searching through *.list gets me to:0801fff4 <__assert_func>: 801fff4: b51f push {r0, r1, r2, r3, r4, lr} 801fff6: 461c mov r4, r3but I'm not sure what to do with that information.Everything I've searched so far suggests its a linker issue, or a memory (stack/heap size) issue. But I haven't been able to solve it. I've increased my stack size to maximum, no change. I'm using MX for configuration, so I'm not manually editing the *.ld file.This problem is over my head. Has anyone seen this before? What else can I try?
Hi,Consider the following two CustomContainers and the Screen class : class CustomContainer : public touchgfx::Container { public: CustomContainer() { add(_a_text_area); } void setup(); //a function to setup the element void writeText(const std::u16string txt) { _a_text_area.setVisible(false); _a_text_area.invalidate(); _txt_buffer = txt; _a_text_area.setWildcard((uint16_t*)&_txt_buffer[0]); _a_text_area.resizeToCurrentText(); _a_text_area.setVisible(true); _a_text_area.invalidate(); } private: touchgfx::TextAreaWithOneWildcard _a_text_area; std::u16string _txt_buffer; }; class CustomContainerBis : public touchgfx::Container { public: CustomContainerBis(); void setup(const uint8_t elements_nb) { //here, I've tried various other solutions to setup the vector _custom_containers = std::vector<CustomContainer>(6, CustomContainer()); //place CustomContainer objects and set them up int y = 0; for (int i = 0; i &l
The task is to print measured data from sensors and actuators on a display. The display of the data should not interfear with the high frequency measurement or the overal processor tasks.STM32F4
Hello, I have some doubt regarding touchgfxSuppose I set for Double buffer and I am using customize widget. I get my framebuffer using below and later I modify buffer as per my customize widget logic. My doubt is that suppose I am modifying first copy of framebuffer in draw method, How my changes will get into next second framebuffer as I gonna call draw only once. uint16_t *framebuffer = touchgfx::HAL::getInstance()->lockFrameBuffer();As when I call widget invalidate method, my widget draw method executes. Thanks
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.