/**
------------------------------------
     GRAPHIC LIBRARY FUNCTIONS
------------------------------------
*/
TM_GRAPHIC_Result TM_GRAPHICLCDDriver_Init(TM_GRAPHIC_Options_t* LCD_Options) {
	//Initialize pins used
	TM_GRAPHIC_ILI9341_InitPins();
	//SPI chip select high
	ILI9341_CS_SET;
	//Init SPI
	TM_SPI_Init(ILI9341_SPI, ILI9341_SPI_PINS);
	//SDram Init
	TM_SDRAM_Init();
	//Initialize LCD for LTDC
	TM_GRAPHIC_ILI9341_InitLCD();
	//Initialize LTDC
	TM_LCD9341_InitLTDC();
	//Initialize LTDC layers
	TM_GRAPHIC_ILI9341_InitLayers();
	
	//Set options for GRAPHIC library
	LCD_Options->DefaultWidth = ILI9341_WIDTH;
	LCD_Options->DefaultHeight = ILI9341_HEIGHT;
	LCD_Options->PixelsCount = ILI9341_PIXEL;
	
	//Current layer is layer 1
	ILI9341_LTDC_Opts.CurrentLayer = 0;
	//Start on the beginning of SDRAM
	ILI9341_LTDC_Opts.CurrentLayerOffset = 0;
	//Set layer opacity to maximum, 255
	ILI9341_LTDC_Opts.Layer1Opacity = 255;
	//Hide layer 2, set opacity to 0
	ILI9341_LTDC_Opts.Layer2Opacity = 0;
	
	//Set layer 1
	TM_GRAPHIC_ILI9341_SetLayer1();
	//Fill layer 1 with white color
	TM_GRAPHICLCDDriver_Fill(LCD_Options, GRAPHIC_COLOR_WHITE);
	//Set layer 2
	TM_GRAPHIC_ILI9341_SetLayer2();
	//Fill layer 2 with white color
	TM_GRAPHICLCDDriver_Fill(LCD_Options, GRAPHIC_COLOR_WHITE);
	//Set back to layer 1
	TM_GRAPHIC_ILI9341_SetLayer1();
	
	/* Return OK */
	return TM_GRAPHIC_OK;
}
Пример #2
0
void TM_ILI9341_Init() {
	//Initialize pins used
	TM_ILI9341_InitPins();
	//SPI chip select high
	ILI9341_CS_SET;
	//Init SPI
	TM_SPI_Init(ILI9341_SPI, ILI9341_SPI_PINS);
	//Init SDRAM
	TM_DISCO_LedInit();
	if (!TM_SDRAM_Init()) {
		TM_DISCO_LedOn(LED_RED);
	}
	//Initialize LCD for LTDC
	TM_ILI9341_InitLCD();
	//Initialize LTDC
	TM_LCD9341_InitLTDC();
	//Initialize LTDC layers
	TM_ILI9341_InitLayers();
	//Set cursor X and Y
	ILI9341_x = ILI9341_y = 0;
	
	ILI9341_Opts.Width = ILI9341_WIDTH;
	ILI9341_Opts.Height = ILI9341_HEIGHT;
	ILI9341_Opts.Orientation = TM_ILI9341_Portrait;
	ILI9341_Opts.Orient = TM_ILI9341_Orientation_Portrait_1;
	ILI9341_Opts.CurrentLayer = 0;
	ILI9341_Opts.CurrentLayerOffset = 0;
	ILI9341_Opts.Layer1Opacity = 255;
	ILI9341_Opts.Layer2Opacity = 0;
	
	TM_ILI9341_SetLayer1();
	TM_ILI9341_Fill(ILI9341_COLOR_WHITE);
	TM_ILI9341_SetLayer2();
	TM_ILI9341_Fill(ILI9341_COLOR_WHITE);
	TM_ILI9341_SetLayer1();
}