|  | /* Copyright (c) 2017 dXplore | 
|  | * | 
|  | * SPDX-License-Identifier: Apache-2.0 | 
|  | */ | 
|  |  | 
|  | #include "display_ili9340.h" | 
|  |  | 
|  | void ili9340_lcd_init(struct ili9340_data *data) | 
|  | { | 
|  | u8_t tx_data[15]; | 
|  |  | 
|  | tx_data[0] = 0x23; | 
|  | ili9340_transmit(data, ILI9340_CMD_POWER_CTRL_1, tx_data, 1); | 
|  |  | 
|  | tx_data[0] = 0x10; | 
|  | ili9340_transmit(data, ILI9340_CMD_POWER_CTRL_2, tx_data, 1); | 
|  |  | 
|  | tx_data[0] = 0x3e; | 
|  | tx_data[1] = 0x28; | 
|  | ili9340_transmit(data, ILI9340_CMD_VCOM_CTRL_1, tx_data, 2); | 
|  |  | 
|  | tx_data[0] = 0x86; | 
|  | ili9340_transmit(data, ILI9340_CMD_VCOM_CTRL_2, tx_data, 1); | 
|  |  | 
|  | tx_data[0] = | 
|  | ILI9340_DATA_MEM_ACCESS_CTRL_MV | ILI9340_DATA_MEM_ACCESS_CTRL_BGR; | 
|  | ili9340_transmit(data, ILI9340_CMD_MEM_ACCESS_CTRL, tx_data, 1); | 
|  |  | 
|  | tx_data[0] = ILI9340_DATA_PIXEL_FORMAT_MCU_18_BIT | | 
|  | ILI9340_DATA_PIXEL_FORMAT_RGB_18_BIT; | 
|  | ili9340_transmit(data, ILI9340_CMD_PIXEL_FORMAT_SET, tx_data, 1); | 
|  |  | 
|  | tx_data[0] = 0x00; | 
|  | tx_data[1] = 0x18; | 
|  | ili9340_transmit(data, ILI9340_CMD_FRAME_CTRL_NORMAL_MODE, tx_data, 2); | 
|  |  | 
|  | tx_data[0] = 0x08; | 
|  | tx_data[1] = 0x82; | 
|  | tx_data[2] = 0x27; | 
|  | ili9340_transmit(data, ILI9340_CMD_DISPLAY_FUNCTION_CTRL, tx_data, 3); | 
|  |  | 
|  | tx_data[0] = 0x01; | 
|  | ili9340_transmit(data, ILI9340_CMD_GAMMA_SET, tx_data, 1); | 
|  |  | 
|  | tx_data[0] = 0x0F; | 
|  | tx_data[1] = 0x31; | 
|  | tx_data[2] = 0x2B; | 
|  | tx_data[3] = 0x0C; | 
|  | tx_data[4] = 0x0E; | 
|  | tx_data[5] = 0x08; | 
|  | tx_data[6] = 0x4E; | 
|  | tx_data[7] = 0xF1; | 
|  | tx_data[8] = 0x37; | 
|  | tx_data[9] = 0x07; | 
|  | tx_data[10] = 0x10; | 
|  | tx_data[11] = 0x03; | 
|  | tx_data[12] = 0x0E; | 
|  | tx_data[13] = 0x09; | 
|  | tx_data[14] = 0x00; | 
|  | ili9340_transmit(data, ILI9340_CMD_POSITVE_GAMMA_CORRECTION, tx_data, | 
|  | 15); | 
|  |  | 
|  | tx_data[0] = 0x00; | 
|  | tx_data[1] = 0x0E; | 
|  | tx_data[2] = 0x14; | 
|  | tx_data[3] = 0x03; | 
|  | tx_data[4] = 0x11; | 
|  | tx_data[5] = 0x07; | 
|  | tx_data[6] = 0x31; | 
|  | tx_data[7] = 0xC1; | 
|  | tx_data[8] = 0x48; | 
|  | tx_data[9] = 0x08; | 
|  | tx_data[10] = 0x0F; | 
|  | tx_data[11] = 0x0C; | 
|  | tx_data[12] = 0x31; | 
|  | tx_data[13] = 0x36; | 
|  | tx_data[14] = 0x0F; | 
|  | ili9340_transmit(data, ILI9340_CMD_NEGATIVE_GAMMA_CORRECTION, tx_data, | 
|  | 15); | 
|  | } |