void TM_LCD_Init(void) { /* Initialize pins used */ TM_LCD_InitPins(); /* Init SDRAM */ TM_SDRAM_Init(); /* Initialize LTDC */ TM_LCD_InitLTDC(); /* Initialize LTDC layers */ TM_LCD_InitLayers(); /* Enable LCD */ TM_LCD_DisplayOn(); }
TM_LCD_Result_t TM_LCD_Init(void) { TM_DMA2DGRAPHIC_INT_Conf_t DMA2DConf; /* Init SDRAM */ if (!TM_SDRAM_Init()) { /* Return error */ return TM_LCD_Result_SDRAM_Error; } /* Fill default structure */ LCD.Width = LCD_PIXEL_WIDTH; LCD.Height = LCD_PIXEL_HEIGHT; LCD.CurrentFrameBuffer = LCD_FRAME_BUFFER; LCD.FrameStart = LCD_FRAME_BUFFER; LCD.FrameOffset = LCD_BUFFER_OFFSET; LCD.CurrentFont = &TM_Font_11x18; LCD.ForegroundColor = 0x0000; LCD.BackgroundColor = 0xFFFF; /* Set configrations for DMA2D */ DMA2DConf.BufferStart = LCD_FRAME_BUFFER; DMA2DConf.BufferOffset = LCD_BUFFER_OFFSET; DMA2DConf.BytesPerPixel = 2; DMA2DConf.Height = LCD_PIXEL_HEIGHT; DMA2DConf.Width = LCD_PIXEL_WIDTH; DMA2DConf.Orientation = 1; /* Init LCD pins */ TM_LCD_INT_InitPins(); /* Init LTDC peripheral */ TM_LCD_INT_InitLTDC(); /* Init LTDC layers */ TM_LCD_INT_InitLayers(); /* Init LCD dependant settings */ TM_LCD_INT_InitLCD(); /* Init DMA2D graphics */ TM_DMA2DGRAPHIC_Init(); /* Set settings */ TM_INT_DMA2DGRAPHIC_SetConf(&DMA2DConf); /* Enable LCD */ TM_LCD_DisplayOn(); TM_LCD_SetLayer1(); /* Return OK */ return TM_LCD_Result_Ok; }