Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Posted on May 31, 2017 at 18:23Hello!I am a beginner using the the NUCLEO-F746ZG to drive a 4.3' Newhaven TFT display that has a capacitive touch panel controller.The parts are shown below:https://www.digikey.com/product-detail/en/stmicroelectronics/NUCLEO-F746ZG/497-16282-ND/5806779https://www.digikey.com/products/en?keywords=NHD-4.3-480272EF-ATXL%23-CTP I was wondering if there is an example test code to see if the connections I made between the display and the nucleo are correct? I made my connections based on pins that can use the LTDC interface as an alternate function.More info: I wish to pull images from an SD card. Certain pictures will be displayed depending on where the the user presses on the screen.Thank you for the help!#tft-lcd #stm32f7 #stm32 #lcd #touch
Posted on July 27, 2017 at 09:49Hi STM32 communityI'm tring to use STemWin in my project. I use IDE eclipse running on windows.I've created a project with STM32cubeMX V1.0 version 4.22 (STM32Cube_FW_F7_V1.7.0 firmware ).After generating the project in C the compilation is OK.When I test the example helloworld it's work. The library is OK. Perhaps something wrong in the initialisation?I've added STemWin library and when I use GUI_Init() during the link I've the following error:arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -L'C:\Users\joachim suss\Tableau_de_bord\Tableau_de_bord\STemWin_Lib' -specs=nosys.specs -specs=nano.specs -T'../STM32F746NGHx_FLASH.ld' -Wl,-Map=output.map -Wl,--gc-sections -o 'Tableau_de_bord.elf' @'objects.list' -l:STemWin532_CM7_GCC.a -lmC:\Users\joachim suss\Tableau_de_bord\Tableau_de_bord\STemWin_Lib/STemWin532_CM7_GCC.a(GUI_Core.o): In function `GUI__Config':GUI_Core.c:(.text.GUI__Config+0xc): undefined reference to `GU
Posted on September 05, 2017 at 13:37Hi everyone.I have stm32f429-DISC0 board and I wanted to use graphic LCD. I found the CMSIS workshop series and step by step I did everything as said on the video. But unfortunately after 3th video nothing worked. I downloaded original project from keil(application note 268) but it doesn't work neither. Video link is below. Does anyone know what is wronog or missing?https://www.youtube.com/watch?v=iltwK0WBY40 #stm32f429-graphic-lcd
Posted on September 04, 2017 at 10:55hi Everybody,what does LTCD do?regards, Rasool#ltdc #f429 #lcd #discovery #tft
Posted on August 29, 2017 at 12:09I have an array of luminance representing a picture in grayscale. Data are captured using DCMI. I need to compress these data using JPEG unit available in F7 series, but I can't find any application note describing JPEG unit, and also I don't know what functions I need to use to acheive this requirement. Can anybody provide me a simple example?#jpeg #stm32
Posted on August 28, 2017 at 18:32Hello!I am using STM32437I-EVAL on IAR 6.40 IDE.I am trying to load an example of a project using STemWin library, but when I import the project on IAR, it pops up a dialog box saying 'Broken options were detected on the project file.A backup copy will be made.' and also 'The project �STemWinDemo� contains the unknown tool �TIFET_ID�. Then, the project comes with no configurations, the paths and the symbols are empty. It does not compile, showing several errors, most of them of unkown source of includes. I tried opening the backup copy it creates and copying the path and symbols from there, but with no success.I think it might be an incompatibility of the IAR 6.40 (this is not the newest version, but it is the one I have to use) with this version of STemWin (V1.2.0), but this is the only one I encontered on ST website, or anywhere on the internet.I tried uploading the example from STemWin library packege and also from Cube repository, it happens
Posted on August 21, 2017 at 09:50I have linked STemWin library. My project uses external SDRAMWhen I display some progressbar or treeview or graph using internal RAM, value of progress is displayed correctlly (ex. 50%). Also treeview and graph is displayed correctly . When I am switching buffer 'aMemory' to extrernal SDRAM ( U32 aMemory[GUI_NUMBYTES / 4] __attribute__((section('.ExtRAMData')));) the value of progress is displayed strange value . Also display is flickering.What is the problem ?if I check aMemory seperately then it is working ok as follows &sharpdefine GUI_NUMBYTES (1024) * 1024U32 aMemory[GUI_NUMBYTES / 4] __attribute__((section('.ExtRAMData')));uwWriteReadStatus=0;for (uwIndex = 0; uwIndex < (GUI_NUMBYTES / 4); uwIndex++){aMemory1[uwIndex] = uwIndex;}/* Read back data from the SDRAM memory */for (uwIndex = 0; uwIndex < (GUI_NUMBYTES / 4); uwIndex++){// if (0x87654321 != *(__IO uint32_t*) (SDRAM_BANK_ADDR + WRITE_READ_ADDR + 4*uwIndex))if (uw
Posted on August 24, 2017 at 21:30I am trying to run an application which captures incoming Y only image data on DCMI interface.Pixel clk is 5MHz, field rate is 50Hz (PAL video), 8 bit luminance only data and discrete sync signals.MCU is STM32F767IG and camera device is a TVO5150AM1 decoder.The problem I am facing here is that DCMI capture rate is not as same as VSYNC signal.In continues mode, When VSYNC frequency is 50Hz, DCMI captured fieldrate is 40Hz. I had placed a toggle pin at VsyncEventCallback and FrameEventCallback to detect their rates. Yellow one represents Frame(field)rate while the blue one represents VSYNC frequency.There are similar issues in snapshot mode which causes a frame to be captured from somewhere other that start of a line.I have to add that it does not overrun, as no errorcallback is triggered.DCMI configuration code in continues mode: oid MX_DCMI_Init(void){ hdcmi.Instance = DCMI; hdcmi.Init.SynchroMode = DCMI_SYNCHRO_HARDWARE; hdcmi.Init.PCKPolarity = DCMI
Posted on August 10, 2017 at 08:47I am working on an application which requires interfacing an analog camera. I have choosed TI TVP5150AM1 to decode analog video to YCrCb 4:2:2 format and the scan format will be interlaced. As it has been mention here http://www.st.com/content/ccc/resource/training/technical/product_training/group0/90/5a/91/24/1a/14/4b/40/STM32F7_Peripheral_DCMI/files/STM32F7_Peripheral_DCMI.pdf/_jcr_content/translations/en.STM32F7_Peripheral_DCMI.pdf DCMI is capable of working with progressive scans, but I need to use it in interlaced scan. As it uses VSYNC signal to detect the end of a frame, seems doesn't care about count of lines (whether 625 or 312), but I need to make sure that it does work with interlaced scan.Does it work?P.S: Ah, I need to mention that I use odd/even frames as two seperate frames, therefore it is not required to combine odd and even frames into each other to reproduce the image.#interlaced #camera #analog #dcmi
Posted on July 19, 2017 at 10:36Hello,I have some trouble with my listview widget. 1. I can change the column width 'manually' - I mean by touch. Is there a possibility to set it fixed width? I noticed that when I change the width by this way the listview sorting doesn't work properly.2. After change of listview cell color, the cell selection stops working - when I touch it it doesn't change the color. Do you have any idea what is the problem?I will appreciate any help!#listview #stemwin
Posted on July 31, 2017 at 19:58It is DMA2D config, generated CubeMX for Keil.hdma2d.Instance = DMA2D; hdma2d.Init.Mode = DMA2D_M2M; hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; hdma2d.Init.OutputOffset = 0; hdma2d.LayerCfg[1].InputOffset = 0; hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; hdma2d.LayerCfg[1].AlphaMode = DMA2D_REPLACE_ALPHA; hdma2d.LayerCfg[1].InputAlpha = 0;// hdma2d.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA;// hdma2d.LayerCfg[1].RedBlueSwap = DMA2D_RB_REGULAR;It is config for STM32F476IGTx. I must comment last lines for compillung.It is line not for my processor (STM32F476IGTx) !!!This feature is only available on devices : STM32F756xx, STM32F767xx, STM32F769xx, STM32F777xx and STM32F779xx.#dma2d #systemworkbench. #cubemx #cubemx #dma2d
Posted on July 29, 2017 at 06:16hi everybody,i have worked tft projects through normal gpio pins, ie a parallel bus + some control lines, since now.i saw the FSMC in the STM32F407 micro controller which can do that for me.i don't know the difference between these tow method.thanks, Rasool#gpio #tft #fsmc #lcd #stm32
Posted on July 06, 2017 at 11:45hi,I am trying to create window menu as per below code that got 4-5 edit text box in it.Issue is how to get acknowledgement of clicked edit text boxvoid vCreateNewTestWindow(void){GUI_RECT rect;int16_t yPos; LCD_Clear(LCD_COLOR_WHITE);GUI_SetTextMode(GUI_TM_TRANS);GUI_DrawBitmap(&bmnew_test, 5, 150); GUI_SetColor (GUI_GRAY);GUI_SetFont (&GUI_FontArial32);GUI_SetTextMode (GUI_TM_TRANS);GUI_DispStringAt ('Text1' , 250, 200 );GUI_DispStringAt ('Text2' , 250, 200+50 );GUI_DispStringAt ('Text3' , 250, 200+100);GUI_DispStringAt ('Text4' , 250, 200+150);GUI_DispStringAt ('Text5' , 250, 200+200); yPos = 200;for (lp=0; lp<5; lp++) { hWin = EDIT_CreateEx (550, yPos, 300, 30, WM_HBKWIN, WM_CF_SHOW , 0, GUI_ID_TEXT0, 25); EDIT_SetFont (hWin, &GUI_FontArial24); EDIT_SetTextColor (hWin, EDIT_CI_ENABLED , GUI_AIMIL_HARD); EDIT_SetText (hWin, _aBitmapItemSetup[lp].pText); yPos = yPos + 50;} WM_SetFocus (hW
Posted on May 02, 2017 at 03:36Hello,I had this previous set up of STM32F4 + ILI9341 8 bit interface + STemWin - but that did not work for me after trying out for sometime (ref : https://community.st.com/0D50X00009XkY1ISAV ) Since actually I want my final project on L4 due to its low power feature, I thought let me use that and make that set up work with STemWin. So now I have Nucleo-L476RG + TFT LCD display with ILI9341. I am actually using GPIOB port as 16bit parallel port to write to display and other port pins for controls (WR, RD, CS, RST, RS). This set up works perfectly fine - I can fill the screen with colors.Now to use STemWin - I moved these base functions to LCDConf.c - I have attached copy with this. Along with other files included into my project and with CRC enabled, after building and running the project, nothing shows up on the screen. Single stepping in debug mode, I found that when calling GUI_Init() it goes through functions LCD_X_Config(),&
Posted on July 22, 2017 at 18:45Hello everyone,I am using the STM32F469i-disco for my touch screen project and I was able to modify the sample example in the STM32Cube_FW_F4_V1 to satisfy my project. ( ..\STM32Cube_FW_F4_V1\Projects\STM32469I-Discovery\Examples\BSP) Now I am trying to use the STM32F469BIT6 (TQFP176 ) instead of the BGA one used in the Discovery board.My problem is I do not find a way to change the DSI_TE pin in the Library from PJ2. I looked everywhere in the code but I do not find it. Thank you for your help#stm32f469i-disco #stm32f469-dsi #tearing-effect
Posted on July 05, 2017 at 23:58Hi,I have a small code for for UART7 Rx DMA circular buffer and Tx DMA normal buffer, this code runs normal with a basic setup generated using CubeMX.Once i am adding the code in in LCD application running CMSIS on a GUI thread, the UART DMA code doesn't run as expected.I have created a new thread for the UART DMA with normal/high priority and 1024bytes for stack, the behavior is better but still unreliable.Does anyone can help me on how to set up CMSIS in order to have the UART DMA work in a reliable way?Thank you#stemwin #uart-dma #cmsis-rtx
Posted on June 14, 2017 at 09:24I had created a image icon menu and want to change bitmap when some one make a click on any icon.Which function should i use for this, below is the code for reference. void vGeneralFunction_StartTest(void){ WM_HWIN hWin; MenuFlag = StartTest; LCD_Clear(LCD_COLOR_WHITE); hProg = PROGBAR_CreateEx(0, 480, 725+4, 19, WM_HBKWIN, WM_CF_SHOW, PROGBAR_CF_HORIZONTAL, 0); PROGBAR_SetMinMax(hProg, Min, Max); PROGBAR_SetBarColor(hProg, 0, GUI_YELLOW); PROGBAR_SetText(hProg, ' '); /* * Create iconview widget */ hWin = ICONVIEW_CreateEx(LCD_X_SIZE-350+10, LCD_Y_SIZE-85, 1000, 400, WM_HBKWIN, WM_CF_SHOW | GUI_WRAPMODE_NONE, ICONVIEW_SF_AUTOSCROLLBAR_V, GUI_ID_ICONVIEW0, 80, 80); /* * Add icons to the widget */ for (lp=0; lp<GUI_COUNTOF(_aBitmapItemStartMenu); lp++) { ICONVIEW_AddBitmapItem(hWin, _aBitmapItemStartMenu[lp].pBitmap, _aBitmapItemStartMenu[lp].pText); } ICONVIEW_SetBkColor(hWin, ICONVIEW_CI_SEL, GUI_LIGHTGRAY);
Posted on May 24, 2017 at 13:38Hi,We are testing a parallel RGB LCD through LTDC controller in our custom board.We are able to display different colours in the LCD.So we are concluding the Pin configuration as well as timing configurations are fine.We have enabled the LTDC global interrupt and Line position in LCD configuration part as belowHAL_NVIC_SetPriority(LTDC_IRQn, 0, 0);HAL_NVIC_EnableIRQ(LTDC_IRQn);HAL_LTDC_ProgramLineEvent(&hltdc,0);But we found that LTDC_IRQHandler is not getting called by toggling a LED. The LED toggling is already tested in the main program.Can you please comment that whether above mentioned configuration is sufficient to enable the LTDC global interrupt. Are we missing any configuration for enabling the LTDC global interrupt ?PS:Definition for LTDC_IRQHandler() is done in the stm32f7xx_it.c file as mentioned belowvoid LTDC_IRQHandler(void){ BSP_LED_Toggle(LED5); HAL_LTDC_IRQHandler(&hltdc);&n
Posted on May 23, 2017 at 06:46Hi.I'm using STemWin 5.28.Today i was reading web page in seeger web. I find that the lastest EMWin version is V5.40 .Unbelievable,I find the function in the chapter '2-D Graphic Library' GUI_QR_Creat(), GUI_QR_Delete()....Now ,Which version of STemWin support QR_Code ? HOW can i get the lastest version? I'm using STM32f103vet6.Best regards.#qr_code #stemwin
Posted on May 28, 2017 at 09:21Hello!We've found some strange behaviour in STM32F746 when turn on both CAN1 and CAN2 and LTDC is running. In such case there is a synchronization issue on the display like HSYNC sometimes misses its frame. It looks like a bug or so.Every CAN interface running alone works perfectly but when we enable clock on both of them the display starts to blink on some lines. SDRAM, video buffer, CAN busses everything work well and the only screen scanning breaks.We need two CAN lanes and maybe somebody knows the way to run both of them and a display all together? And second question, is STM32F767 does the same way? There are 3 CAN interfaces and how do they affect the LTDC?Thank you in advance.#stm32f767 #stm32f746 #stm32f7-lcd #stm32f7
Posted on May 16, 2017 at 21:07The LTDC contains a 64x32bit (per layer) FIFO, when does the FIFO request a new burst of data? I.E. does it start seeking AHB and possibly FMC access at 1/2 full? Any information on the workings of this, beyond what the reference manual / app notes say would be helpful.Thanks!#ahb #stm32 #sdram #fmc #ltdc
Posted on June 07, 2015 at 22:14Hi I'm looking for a way to transfer 5MP images from OmniVision OV5640 camera sensor to SD card. OV5640 have 8-bit parallel interface. It also features compression engine so the output could be in JPEG format. Is the transfer possible with any of the STM32 microcontrollers? Shall I look at the models equipped with DCMI interface? Maybe if transfer would happend through DMA bus every STM32 model would be suitable to handle the transfer of JPEG images through GPIO ports? Matt #dma #jpeg #dcmi #cmos
Posted on December 15, 2016 at 10:37Hi,I'm using BSP Library for STM32469i-Discovery.Create a new project using CubeMX, added some code and compile it.the result is here.my CubeMX project configure is here.No change is made to any configure LCD.here is my main code.... /* USER CODE BEGIN 2 */ BSP_LCD_Init(); BSP_LCD_LayerDefaultInit(LTDC_DEFAULT_ACTIVE_LAYER, LCD_FB_START_ADDRESS); BSP_LCD_SelectLayer(LTDC_DEFAULT_ACTIVE_LAYER); BSP_LCD_DisplayOn(); BSP_LCD_Clear(LCD_COLOR_RED); HAL_Delay(1000); BSP_LCD_SetTextColor(LCD_COLOR_YELLOW); BSP_LCD_FillRect(0,0,800,480); BSP_LCD_SetTextColor(LCD_COLOR_LIGHTBLUE); BSP_LCD_DisplayStringAt(0,50, (uint8_t *)''test font'', LEFT_MODE); sprintf(str,''%5lu'',BSP_LCD_GetXSize()); BSP_LCD_DisplayStringAt(0,100, (uint8_t *)str, LEFT_MODE); sprintf(str,''%5lu'',BSP_LCD_GetYSize()); BSP_LCD_DisplayStringAt(0,150, (uint8_t *)str, LEFT_MODE); BSP_LCD_
Posted on April 11, 2017 at 18:29I have device model, which consist of stm32f407 discovery board, digital camera and 3.95 inch display with ili9488 controller inside. The display is connected to my stm32 MCU with 8-bit 8080-like bus and accepts RGB565 format. From other side camera also uses RGB565 format, so idea behind my experiments was to make video stream from like that:camera -> DCMI -> DMA -> FSMC -> ili9488 display;I found some SPL-based code in the Internet, which does almost the same things I need. The problem is I cant configure the DMA correctly: terrible color distortions appear. I think, some problem with endianness occur.Whatever, I managed to perform streaming without use of DMA, directly with CPU, and the colors were OK. Another thing I am not sure about is FSMC configuration: from code I see it is configured for 16-bit bus while my LCD have only 8-bit bus. I attached some snippets of code, maybe someone can give me any advice regarding that theme.&nb
Posted on April 01, 2017 at 21:411) Probably its only my misunderstanding, but here is a problem:Layer1 have same size and viewable area of display (800*400), pixel format L8 (with CLUT, ofc). I'm planning to put GUI there - occasional partial redraw of small areas (text, icons, indicators, so on).Layer2 have size about 500*200 pixels and located inside viewable area, pixel format AL88. I was planning to use it for spectrum display - periodic redraw of full layer. I thought to place grid for spectrum to that area on Layer1 under Layer2, so blending will 'mix' image of spectrum and image of grid to one nicey shiney picture.But I found out that its not working. 'Default color' of Layer2 (LTDC_Layer2->DCCR) completely covers underlaying layer, and it does not respect its own alpha settings. Ofc, i can set layer' constant alpha, but this makes both layers less juicy. I tried color keying: LTDC_Layer2->CKCR = 0; LTDC_Layer2->CR = LTDC_LxCR_CLUTEN | LTDC_LxCR_LEN | LTDC_LxCR_C
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.