Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi, ST community...My name is Nday Mungala (Msc Mechatronics) and I've been building for almost 3 months a monitoring terminal system for multiple belt conveyor. since it destine to harsh environment, most of the entries are from the keypad panel. my question is how to get event triggers for multiple buttons and how to display keys alpha numeric keys from the keypad to the screen (LTDC 7")?I would be glad to hear from you.
I want to display a long "wchar_t" type text in a textArea.Here is my code.void seasoningDisplay::setSeasoningText(const wchar_t* input) { touchgfx::Unicode::UnicodeChar tmpfmt[200]; touchgfx::Unicode::strncpy(tmpfmt, (const char*)input, 200); Unicode::snprintf(seasoningTextBuffer, SEASONINGTEXT_SIZE, "%s", tmpfmt); seasoningText.resizeToCurrentText(); seasoningText.invalidate(); }I know it is not correct, please tell me how to realize it.
Hi all. I am currently building a project with an STM3220G board which has an STM32F207IGh as its processor. It has an on board 3.2" touchscreen. Now, can anyone tell me if they have had any success using the TouchGFX library with F2 devices.. Does the library only work with a few types of STM32? I'm not sure.. If anyone can help. then please reply..hanks,Steve.S
..
I implemented the sampleTouch function and so far it's possible to click a gui button. I tried touchgfx examples where you can press a button and it stays in pressed state. In my project every sampleTouch call gives a single touch event. Also drag is not working.Would it be possible to create custom touch events?
Hello community,I am trying to efficiently display graphics on my STM32L562E-DK board with low-level code (only drivers and util-methods) without using any big external software like TouchGFX, Embedded Wizard, etc. In short: I am not achieving the same frame rate / update effect with my code as i.e. Embedded Wizard does. They have a high frame rate and no visible screen update effect.(I am just beginning with using displays on microcontrollers.)Additional Board information: The display is connected via a 29-pin FCP connector to FMC of the microcontroller.After inspecting the official Github-Democode for the STM32L562E-DK, I grabbed myself the classes: "stm32l562e_discovery_lcd.h" "lcd.h" "st7789h2.h" "st7789h2_reg.h" "stm32l552e_eval_lcd.h" "../Components/hx8347i/hx8347i.h" // also included its associated .c filesThose files work perfectly fine, I can for example use this function to display stuff on the display:static void Display_DemoDescription(void) { char desc[60]; /* S
The application has 3 screens(say A, B , and C). Here is a summary of a behavior that is showing up in the simulator:Transition from A --> B, B-->A work fineTransition from A --> C, C-->A work fineTransition from B-->C works fineHOWEVER, C-->B gives segmentation fault(i.e. kills the application)Also, C-->A-->B faults as wellIs there any reported observation of a similar issue before?Is there a debugging tool in the simulator?
the project from designer is running correctlythen,i open the .ioc with cubeMX, select the option <generate peripheral intialization as a pair of .c/.h files per periphreal >,and re-generated the code , in running, the screen display nothing and checked the value of reg <ltdc->L1CFBAR> ,that is never changed at all
HiI'm using a big font size (let's say 400), and glyphs are not refreshed correctly when partially invalidated. It's like the wrong part of the glyph data is copied to the framebuffer.I've attached a minimal project that shows the bug. All is done through the Designer, there's no custom code.Using TouchGFX 4.13 (could not test 4.14), but the changelog doesn't seem to mention such a fix.Thanks.PS: sorry if this is not the right place to report bugs, let me know if it should be done somewhere else!
Hello,I'm using TouchGFX Tool and for Screen creation I put all PNG image to asset of TouchGFX Designer.From TouchGFX all Images are store into the External Flash Section by create separate partition from STM32xxx.ld.Now all stored images I want to convert it from ScreenView.cpp using JPEG library functions.I refer TouchGFX online support for #Loading JPEG files https://support.touchgfx.com/docs/development/ui-development/scenarios/loading-images-at-runtime/but github permission not there.So,kindly give me suggestion how can I generate JPEG from PNG in ScreenView.cpp.Please suggest me any library or Example. Thank you.Regards,Pratik
I want to display a list of Custom Container in a scrollableContainer .So I write the code like blow.//declare in public std::vector <menuDisplayContent> menuDisplayContanier; /*--------------------------------------------------------------------*/ //in constructor menuDisplayContanier.resize(5); for (int i = 0; i < menuDisplayContanier.size(); i++) { menuDisplayContanier[i].setY( i * 170); scrollableContainer1.add(menuDisplayContanier[i]); }It worked in PC simulator.But crashed when enter this screen in real board.Firstly,I doubt the leak of heap is the reason. So I expand the heap size from 0x2000 to 0xF000. It crashed again. The heap size like below.//in startup_stm32f429xx.s file Stack_Size EQU 0x4000 AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE Stack_Size __initial_sp ; <h> Heap Configuration ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> ; </h> Heap_Size EQU 0xF000 // I change the
I have asked this question before and got no answer from STM so its better to clear it for us so we know
For my master thesis I am trying to receive data over DCMI with the STM32H742. As an image sensor I am using the NOIV2SN1300A. It sends data over 10 data lines, this data differs (so not always `0xA603A603`). To reduce data size I have activated binning and subsampling.I am using DMA to transfer the data received by DCMI into the internal SRAM at address `0x24000000`. After I receive the whole data, so the whole datalength which i set (of `0xA603A603` data), the uC goes into hard fault and infinite loop. I am not sure why this error occurs. Here is my config for DMA and DCMI:``` hdcmi.Instance = DCMI; hdcmi.Init.SynchroMode = DCMI_SYNCHRO_HARDWARE; hdcmi.Init.PCKPolarity = DCMI_PCKPOLARITY_RISING; hdcmi.Init.VSPolarity = DCMI_VSPOLARITY_HIGH; hdcmi.Init.HSPolarity = DCMI_HSPOLARITY_HIGH; hdcmi.Init.CaptureRate = DCMI_CR_ALL_FRAME; hdcmi.Init.ExtendedDataMode = DCMI_EXTEND_DATA_10B; hdcmi.Init.JPEGMode = DCMI_JPEG_DISABLE; hdcmi.Init.ByteSele
I will use FreeRTOS and TouchGFX with STM32F767. I have TFT LCD (320x480x2 bytes). RGB565Can I display using only SRAM (512KB) ?
I have STM32H745I- DISCO evaluation board. First, i used Touchgfx (V.4.14.0) and STM32H750B-DK for application template. After a couple of change and run, suddenly "run target" started to give an error and white screen came up on the LCD. It's saying that no Stm32 target found. I tried to connect to the device with using ST-Link Utility(V.4.5.0) tool but it gives "can't connect to the target..." error. I tried target->settings mode ->connect under reset and full chip erase. But it gives the same error and i couldn't make chip erase. Can someone please explain to me what sould I do to connect the device again?(By the way when i use firmware update i can conect the device but no other thing are working)
I'm using STM32f030cc MCU connected to an SD card and TFT Display 320x240 through SPI interface on a specific board. The SPi1 is used. it's the same configuration as the STM32G081 eval board and the partial frame buffer strategy is based on the STM32G0 software ( partialframebuffer_G0 project example)The SPI DMA method is implemented on the sotware.Touchgfx is used to draw on the TFT SPI display. Only 50 line can be drawn on the TFT.if more are drawn, the software crashed and go into hardfault handler.Does the touchgfx software contain a limitation to 50 lines ?Can you explain to me why there is such limitation and how to do for drawing 240 lineson TFT display over touchgfx ?Thanks for you quick answerBest regardsPhilippe IRRIEN
I want to play a video on 7" (800x480) TFT via ft810. I couldn't decide the mcu for this. STM32 Documents recommand stm32f4x9 and stm32f7 series for TFT LCD driving. But I am confused when I saw a video on youtube that guy plays a video on stm32 via ft810. Is it healthy? What do you prefer? Is it necessary to have LCD peripheral on the mcu for this project.Thank you for your time.
Hi,Is this the right place for bug reports? I stumbled upon some problems with the ScrollWheel widget.ScrollWheelWithSelectionStyle::setSelecteItemOffset is misspelled and is not overriding the intended setSelectedItemOffset. Unless I have done something terribly wrong, any function that causes an internal call to ScrollWheelWithSelectionStyle::refreshDrawableListsLayout() (e.g. setSelecteItemOffset, setHeight, etc.) will fail an assert. Looks like some of the DrawableListItems are added to both list and list2 - Container::add(Drawable&) will fail assert(d.parent == 0 && "Cannot add Drawable multiple times");.
I am trying to use a 320x480 TFT LCD with the STM32F767IIT, FreeRTOS, TouchGFX.I think that the 450 Kbytes (320xRGBx480) capacity is required, but the RAM capacity of STM32F767IIT seems to be insufficient. .Any advice on whether to add SDRAM on the STM32F767 or using the STM32H747 (RAM 1 Mbytes) would be better.
The version of touchGFX Designer is 4.13.0.I use the function "setItemSelectedCallback" of ScrollList .ScrollList have 5 items. And display mode is no circular.In callback fucntion "scrollList1ItemSelectedHandler". When I click the item one by one, and it return the itemSelected is "1, 2, 3, 4, 4". It is unusual. By the way, if display mode is circular, it will return "1, 2, 3, 4, 0". It is fine.How can i fix it?
Hello, I'm trying to display a random String in TextArea.But when I call this function, there is too much ???? was displayed.Below is my code, anyone can tell me what's wrong?Many thanks, Hieu const char * test = "Hello World"; Unicode::snprintf(RoomHeaderNameBuffer, ROOMHEADERNAME_SIZE, "%s", test); RoomHeaderName.invalidate();And my TextArea Wildcard configuration RoomHeaderName.setXY(202, 13); RoomHeaderName.setColor(touchgfx::Color::getColorFrom24BitRGB(33, 49, 89)); RoomHeaderName.setLinespacing(0); Unicode::snprintf(RoomHeaderNameBuffer, ROOMHEADERNAME_SIZE, "%s", touchgfx::TypedText(T_SINGLEUSEID130).getText()); RoomHeaderName.setWildcard(RoomHeaderNameBuffer); RoomHeaderName.resizeToCurrentText(); RoomHeaderName.setTypedText(touchgfx::TypedText(T_SINGLEUSEID129));
I'm using TouchGFX's dynamicBitmaps to load an image that I have in a buffer.The problem is that, even just using the example I found at this link https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/dynamic-bitmaps:BitmapId bmpId; //Create dynamic bitmap const int width = 32; const int height = 24; bmpId = Bitmap::dynamicBitmapCreate(32, 24, Bitmap::RGB565); //set all pixels white if (bmpId != BITMAP_INVALID) { memset(Bitmap::dynamicBitmapGetAddress(bmpId), 0xFF, width*height*2); } //Make Image widget show the dynamic bitmap image.setBitmap(Bitmap(bmpId)); //Position image and add to View image.setXY(20, 20); container1.add(image); and I set up the cache in the constructor of view as follows:. . . uint32_t bitmapCache[32 * 24 * 3]; . . . Bitmap::setCache((uint16_t*)bitmapCache, sizeof(bitmapCache), 1); . . .As soon as the container where I add the dynamicBitmap appears (in this cas
I add a function like "application().gotoScreen_startScreenSlideTransitionWest();"It works well in PC simulation,but it works in real board like the "application().gotoScreen_startScreenNoTransition".Maybe it need some setup to make it works in development board.So what should i do.
Hey guys.I need to have a HMI in my project.I decided to use touchgfx .My question is that can i start a project with touch gfx template discovery board and i change resolution and other lcd properties in it?
Hello,I have a screen that include scrollWheel and items from a custom container. I can change Number of items from touchgfx GUI. And i can see the code behind in screenViewBase.hpp. (In this example i have 6 cumtom container items for scrollWheel)touchgfx::DrawableListItems<menuItem, 6> scrollWheel_timeSettingsMenuListItems; But i need to change number of items programmatically in run time. is it possible and what is the way of it?Thanks and Best Regards,Murat
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.