Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
QUESTIONS / TouchGFX Community repost - John Leung - March 03 2016SirsHave been successful to use a 8080 16-bit LCD with touchgfx.Hardware: stm32f429-discoLCD: 240x240 MIPI display with SSD2805 as the bridge chip to convert 16-bit 8080 to DSI interface.Framebuffer declared at 0xd0000000 where SDRAM address starts onboard of stm32f429-disco, everything is okay.Now it is required to simplify the system by removing SDRAM. STM32f429 has an internal SRAM of 256kB size. A LCD of 240x240 requires only 115kB ram. The idea is to use internal SRAM of stm32F429 as the framebuffer to simplify the system hardware.From datasheet SRAM location starts from 0x20000000 to 0x2002FFFF. By using the top 115KB SRAM, I have changed framebuffer location in BoardConfiguration.cpp to 0x20013dff. This is equivalent to 0x2002FFFF-0x1C200.LCD is working but there is a strange flickering from time to time. Movie in Dropbox:https://www.dropbox.com/s/3myqb71j8pmhnqu/analogClock_flic
QUESTION - TouchGFX Community repost - Stefan Lindegger - Nov 08 2016We intended to use the STMF429I-DISCOVERY Board as an electronics base for a proto (TouchGFX is already ported to this board). We don’t want to use the (poor) TFT display of the board. We intend to use another TFT Display with the same controller (ILI 9341).There’s one problem / challenge with the TFT we want to use. It cannot be connected via RGB Interface. The TFT module can only be configured to communicate in 8080 I/F II Mode (CPU 16-bit I/F II or CPU 8-bit I/F II or CPU 18-bit I/F II or CPU 9-bit I/F II).Is there a hardware layer port available which runs an STM32F429 (or similar) using the 8080 interface ?If not: Can I port the hardware layer by myself (with a relatively low effort)?Thanks for any response.ANSWER - TouchGFX Community repost - Soren Pingel Dalsgaard - Nov 08 2016Hi Stefan, We do not have an 8080 implementation I'm afraid. I think you'll be able to get
..
TouchGFX Community Question repost - Johnson Tie - July 23 2018I just received a new STM32F769 discovery board and could program the GUI using TouchGFX Designer.But I could not work out a way to control the LEDs on the board. Here are my steps. I placed a toggle button and added an interaction to run a new virtual function: updateLed.I selected "generate code".I modified mainview.cpp (the screen was called "main"):In mainView::setupScreen(), I called BSP_LED_Init(LED_GREEN);In mainView::updateLed(), I controlled the LED according to the button.if (toggleButton1.getState()) { BSP_LED_On(LED_GREEN); } else { BSP_LED_Off(LED_GREEN); }This step is similar to the post in https://touchgfx.zendesk.com/hc/en-us/community/posts/208798869-Compiling-LED-project-in-VS.After deploying to the board (using gcc), when I pressed the button, the red LED (LD1) was on mo
I have an OpenCV image processing application running with a Raspberry Pi, but it's overpowered for my needs, so I'm exploring options for getting my project running on something slower and cheaper. The STM32F7 seems to hit the mark as far as processing power is concerned, but I'm not sure how to go about porting the software over -- I don't need the full OpenCV library, just the Mat and Point2f classes and the cvtColor, copyTo, getRotationMatrix2D, warpAffine, threshold, medianBlur, and Laplacian functions.I've done a bit of searching but have found no straight answers as to whether this is possible, and if it is, how to go about proceeding. Is any of this feasible? Any help would be much appreciated -- thanks!
Posted on May 28, 2018 at 17:56Project generation in CubeMX is great. Atollic now that it is free is great. STEmWin is.... ok. I'd like to generate STemWin based projects with CubeMX while using the Atollic IDE. As some of you might know, when you ENABLE GRAPHICS in the Pinout, TrueStudio as the IDE to generate the project for is not available in the project output.Wondering if anyone at ST has an ETA when TrueStudio / Atollic will be supported?#stemwin #atollic-truestudio #cubemx
Hi.I am using the virtual layer to display the screen on the lcd.I am trying to copy between virtual layers.RGB 16BIT is used and the resolution is 480 * 800.I want to copy the screen at (0,0) to (0,800), but it does not work normally.ex)GUI_CopyRect (0,0,0,800,480,800); GUI_DispStringAt ("layer copy", 85,800); GUI_SetOrg (0,800);Is there another way to do this?If you have other options, please suggest another.Regards,
I am trying to use arduino IDE to program the STM32F1 discovery with waveshare 4inch LCD using the demo code provided https://www.waveshare.com/wiki/4inch_TFT_Touch_Shieldam I using the correct package?https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.jsonHow about the GPIO config?//GPIO config//LCD#define LCD_CS PA2#define LCD_CS_0 digitalWrite(LCD_CS, LOW)#define LCD_CS_1 digitalWrite(LCD_CS, HIGH)#define LCD_BL PA4#define LCD_RST PA3#define LCD_RST_0 digitalWrite(LCD_RST, LOW)#define LCD_RST_1 digitalWrite(LCD_RST, HIGH)#define LCD_DC PA1#define LCD_DC_0 digitalWrite(LCD_DC, LOW)#define LCD_DC_1 digitalWrite(LCD_DC, HIGH)//Touch#define TP_CS PA0#define TP_CS_0 digitalWrite(TP_CS, LOW)#define TP_CS_1 digitalWrite(TP_CS, HIGH)#define TP_IRQ PC3#define GET_TP_IRQ digitalRead(TP_IRQ)#de
It is the starter that started now. We are currently using the STM32L152C-DISCOVERY board.I have used HAL_LCD_WRITE as shown below, but nothing is displayed on the LCD.HAL_LCD_WRITE (& hlcd, LCD_RAM_REGISTER0, 0x0000, 0xffff);orHAL_LCD_WRITE (& hlcd, LCD_RAM_REGISTER0, ~ (0x0000), 0xffff);HAL_LCD_UpdateDisplayRequest (& hlcd);How do I use this command?And what does RAMRegisterMask mean?
I integrated STemWin using CubeMX into an STM32f767BIT6 project and it only works with default settings for CRC. If I change the settings, execution halts inside the GUI_Init() function. I need to get StemWin to work with the following settings for CRC:Length : 16-Bit,Generating Polynomial: X12+X5+X0,Init Value: 0xffff,Input Data Inversion: Byte,Output Data Inversion: EnableInput Data Format : Bytes.I replaced _DMA_ExecOperation()with while (DMA2D->CR & DMA2D_CR_START) {}in bot configurations, otherwise execution halts inside "_DMA_ExecOperation()" function.I attach both Cube configurations. Any advice is appreciated.
How do I need to configure cache validation invalidation for USB transfer to PC of continuously DMA filling buffer? Right now I have some visible errors ( I stream DCMI video via USB).
Hello,As soon as I enable STemWin in CubeMX, I cannot select TrueStudio IDE (see attached screenshot). In the forum, I found other posts with the information that this should work.My CubeMX verion is 4.27.0 (downloaded installer yesterday and tried a new installation).I use a STM32F767ZIT. Any idea what could be wrong?Thanks for your support!Chris
Hello community,I have a development board with a STM32F429IGT6 processor. I connected an RGB display (without controller) to the LTDC to the board. On the board is too a 64MBIT Sdram on the FMC port. With STM32CubeMX I have been trying to brighten the display for more than a week. Unfortunately the display stays black. In the meantime, I have everyone Variants tried a layer, two layers, with interrupt, without interrupt, various settings on the layers, Freertos without Freertos ... Examples of Discovery boards from internet have me either helped.If I put an image from an h-file to pLayerCfg.FBStartAdress the image is visible until the GUI_Init (); What am I doing wrong? Wrong display driver?Can someone give me help?μVision V5.16aSTM32CubeMX V1.0 Version 4.26.1System Workbench for STM32 - C / C ++ Debugging Tools for MCUVersion: 2.3.0.201807130628
Hi,I have DMA2D (ChromArt) working fine for drawing images from memory to display buffer.However, to save on image storage, I would like to create single pixel image "strips" which I can repeat a number of times in X or Y.eg, for drawing a top border using a 1px wide by 20px high source image and outputting to the display buffer,say, 200 times across the screen.I can't find any examples of this online.Many thanks,
Hi All,I am using the STM32F103C8?T6 board with I2C PCF8574 with 16x2 1602LCD.When I am initializing the LCD the the backlight automatically goes of.I have tried many times. but result is same.Please advise
HelloI'm building a first app to explore STem. I'm doing it the easy way :eval F746 and CubeMX.It appears that if I enable STem, Atollic is no more supported as IDE.(see screenshot).Is it a regular behaviour?If yes, can you communicate a reason and is there any plan to provide thisfeature in the future (target date) ?ThanksJulien
Hello everyone, I try to use IconWiev widget in STemWin on STM32F429. I want to remove or hide a bitmap item. How can I do ?
Hello, I have succesfully configured several lcd screens with stm32 MCU's, but they always been "timing-friendly" and all the typical parameters were in the datasheet. Now I'm trying to use the 3,5" LCD with HX8238 using RGB 565 connection.Here is the datasheet: https://www.buydisplay.com/download/ic/HX8238.pdfI have found over there typical values of dotCLK 6.5mhz, HBP 68px, HFP 20px, VBP 18lines, VFP 4lines. The Horizontal Sync width and vertical sync height are not mentioned over there and I seem to calculate them incorrectly because the display is displaying image either very distorted, moved or cut. I have tried setting the h/v sync to 1 as well.Could you please help me calculate the values and configure the LTDC? hltdc.Instance = LTDC; hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; hltdc.Init.HorizontalSync = 67; hltdc.Init.VerticalSync = 17; hl
up loading the default set values in STM32f746 disco on STM32CubeMx, with following checks :1. Graphics ticked, STEmwin enabled, Guibuilder enabled2. Corrected the pixel resolutuon 480x2723. Execute Guibuilder from within StCube4. FreeRTOS5. As per STcube manual (UM1718) check CRS, DMA2D, FMC,SDRAM,RCC,LTDC and DSI (all standard activated when loading the 746 Disco default .IOC profile.I am still not getting any display for some reason. I have tried to disable RTOS as well as any other peripherals in the default setup that is'nt required with no luck. I suspect a clock setup or something that has not been ticked.Anyone perhaps have a working .IOC 32f746 Disco setup with working StemWin and Guibuilder for me to compare to?ThanksMd
Hello ST team,Do you have any news related to integration of TouchGFX in the current ST portfolio? As a user of STM32F7 Disco we will have to pay for high end graphics?I am interested in this more from hobby/non commercial point of view
This is mapped to PH2, PI15 or PG13. Those pins don't exist in this footprint. I might be wrong but this peripheral is supported by this IC. Any other LCD_Rx, or LCD_Gx and LCD_Bx are mapped into a pin that exits, but not LCD_R0. Can you show me where should I connect it?
Hello,We have facing troubles with STemWin's simulator.Our embedded project creates the GUI driver like this:void LCD_X_Config(void) { GUI_DEVICE_CreateAndLink(GUIDRV_LIN_16, GUICC_M565, 0, 0); ... } Our simulator project creates it like this: Our simulator project creates it like this: void LCD_X_Config(void) { GUI_DEVICE_CreateAndLink(GUIDRV_WIN32, GUICC_M565, 0, 0); ... }Both project uses the same GUIConf.h: #ifndef GUICONF_H #define GUICONF_H // The following settings are from STewmWin application note // See https://www.st.com/content/ccc/resource/technical/document/application_note/54/c9/95/42/8c/0b/43/69/DM00089670.pdf/files/DM00089670.pdf/jcr:content/translations/en.DM00089670.pdf // FAQ question 2 "What is the STemWin Library configuration(during the binary generation) ?" #define GUI_DEFAULT_FONT &GUI_Font6x8 #define GUI_NUM_LAYERS 2 #define GUI_SUPPORT_TOUCH (1) #define GUI_SUPPORT_MOUSE (1) #define
I have STM32H7 DCMI + TVP5150 I want to get the frame, the only result that I get is 720 pixels and no more. My main culprit is DCMI->ESCR register, could please anyone help me? I calculate SAV EAV codes, but using them I elicit no result that differ from having this register = 0.
I read about SAV EAV codes, but there should be 8 variation (line start, line end with and without VB for each Filed (0|1)).So there are only 4 position, how should I configure this registers for correct work with ITU-R BT.656?
What configuration is necessary for DCMI module?
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.