4014 lines
162 KiB
C
4014 lines
162 KiB
C
/*******************************************************************************
|
||
*
|
||
* File: S20_demo.c
|
||
* Description: 系统测试文件
|
||
* Version: V0.1
|
||
* Date: 2020-02-22
|
||
* Author: Tempest
|
||
*******************************************************************************/
|
||
|
||
#include "ap_demo.h"
|
||
#include "ArmCM0.h"
|
||
#include "tau_device_datatype.h"
|
||
#include "tau_log.h"
|
||
#include "tau_operations.h"
|
||
#include "tau_common.h"
|
||
#include "tau_delay.h"
|
||
#include "hal_dsi_rx_ctrl.h"
|
||
#include "hal_dsi_tx_ctrl.h"
|
||
#include "hal_swire.h"
|
||
#include "hal_timer.h"
|
||
#include "hal_system.h"
|
||
#include "hal_gpio.h"
|
||
#include "app_tp_st_touch.h"
|
||
|
||
|
||
#include "app_tp_transfer.h"
|
||
#ifdef LOG_TAG
|
||
#undef LOG_TAG
|
||
#endif
|
||
#define LOG_TAG "Mi10P_NT37800"
|
||
|
||
/********************基本参数配置*********************/
|
||
//S8 MIPI数据信息
|
||
/* 输入分辨率 */
|
||
#define INPUT_WIDTH 1080
|
||
#define INPUT_HEIGHT 2340
|
||
/* 输入 MIPI lane rate,video mode需要正确配置,cmd mode可随便配置 */
|
||
#define INPUT_MIPI_LANE_RATE 898000000 //898000000
|
||
/* 输入图像格式 */
|
||
#define INPUT_COLOR_MODE DSI_RGB888
|
||
/* 输出数据格式(DSI_DATA_CMD_MODE , DSI_DATA_VIDEO_MODE) */
|
||
#define INPUT_DATA_MODE DSI_DATA_CMD_MODE
|
||
/* 输入mipi lane数量(DSI_RX_LANE_x x为1-4) */
|
||
#define INPUT_MIPI_LANE_NUM DSI_LANE_4
|
||
/* 输入为video mode 时数据格式 */
|
||
#define INPUT_VIDEO_MODEL DSI_BURST_MODE
|
||
/* 输入虚拟通道(0-3) */
|
||
#define INPUT_VC DSI_VC_0
|
||
/* 输入的帧率(60/90/120/144Hz) */
|
||
#define INPUT_FRAME_RATE DSI_FRAME_RATE_60HZ
|
||
/* 输入数据是否DSC压缩 */
|
||
#define INPUT_COMPRESS true
|
||
|
||
#if AMOLED_NT37800_HX667
|
||
//almoled NT37701输出MIPI数据信息
|
||
/* 输出分辨率配置 */
|
||
#define OUTPUT_WIDTH 1080
|
||
#define OUTPUT_HEIGHT 2340
|
||
/* 输出虚拟通道(0-3) */
|
||
#define OUTPUT_VC DSI_VC_0
|
||
/* 输出mipi lane数量(DSI_RX_LANE_x x为1-4) */
|
||
#define OUTPUT_LANE_NUMBER DSI_LANE_4
|
||
/* 输出为video mode 的数据格式 */
|
||
#define OUTPUT_VIDEO_MODEL DSI_BURST_MODE
|
||
|
||
/* 输出 VSA */
|
||
#define OUTPUT_VSA 4 // 4
|
||
/* 输出 VBP */
|
||
#define OUTPUT_VBP 12 // 12
|
||
/* 输出 VBP */
|
||
#define OUTPUT_VFP 16 // 16
|
||
/* 输出 VSA */
|
||
#define OUTPUT_HSA 4 // 4
|
||
/* 输出 HBP */
|
||
#define OUTPUT_HBP 32 // 32
|
||
/* 输出 HFP */
|
||
#define OUTPUT_HFP 62 // 62
|
||
/* lane rate适配系数 */
|
||
#define _CMD_TYPE DSI_CMD_TX_LP //0-HS,1-LP;
|
||
#endif
|
||
|
||
#if 0//AMOLED_NT37701_VNOX667
|
||
//almoled NT37701输出MIPI数据信息
|
||
/* 输出分辨率配置 */
|
||
#define OUTPUT_WIDTH 1080
|
||
#define OUTPUT_HEIGHT 2400
|
||
/* 输出虚拟通道(0-3) */
|
||
#define OUTPUT_VC DSI_VC_0
|
||
/* 输出mipi lane数量(DSI_RX_LANE_x x为1-4) */
|
||
#define OUTPUT_LANE_NUMBER DSI_LANE_4
|
||
/* 输出为video mode 的数据格式 */
|
||
#define OUTPUT_VIDEO_MODEL DSI_BURST_MODE
|
||
/* 输出 VSA */
|
||
#define OUTPUT_VSA 4
|
||
/* 输出 VBP */
|
||
#define OUTPUT_VBP 8
|
||
/* 输出 VBP */
|
||
#define OUTPUT_VFP 72
|
||
/* 输出 VSA */
|
||
#define OUTPUT_HSA 8
|
||
/* 输出 HBP */
|
||
#define OUTPUT_HBP 92
|
||
/* 输出 HFP */
|
||
#define OUTPUT_HFP 100
|
||
/* lane rate适配系数 */
|
||
#define _CMD_TYPE DSI_CMD_TX_LP //0-HS,1-LP;
|
||
#endif
|
||
|
||
#if 0//LCD_FT8719_DU48
|
||
//TFT_FT8719输出MIPI数据信息
|
||
/* 输出分辨率配置 */
|
||
#define OUTPUT_WIDTH 1080
|
||
#define OUTPUT_HEIGHT 2340
|
||
/* 输出虚拟通道(0-3) */
|
||
#define OUTPUT_VC DSI_VC_0
|
||
/* 输出mipi lane数量(DSI_RX_LANE_x x为1-4) */
|
||
#define OUTPUT_LANE_NUMBER DSI_LANE_4
|
||
/* 输出为video mode 的数据格式 */
|
||
#define OUTPUT_VIDEO_MODEL DSI_BURST_MODE
|
||
/* 输出 VSA */
|
||
#define OUTPUT_VSA 8
|
||
/* 输出 VBP */
|
||
#define OUTPUT_VBP 8
|
||
/* 输出 VBP */
|
||
#define OUTPUT_VFP 172
|
||
/* 输出 VSA */
|
||
#define OUTPUT_HSA 8
|
||
/* 输出 HBP */
|
||
#define OUTPUT_HBP 92
|
||
/* 输出 HFP */
|
||
#define OUTPUT_HFP 100
|
||
/* 初始化模式命令传输类型 */
|
||
#define _CMD_TYPE DSI_CMD_TX_LP //0-HS,1-LP;
|
||
#endif
|
||
|
||
#if 0//LCD_HX83112A
|
||
/* 输出分辨率配置 */
|
||
#define OUTPUT_WIDTH 1080
|
||
#define OUTPUT_HEIGHT 2160
|
||
/* 输出虚拟通道(0-3) */
|
||
#define OUTPUT_VC DSI_VC_0
|
||
/* 输出mipi lane数量(DSI_RX_LANE_x x为1-4) */
|
||
#define OUTPUT_LANE_NUMBER DSI_LANE_4
|
||
/* 输出为video mode 的数据格式 */
|
||
#define OUTPUT_VIDEO_MODEL DSI_BURST_MODE
|
||
/* 输出 VSA */
|
||
#define OUTPUT_VSA 4
|
||
/* 输出 VBP */
|
||
#define OUTPUT_VBP 10
|
||
/* 输出 VBP */
|
||
#define OUTPUT_VFP 15
|
||
/* 输出 VSA */
|
||
#define OUTPUT_HSA 12
|
||
/* 输出 HBP */
|
||
#define OUTPUT_HBP 22
|
||
/* 输出 HFP */
|
||
#define OUTPUT_HFP 16
|
||
/* 初始化模式命令传输类型 */
|
||
#define _CMD_TYPE DSI_CMD_TX_LP //0-HS,1-LP;
|
||
#endif
|
||
|
||
#define SWIRE_TIMER TIMER_NUM1
|
||
#define TE_TIMER TIMER_NUM2
|
||
#ifdef USE_FOR_SUMSUNG_S20
|
||
#define ENABLE_TP_WAKE_UP true
|
||
#define SWIRE_MAX_NUM 24
|
||
#else
|
||
#define SWIRE_MAX_NUM 20
|
||
#endif
|
||
#if ENABLE_TP_WAKE_UP
|
||
#define POWER_IO_A IO_PAD_TD_LEDPWM /* 对应IO需要下拉电阻 */
|
||
#define POWER_IO_B IO_PAD_TD_SPIM_MISO /* 对应IO需要上拉电阻 */
|
||
#endif
|
||
//#define DISPLAY_ONLY
|
||
#define CUS_SCLD_FILTER true
|
||
#define NEW_ACK_CMD_FUNC true
|
||
#define RX_filter_20220701 false
|
||
|
||
#define ADD_TP_CALIBRATION true
|
||
#define ADD_RUN_TEST false //测试应用是否死机
|
||
|
||
/******************************************************/
|
||
static hal_dsi_rx_ctrl_handle_t *g_rx_ctrl_handle = NULL;
|
||
static hal_dsi_tx_ctrl_handle_t *g_tx_ctrl_handle = NULL;
|
||
|
||
#ifdef USE_FOR_SUMSUNG_S20
|
||
//S20 SWIRE=50->ELVSS=-1.7V
|
||
#define SWIRE_DEFAULT_NUM 50
|
||
#else
|
||
#define SWIRE_DEFAULT_NUM 38
|
||
#endif
|
||
|
||
static uint8_t swire_num=SWIRE_DEFAULT_NUM;
|
||
static uint8_t swire_num_bak=SWIRE_DEFAULT_NUM;
|
||
|
||
static uint8_t g_swire_num = 28;
|
||
static bool g_mipi_path_off = false;
|
||
|
||
|
||
|
||
/* 默认false,初始化屏标志位,屏端使用TP1.8V,AC 初始化屏需要等TP1.8V有电 */
|
||
static volatile bool start_display_on = true;
|
||
static volatile bool g_exit_sleep_mode = false;
|
||
|
||
#if ENABLE_TP_WAKE_UP
|
||
static bool g_need_enter_sleep_mode = false;
|
||
#endif
|
||
|
||
/* 屏初始化完成标志位 */
|
||
static bool panel_display_done = false;
|
||
//static bool g_panel_init_done = false;
|
||
static volatile bool g_resolution_change = false;
|
||
static volatile bool g_reg51_value_1b8_flag = false;
|
||
|
||
static void swire_init(void);
|
||
static void soft_te_timer_init();
|
||
static void tx_display_on(void);
|
||
static void soft_swire_init(void);
|
||
|
||
//extern uint8_t Flag_blacklight_EN;
|
||
extern uint8_t tp_sleep_in;
|
||
extern uint8_t tp_sleep_count;
|
||
|
||
#ifdef USE_FOR_MI10_PRO
|
||
|
||
|
||
uint8_t phone_DoubleDlick_flag=0;
|
||
uint8_t phone_86_flag=0;
|
||
uint8_t phone_A6_flag=0;
|
||
uint8_t phone_start_flag=0;
|
||
uint16_t phone_DisplayOFF_count=0;
|
||
uint8_t phone_DisplayOFF_flag=0;
|
||
#endif
|
||
|
||
#if ADD_TP_CALIBRATION
|
||
static volatile bool g_calibration_flag = false;
|
||
#endif
|
||
|
||
#if ADD_RUN_TEST
|
||
static volatile uint32_t g_run_test_cnt = 0;
|
||
#endif
|
||
|
||
typedef struct
|
||
{
|
||
uint8_t finger_status; //
|
||
uint8_t finger_time_start;
|
||
uint16_t finger_time_counter; //
|
||
uint16_t light_value_last;
|
||
}config_finger_calibration;
|
||
|
||
config_finger_calibration s_finger_calibration;
|
||
|
||
uint32_t s_heartbeat = 0;
|
||
|
||
void finger_calibration_init(void)
|
||
{
|
||
s_finger_calibration.finger_status = false;
|
||
s_finger_calibration.finger_time_start = false;
|
||
s_finger_calibration.finger_time_counter = false;
|
||
s_finger_calibration.light_value_last = false;
|
||
}
|
||
|
||
void finger_calibration_time_counter_exec(void)
|
||
{
|
||
if(s_finger_calibration.finger_time_start == true) // 开始计时
|
||
{
|
||
s_finger_calibration.finger_time_counter++;
|
||
if(s_finger_calibration.finger_time_counter>=1000) // 1000ms
|
||
{
|
||
s_finger_calibration.finger_time_start = false;
|
||
s_finger_calibration.finger_time_counter = 0;
|
||
s_finger_calibration.finger_status = false; // 超时 取消指纹模式
|
||
// TAU_LOGD("finger");
|
||
}
|
||
delayUs(100);
|
||
}
|
||
}
|
||
|
||
#if ENABLE_TP_WAKE_UP
|
||
static void ap_reset_cb(void *data)
|
||
{
|
||
/* 切换电源 */
|
||
// hal_gpio_set_output_data_ex(POWER_IO_B, IO_LVL_HIGH, POWER_IO_A, IO_LVL_LOW);
|
||
hal_gpio_init_output(IO_PAD_TD_LEDPWM, IO_LVL_LOW);
|
||
/* 打开VCC供电 */
|
||
TAU_LOGD("disable reset!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
|
||
hal_system_set_pvd(true);
|
||
hal_system_set_vcc(true);
|
||
|
||
NVIC_SystemReset();
|
||
}
|
||
#endif
|
||
|
||
|
||
#if CUS_SCLD_FILTER
|
||
static uint32_t rx_filter_1080_h_4_86[32][2] =
|
||
{
|
||
0x0889B622, 0x0000000F,
|
||
0xF0A9BA1B, 0x0000000E,
|
||
0xD8C9BC15, 0x0000000E,
|
||
0xC8EDBC0E, 0x0000000E,
|
||
0xB10DBE08, 0x0000000E,
|
||
0xA131BE01, 0x0000000E,
|
||
0x9155BDFB, 0x0000000E,
|
||
0x817DB9F5, 0x0000000E,
|
||
0x79A1B3F0, 0x0000000E,
|
||
0x69C5B1EA, 0x0000000E,
|
||
0x69EDA5E6, 0x0000000E,
|
||
0x62119FE1, 0x0000000E,
|
||
0x623595DD, 0x0000000E,
|
||
0x6A5989D9, 0x0000000E,
|
||
0x727D7BD6, 0x0000000E,
|
||
0x7A9D6FD3, 0x0000000E,
|
||
0x8ABD5FD1, 0x0000000E,
|
||
0x9ADD4FCF, 0x0000000E,
|
||
0xB2F53FCE, 0x0000000E,
|
||
0xCB112DCD, 0x0000000E,
|
||
0xEB291BCC, 0x0000000E,
|
||
0x0B3D09CC, 0x0000000F,
|
||
0x3348F7CD, 0x0000000F,
|
||
0x5360E3CD, 0x0000000F,
|
||
0x8364D1CF, 0x0000000F,
|
||
0xAB70BFD0, 0x0000000F,
|
||
0xDB78ABD2, 0x0000000F,
|
||
0x0B7C99D4, 0x00000000,
|
||
0x437C87D6, 0x00000000,
|
||
0x737877D9, 0x00000000,
|
||
0xAB7865DB, 0x00000000,
|
||
0xDB7455DE, 0x00000000
|
||
};
|
||
static uint32_t rx_filter_2340_v_4_95[32][2] =
|
||
{
|
||
0x9835E60D, 0x0000000F,
|
||
0x7855EE05, 0x0000000F,
|
||
0x5879F3FE, 0x0000000F,
|
||
0x38A1F5F7, 0x0000000F,
|
||
0x18C9F7F0, 0x0000000F,
|
||
0xF8F5F7E9, 0x0000000E,
|
||
0xD921F5E3, 0x0000000E,
|
||
0xB94DF3DD, 0x0000000E,
|
||
0x997DEDD8, 0x0000000E,
|
||
0x79ADE7D3, 0x0000000E,
|
||
0x61DDDDCF, 0x0000000E,
|
||
0x4A11D1CB, 0x0000000E,
|
||
0x3A41C3C8, 0x0000000E,
|
||
0x2A71B3C6, 0x0000000E,
|
||
0x229DA3C4, 0x0000000E,
|
||
0x1ACD8FC3, 0x0000000E,
|
||
0x1AF57BC3, 0x0000000E,
|
||
0x1B1D67C3, 0x0000000E,
|
||
0x23454FC4, 0x0000000E,
|
||
0x336539C5, 0x0000000E,
|
||
0x438521C7, 0x0000000E,
|
||
0x5BA109C9, 0x0000000E,
|
||
0x7BB8EFCC, 0x0000000E,
|
||
0x9BCCD7CF, 0x0000000E,
|
||
0xC3D8BFD3, 0x0000000E,
|
||
0xEBE4A7D7, 0x0000000E,
|
||
0x1BE891DB, 0x0000000F,
|
||
0x4BEC7BDF, 0x0000000F,
|
||
0x83EC65E3, 0x0000000F,
|
||
0xBBE851E7, 0x0000000F,
|
||
0xF3E43DEB, 0x0000000F,
|
||
0x2BDC2BEF, 0x00000000
|
||
};
|
||
|
||
|
||
#endif
|
||
|
||
|
||
#if PANEL_INIT_CODE_ARRAY
|
||
|
||
static void send_panel_init_code(uint32_t size, uint8_t * data)
|
||
{
|
||
uint32_t data_offeset = 0;
|
||
uint8_t data_type;
|
||
uint8_t vc;
|
||
uint8_t data_size;
|
||
uint8_t * p_data;
|
||
|
||
while(data_offeset < size)
|
||
{
|
||
data_type = data[data_offeset];
|
||
vc = data[data_offeset + 1];
|
||
data_size = data[data_offeset + 2];
|
||
p_data = &data[data_offeset + 3];
|
||
hal_dsi_tx_ctrl_write_array_cmd(data_type, vc, data_size, p_data);
|
||
data_offeset = data_offeset + data_size + 3;
|
||
delayUs(20);
|
||
}
|
||
}
|
||
|
||
const uint8_t panel_init_code[] = {
|
||
|
||
#if 0
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00,
|
||
0x39, 0, 9, 0xBA,0x01,0xB0,0x00,0x10,0x09,0x90,0x00,0x01,
|
||
0x39, 0, 9, 0xBB,0x01,0xB0,0x00,0x10,0x00,0x20,0x00,0x41,
|
||
0x39, 0, 2, 0x6F,0x08,
|
||
0x39, 0, 9, 0xBA,0x01,0xAD,0x00,0x10,0x03,0x50,0x00,0x01,
|
||
0x39, 0, 2, 0x6F,0x10,
|
||
0x39, 0, 8, 0xBA,0x01,0xB0,0x00,0x10,0x00,0x10,0x01,
|
||
0x39, 0, 2, 0x6F,0x17,
|
||
0x39, 0, 8, 0xBA,0x01,0xB0,0x00,0x10,0x00,0x10,0x01,
|
||
0x39, 0, 3, 0xB2,0x11,0x60,
|
||
0x39, 0, 2, 0x6F,0x0F,
|
||
0x39, 0, 9, 0xB2,0xA0,0x90,0x70,0x00,0x00,0x00,0x2F,0xFF,
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0x1C,0x01,0x1C,0x02,0xBD,0x02,0xBD,0x05,0x02,0x05,0x02,
|
||
0x39, 0, 2, 0x6F,0x12,
|
||
0x39, 0, 19, 0xB3,0x05,0x03,0x05,0x03,0x06,0x96,0x06,0x96,0x0A,0xC9,0x0A,0xC9,0x0D,0xBB,0x0D,0xBB,0x0F,0xFF,
|
||
0x39, 0, 19, 0xB4,0x13,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,
|
||
0x39, 0, 2, 0x6F,0x12,
|
||
0x39, 0, 21, 0xB4,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,
|
||
0x39, 0, 2, 0x6F,0x2C,
|
||
0x39, 0, 19, 0xB3,0x0C,0xC0,0x0C,0xC0,0x0C,0x14,0x0C,0x14,0x0C,0x14,0x0C,0x14,0x08,0xCF,0x08,0xCF,0x00,0xF0,
|
||
0x39, 0, 2, 0x6F,0x3E,
|
||
0x39, 0, 21, 0xB3,0x00,0xF0,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,
|
||
0x39, 0, 2, 0x6F,0x30,
|
||
0x39, 0, 19, 0xB4,0x09,0x80,0x09,0x80,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x06,0x90,0x06,0x90,0x00,0xA0,
|
||
0x39, 0, 2, 0x6F,0x42,
|
||
0x39, 0, 21, 0xB4,0x00,0xA0,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,
|
||
0x39, 0, 2, 0x6F,0x56,
|
||
0x39, 0, 19, 0xB4,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,
|
||
0x39, 0, 2, 0x6F,0x68,
|
||
0x39, 0, 21, 0xB4,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x0A,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 9, 0xB3,0x01,0x55,0x07,0xFF,0x07,0xFF,0x0F,0xFF,
|
||
0x39, 0, 2, 0x6F,0x26,
|
||
0x39, 0, 11, 0xB4,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,
|
||
0x39, 0, 3, 0xB9,0x00,0x96,
|
||
0x39, 0, 3, 0xBD,0x04,0xB0,
|
||
0x39, 0, 5, 0xBE,0x10,0x0E,0x13,0x14,
|
||
0x39, 0, 4, 0xC0,0x66,0xB3,0x00,
|
||
0x39, 0, 2, 0x6F,0x06,
|
||
0x39, 0, 2, 0xC0,0x7E,
|
||
0x39, 0, 2, 0x6F,0x08,
|
||
0x39, 0, 7, 0xC0,0x00,0x20,0x48,0x60,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x11,
|
||
0x39, 0, 2, 0xC0,0x30,
|
||
0x39, 0, 2, 0x6F,0x02,
|
||
0x39, 0, 11, 0xC1,0x00,0x5C,0x00,0x5B,0x00,0x5C,0x00,0x5C,0x00,0x5B,
|
||
0x39, 0, 2, 0x6F,0x01,
|
||
0x39, 0, 2, 0xC3,0x7F,
|
||
0x39, 0, 3, 0xC5,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x04,
|
||
0x39, 0, 2, 0xC6,0x11,
|
||
0x39, 0, 2, 0xC9,0x87,
|
||
//0x39, 0, 2, 0xC9,0x84,
|
||
0x39, 0, 5, 0xCA,0x11,0xBB,0x92,0x47,
|
||
0x39, 0, 2, 0xCB,0x44,
|
||
0x39, 0, 2, 0x6F,0x02,
|
||
0x39, 0, 3, 0xE7,0x22,0x00,
|
||
0x39, 0, 2, 0x6F,0x2A,
|
||
0x39, 0, 2, 0xD9,0x43,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x01,
|
||
0x39, 0, 3, 0xB0,0x04,0x02,
|
||
0x39, 0, 5, 0xB3,0x13,0x14,0x33,0x33,
|
||
0x39, 0, 3, 0xB1,0x03,0x02,
|
||
0x39, 0, 5, 0xB4,0x13,0x14,0x33,0x33,
|
||
0x39, 0, 10, 0xB7,0x23,0x16,0x16,0x23,0x23,0x23,0x23,0x23,0x23,
|
||
0x39, 0, 9, 0xB8,0x42,0x41,0x42,0x42,0x42,0x42,0x42,0x42,
|
||
0x39, 0, 14, 0xB9,0x00,0x1A,0x1A,0x00,0x00,0x1A,0x1A,0x00,0x1A,0x1A,0x00,0x1A,0x1A,
|
||
0x39, 0, 2, 0x6F,0x12,
|
||
0x39, 0, 6, 0xB9,0x17,0x17,0x17,0x1A,0x1A,
|
||
0x39, 0, 5, 0xBA,0x10,0x10,0x10,0x10,
|
||
0x39, 0, 2, 0xBB,0x03,
|
||
0x39, 0, 2, 0x6F,0x05,
|
||
0x39, 0, 20, 0xBB,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x1C,0x1C,0x20,0x20,0x26,
|
||
0x39, 0, 2, 0x6F,0x18,
|
||
0x39, 0, 20, 0xBB,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x1C,0x1C,0x20,0x20,0x26,
|
||
0x39, 0, 2, 0x6F,0x2B,
|
||
0x39, 0, 20, 0xBB,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x1C,0x1C,0x20,0x20,0x26,
|
||
0x39, 0, 2, 0x6F,0x3E,
|
||
0x39, 0, 20, 0xBB,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x1C,0x1C,0x20,0x20,0x26,
|
||
0x39, 0, 2, 0x6F,0x9D,
|
||
0x39, 0, 2, 0xBB,0x01,
|
||
0x39, 0, 2, 0x6F,0x9E,
|
||
0x39, 0, 20, 0xBB,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0x20,0x20,0x13,
|
||
0x39, 0, 2, 0x6F,0xB1,
|
||
0x39, 0, 20, 0xBB,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0x20,0x20,0x13,
|
||
0x39, 0, 2, 0x6F,0xC4,
|
||
0x39, 0, 20, 0xBB,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0x20,0x20,0x13,
|
||
0x39, 0, 2, 0x6F,0xD7,
|
||
0x39, 0, 20, 0xBB,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0x20,0x20,0x13,
|
||
0x39, 0, 2, 0xC7,0x01,
|
||
0x39, 0, 3, 0xCD,0x07,0x91,
|
||
0x39, 0, 6, 0xCE,0x00,0x00,0x01,0x00,0x03,
|
||
0x39, 0, 2, 0xCF,0x9C,
|
||
0x39, 0, 5, 0xD0,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 8, 0xD2,0x00,0x40,0x11,0x41,0x25,0x00,0x07,
|
||
0x39, 0, 2, 0x6F,0x09,
|
||
0x39, 0, 2, 0xD2,0x00,
|
||
0x39, 0, 11, 0xB5,0x00,0xE0,0x00,0x88,0x00,0x88,0x00,0xE0,0x00,0x88,
|
||
0x39, 0, 11, 0xB6,0x00,0xEA,0x00,0xBF,0x00,0xBF,0x00,0xEA,0x00,0xBF,
|
||
0x39, 0, 7, 0xDE,0x10,0x00,0x10,0x00,0x00,0x00,
|
||
0x39, 0, 23, 0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x16,
|
||
0x39, 0, 23, 0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x06,0x00,0x0C,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02,
|
||
0x39, 0, 2, 0xBC,0x11,
|
||
0x39, 0, 17, 0xBD,0x96,0x00,0x00,0x96,0x69,0x00,0x00,0x69,0xBB,0x44,0x44,0xBB,0xEE,0x11,0x11,0xEE,
|
||
0x39, 0, 2, 0xC1,0x02,
|
||
0x39, 0, 5, 0xC2,0x91,0x00,0x19,0x00,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02,
|
||
0x39, 0, 2, 0x6F,0x08,
|
||
0x39, 0, 7, 0xD0,0x0D,0x66,0x0B,0x43,0x0E,0xE6,
|
||
0x39, 0, 2, 0xD1,0x01,
|
||
0x39, 0, 2, 0x6F,0x03,
|
||
0x39, 0, 5, 0xD1,0x02,0x1C,0x08,0x7D,
|
||
0x39, 0, 2, 0x6F,0x07,
|
||
0x39, 0, 5, 0xD1,0x01,0xC1,0x08,0x26,
|
||
0x39, 0, 2, 0x6F,0x0B,
|
||
0x39, 0, 5, 0xD1,0x02,0x6F,0x08,0xD3,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x03,
|
||
0x39, 0, 7, 0xB0,0x0F,0x00,0x00,0x0F,0x00,0x02,
|
||
0x39, 0, 2, 0x6F,0x06,
|
||
0x39, 0, 7, 0xB0,0x0F,0x00,0x00,0x0F,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x0C,
|
||
0x39, 0, 7, 0xB0,0x0F,0x00,0x00,0x0F,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x12,
|
||
0x39, 0, 7, 0xB0,0x0F,0x00,0x00,0x0F,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x18,
|
||
0x39, 0, 7, 0xB0,0xFF,0x00,0x00,0xFF,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x1E,
|
||
0x39, 0, 7, 0xB0,0xFF,0x00,0x00,0xFF,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 7, 0xB0,0xFF,0x00,0x00,0xFF,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x2A,
|
||
0x39, 0, 7, 0xB0,0xFF,0x00,0x00,0xFF,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x30,
|
||
0x39, 0, 7, 0xB0,0xFF,0x00,0x00,0xFF,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x36,
|
||
0x39, 0, 7, 0xB0,0xFF,0x00,0x00,0xFF,0x00,0x00,
|
||
0x39, 0, 6, 0xB2,0x00,0x0C,0x0C,0x06,0x01,
|
||
0x39, 0, 2, 0x6F,0x05,
|
||
0x39, 0, 4, 0xB2,0x00,0x0C,0x0C,
|
||
0x39, 0, 2, 0x6F,0x13,
|
||
0x39, 0, 3, 0xB2,0x06,0x01,
|
||
0x39, 0, 2, 0x6F,0x08,
|
||
0x39, 0, 4, 0xB2,0x00,0x0C,0x0C,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 3, 0xB2,0x06,0x01,
|
||
0x39, 0, 2, 0x6F,0x0B,
|
||
0x39, 0, 4, 0xB2,0x00,0x0C,0x0C,
|
||
0x39, 0, 2, 0x6F,0x17,
|
||
0x39, 0, 3, 0xB2,0x06,0x01,
|
||
0x39, 0, 2, 0x6F,0x0E,
|
||
0x39, 0, 6, 0xB2,0x00,0x0B,0x0B,0x06,0x01,
|
||
0x39, 0, 4, 0xB6,0x70,0x0C,0x0C,
|
||
0x39, 0, 2, 0x6F,0x03,
|
||
0x39, 0, 4, 0xB6,0x00,0x0C,0x0C,
|
||
0x39, 0, 2, 0x6F,0x06,
|
||
0x39, 0, 4, 0xB6,0x00,0x0C,0x0C,
|
||
0x39, 0, 2, 0x6F,0x09,
|
||
0x39, 0, 4, 0xB6,0x00,0x0C,0x0C,
|
||
0x39, 0, 2, 0x6F,0x0C,
|
||
0x39, 0, 4, 0xB6,0x00,0x0B,0x0B,
|
||
0x39, 0, 2, 0x6F,0x0F,
|
||
0x39, 0, 4, 0xB6,0x1F,0x00,0x08,
|
||
0x39, 0, 2, 0x6F,0x1A,
|
||
0x39, 0, 4, 0xB6,0x1F,0x00,0x08,
|
||
0x39, 0, 2, 0x6F,0x25,
|
||
0x39, 0, 4, 0xB6,0x1F,0x00,0x08,
|
||
0x39, 0, 2, 0x6F,0x30,
|
||
0x39, 0, 4, 0xB6,0x1F,0x00,0x08,
|
||
0x39, 0, 5, 0xBB,0x11,0x00,0x0C,0x4D,
|
||
0x39, 0, 2, 0x6F,0x04,
|
||
0x39, 0, 4, 0xBB,0x00,0x0C,0x4D,
|
||
0x39, 0, 2, 0x6F,0x07,
|
||
0x39, 0, 4, 0xBB,0x00,0x0C,0x4D,
|
||
0x39, 0, 2, 0x6F,0x0A,
|
||
0x39, 0, 4, 0xBB,0x00,0x0C,0x4D,
|
||
0x39, 0, 2, 0x6F,0x0D,
|
||
0x39, 0, 4, 0xBB,0x00,0x0B,0x4C,
|
||
0x39, 0, 5, 0xBC,0x22,0x10,0x0C,0x3F,
|
||
0x39, 0, 2, 0x6F,0x04,
|
||
0x39, 0, 4, 0xBC,0x00,0x0C,0x3F,
|
||
0x39, 0, 2, 0x6F,0x07,
|
||
0x39, 0, 4, 0xBC,0x00,0x0C,0x3F,
|
||
0x39, 0, 2, 0x6F,0x0A,
|
||
0x39, 0, 4, 0xBC,0x00,0x0C,0x3F,
|
||
0x39, 0, 2, 0x6F,0x0D,
|
||
0x39, 0, 4, 0xBC,0x00,0x0B,0x3D,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x05,
|
||
0x39, 0, 4, 0xB0,0x03,0x21,0x00,
|
||
0x39, 0, 3, 0xB3,0x82,0x80,
|
||
0x39, 0, 6, 0xB5,0x86,0x81,0x00,0x00,0x00,
|
||
0x39, 0, 5, 0xB7,0x05,0x00,0x00,0x81,
|
||
0x39, 0, 5, 0xB8,0x06,0x00,0x00,0x81,
|
||
0x39, 0, 3, 0xC7,0x0B,0x03,
|
||
0x39, 0, 2, 0xC9,0x11,
|
||
0x39, 0, 2, 0xCA,0x11,
|
||
0x39, 0, 8, 0xCB,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
|
||
0x39, 0, 2, 0xD8,0x11,
|
||
0x39, 0, 4, 0xD0,0x00,0x02,0x10,
|
||
0x39, 0, 5, 0xE0,0x82,0x00,0x00,0x00,
|
||
0x39, 0, 4, 0xD1,0x00,0x04,0x10,
|
||
0x39, 0, 5, 0xE1,0x82,0x00,0x00,0x00,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x06,
|
||
0x39, 0, 6, 0xB0,0x32,0x32,0x32,0x12,0x12,
|
||
0x39, 0, 6, 0xB1,0x13,0x13,0x04,0x04,0x0E,
|
||
0x39, 0, 6, 0xB2,0x0E,0x0F,0x0F,0x00,0x00,
|
||
0x39, 0, 2, 0xB3,0x32,
|
||
0x39, 0, 6, 0xB6,0x32,0x32,0x32,0x12,0x12,
|
||
0x39, 0, 6, 0xB7,0x13,0x13,0x04,0x04,0x0E,
|
||
0x39, 0, 6, 0xB8,0x0E,0x0F,0x0F,0x00,0x00,
|
||
0x39, 0, 2, 0xB9,0x32,
|
||
0x39, 0, 2, 0xD0,0x01,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x07,
|
||
0x39, 0, 6, 0xB0,0x8C,0xC0,0x78,0x70,0x00,
|
||
0x39, 0, 7, 0xB1,0x1C,0x0C,0x00,0x0C,0x1C,0x00,
|
||
0x39, 0, 2, 0xB2,0x20,
|
||
0x39, 0, 2, 0x6F,0x09,
|
||
0x39, 0, 2, 0xB2,0x20,
|
||
0x39, 0, 2, 0x6F,0x12,
|
||
0x39, 0, 2, 0xB2,0xF0,
|
||
0x39, 0, 2, 0x6F,0x1B,
|
||
0x39, 0, 2, 0xB2,0x20,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 2, 0xB2,0x20,
|
||
0x39, 0, 2, 0x6F,0x2D,
|
||
0x39, 0, 2, 0xB2,0xCC,
|
||
0x39, 0, 2, 0x6F,0x36,
|
||
0x39, 0, 2, 0xB2,0x32,
|
||
0x39, 0, 2, 0x6F,0x3F,
|
||
0x39, 0, 2, 0xB2,0x04,
|
||
0x39, 0, 2, 0x6F,0x48,
|
||
0x39, 0, 2, 0xB2,0x32,
|
||
0x39, 0, 2, 0x6F,0x51,
|
||
0x39, 0, 2, 0xB2,0x04,
|
||
0x39, 0, 2, 0x6F,0x5A,
|
||
0x39, 0, 2, 0xB2,0x03,
|
||
0x39, 0, 2, 0x6F,0x63,
|
||
0x39, 0, 2, 0xB2,0x9B,
|
||
0x39, 0, 2, 0x6F,0x6C,
|
||
0x39, 0, 2, 0xB2,0x32,
|
||
0x39, 0, 2, 0x6F,0x75,
|
||
0x39, 0, 2, 0xB2,0x04,
|
||
0x39, 0, 2, 0x6F,0x7E,
|
||
0x39, 0, 2, 0xB2,0x32,
|
||
0x39, 0, 2, 0x6F,0x87,
|
||
0x39, 0, 2, 0xB2,0x04,
|
||
0x39, 0, 2, 0x6F,0x90,
|
||
0x39, 0, 2, 0xB2,0x03,
|
||
0x39, 0, 2, 0x6F,0x99,
|
||
0x39, 0, 2, 0xB2,0x3A,
|
||
0x39, 0, 2, 0xB4,0xC0,
|
||
0x39, 0, 2, 0x6F,0x01,
|
||
0x39, 0, 4, 0xB4,0x60,0x80,0x80,
|
||
0x39, 0, 2, 0x6F,0x04,
|
||
0x39, 0, 4, 0xB4,0x80,0x40,0x80,
|
||
0x39, 0, 2, 0x6F,0x07,
|
||
0x39, 0, 4, 0xB4,0x80,0x80,0x80,
|
||
0x39, 0, 2, 0x6F,0x0A,
|
||
0x39, 0, 4, 0xB4,0x80,0x40,0x80,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x07,
|
||
0x39, 0, 2, 0xC0,0x01,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xC1,0x38,0x0F,0x02,0x11,0x01,0xE4,0xFC,0x0C,0x3F,0xFE,0x39,0x64,0xBF,0xFE,0xFB,0x18,0x00,0x00,0x23,0x29,0x44,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xC1,0x00,0x00,0x13,0x00,0x16,0x58,0x33,0x50,0x05,0xEE,0x0F,0xBB,0xEA,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xC1,0x00,0x0C,0x0F,0x00,0x16,0x12,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xC2,0x30,0x0F,0x01,0x44,0x08,0x44,0xF9,0x88,0x3F,0xFF,0x30,0x70,0x3F,0xFD,0x92,0x70,0x80,0x00,0x21,0x3E,0x10,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xC2,0x00,0x17,0x00,0x00,0x69,0x12,0x33,0x20,0x05,0xC4,0x0F,0xEE,0xAE,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xC2,0x04,0x21,0x0D,0x04,0x28,0x12,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xC3,0x36,0x00,0x01,0x44,0x08,0x44,0x06,0x78,0x00,0x00,0x00,0x00,0x3F,0xFB,0x80,0x00,0x80,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xC3,0x03,0xCE,0x00,0x04,0x20,0x12,0x33,0x20,0x00,0x00,0x03,0x12,0xAE,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xC3,0x94,0x20,0x4D,0x94,0x25,0x54,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xC4,0x3E,0x00,0x02,0x11,0x01,0xE4,0x03,0xF4,0x00,0x01,0x6B,0xB0,0xBF,0xFE,0xA4,0x20,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xC4,0x04,0x21,0x13,0x04,0x37,0x58,0x33,0x50,0x00,0x00,0x03,0x45,0xEA,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xC4,0x90,0x12,0x4D,0x90,0x16,0x50,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xC5,0x2A,0x0F,0x01,0x44,0x08,0xA1,0xF9,0x64,0x00,0x00,0x76,0xF8,0x00,0x03,0x49,0x5C,0x7F,0xFF,0xB9,0xEB,0xC4,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xC5,0x93,0xCE,0x4D,0x94,0x1F,0x5F,0x33,0x0F,0xFA,0x4E,0x00,0x12,0x51,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xC5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xC6,0x2A,0x0F,0x02,0x11,0x02,0x11,0xFB,0xDE,0x00,0x02,0x99,0x62,0x80,0x00,0x5F,0x0E,0x7F,0xFF,0xBF,0xF3,0x11,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xC6,0x94,0x20,0x07,0x94,0x37,0x4C,0x33,0x4F,0xF9,0xCD,0x00,0x45,0x17,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xC7,0x2C,0x00,0x02,0x11,0x01,0xE4,0x03,0xF4,0x3F,0xFD,0x28,0xA0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xC7,0x90,0x00,0x07,0x90,0x16,0x4C,0x33,0x50,0x00,0x00,0x0C,0xBB,0x16,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xC8,0x24,0x00,0x01,0x44,0x08,0x44,0x06,0x78,0x3F,0xFE,0xBC,0x00,0x00,0x01,0x44,0x00,0x80,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xC8,0x90,0x17,0x4D,0x90,0x69,0x5F,0x33,0x20,0x00,0x00,0x0C,0xEE,0x52,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xC8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xC9,0x2B,0x00,0x03,0xC1,0x03,0xC1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xF1,0xE8,0x7F,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xC9,0x02,0x1C,0x34,0x02,0x3C,0x54,0x55,0x5F,0xFC,0x3F,0x00,0x1F,0x1F,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xC9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xCA,0x2D,0x00,0x03,0xC1,0x03,0xC1,0x00,0x00,0x3F,0xFF,0x17,0x42,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xEC,0x7F,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xCA,0x01,0xFB,0x34,0x02,0x1B,0x54,0x55,0x50,0x00,0x00,0x3C,0xE1,0x1F,0xFF,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xCA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xCB,0x21,0x00,0x03,0xC1,0x03,0xC1,0x00,0x00,0x3F,0xFF,0x17,0x42,0x3F,0xFF,0x17,0x42,0x00,0x00,0x0F,0xF0,0x7F,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xCB,0x01,0xFB,0x13,0x02,0x1B,0x33,0x55,0x90,0x03,0xC1,0xFF,0xE1,0xE1,0xFF,0xFF,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xCB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xCC,0x27,0x00,0x03,0xC1,0x03,0xC1,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0x17,0x42,0x00,0x00,0x00,0xEC,0x7F,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xCC,0x02,0x1C,0x13,0x02,0x3C,0x33,0x55,0x90,0x00,0x00,0xC3,0x1F,0xE1,0x00,0xFF,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xCD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xCD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xCD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xCF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xCF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xCF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xD0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xD0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xD0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xD1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xD1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xD1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xD2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xD2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xD2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xD3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xD3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xD3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xD4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xD4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xD4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xD5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xD5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xD5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xD6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xD6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xD6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xD7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xD7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xD7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x07,
|
||
0x39, 0, 3, 0xC0,0x01,0x01,
|
||
0x39, 0, 2, 0x6F,0x02,
|
||
0x39, 0, 7, 0xC0,0x00,0x00,0x00,0x55,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xCD,0x21,0x00,0x1C,0x39,0x1C,0xE4,0x00,0x00,0x3F,0xED,0x09,0xB4,0x3F,0xEC,0xD0,0x98,0x80,0x03,0x55,0xBD,0x95,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xCD,0x81,0xC1,0x26,0x82,0x18,0x7C,0x55,0x90,0x1C,0x8E,0xFF,0xAB,0xAA,0xFF,0xFF,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xCD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xCE,0x27,0x00,0x1C,0x39,0x1C,0x39,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xED,0x42,0x26,0x80,0x00,0x12,0xDA,0x13,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xCE,0x82,0x19,0x26,0x82,0x6F,0x7C,0x55,0x80,0x00,0x00,0xC3,0x55,0xAB,0x00,0xFF,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xCF,0x2D,0x00,0x1C,0x39,0x1E,0xF1,0x00,0x00,0x3F,0xEC,0x60,0x5E,0x40,0x00,0x00,0x00,0x80,0x00,0x13,0xBB,0xDB,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xCF,0x81,0xC1,0x7D,0x82,0x1B,0xD3,0x55,0xA0,0x00,0x00,0x3C,0xAB,0x59,0xFF,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xCF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x00,
|
||
0x39, 0, 22, 0xD0,0x2B,0x00,0x1C,0x39,0x1A,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0xFF,0xFD,0x1A,0xB6,0xDC,
|
||
0x39, 0, 2, 0x6F,0x15,
|
||
0x39, 0, 16, 0xD0,0x82,0x1C,0x7D,0x82,0x6F,0xD3,0x55,0xDF,0xE4,0xC6,0x00,0x55,0x52,0x00,0x00,
|
||
0x39, 0, 2, 0x6F,0x24,
|
||
0x39, 0, 8, 0xD0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 2, 0x88,0x01,
|
||
0x39, 0, 2, 0x6F,0x01,
|
||
0x39, 0, 5, 0x88,0x02,0x18,0x08,0x7D,
|
||
0x39, 0, 5, 0xFF,0xAA,0x55,0xA5,0x80,
|
||
0x39, 0, 2, 0x6F,0x61,
|
||
0x39, 0, 2, 0xF3,0x80,
|
||
0x39, 0, 2, 0x6F,0x1D,
|
||
0x39, 0, 2, 0xF2,0x05,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x00,0x00,
|
||
0x39, 0, 5, 0xFF,0xAA,0x55,0xA5,0x00,
|
||
0x39, 0, 2, 0x03,0x00,
|
||
0x39, 0, 2, 0x90,0x02,
|
||
0x39, 0, 19, 0x91,0x89,0x28,0x00,0x14,0xC2,0x00,0x02,0x0E,0x01,0xE8,0x00,0x07,0x05,0x0E,0x05,0x16,0x10,0xF0,
|
||
0x39, 0, 1, 0x2C,
|
||
0x39, 0, 2, 0x2F,0x01,
|
||
0x39, 0, 5, 0x51,0x0D,0xBB,0x0F,0xFE,
|
||
0x39, 0, 2, 0x53,0x20,
|
||
0x39, 0, 2, 0x35,0x00,
|
||
0x39, 0, 5, 0x2A,0x00,0x00,0x04,0x37,
|
||
0x39, 0, 5, 0x2B,0x00,0x00,0x09,0x5F,
|
||
0x39, 0, 5, 0x3B,0x00,0x10,0x00,0x20,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x04,
|
||
0x39, 0, 5, 0xF0,0x55,0xAA,0x52,0x08,
|
||
0x39, 0, 3, 0xB5,0x80,0x02,
|
||
0x39, 0, 2, 0x6F,0x06,
|
||
0x39, 0, 16, 0xB5,0x48,0x17,0x00,0x00,0x00,0x46,0x29,0x00,0x00,0x00,0x17,0x17,0x17,0x17,0x17,
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00,
|
||
0x39, 0, 2, 0xC0,0x66,
|
||
// Gamma
|
||
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02,
|
||
0x39, 0, 2, 0xCC,0x30,
|
||
#endif
|
||
|
||
|
||
#if 1 //GAMMA
|
||
//CMD2_Page2
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02,
|
||
|
||
0x39, 0, 2, 0xBF,0x09,
|
||
//R+
|
||
0x39, 0, 19, 0xB0,0x00,0x00,0x01,0x13,0x01,0xB9,0x02,0x97,0x03,0x26,0x03,0xA2,0x04,0x0D,0x04,0x64,0x04,0xEB,
|
||
0x39, 0, 19, 0xB1,0x05,0x68,0x05,0xCD,0x06,0x23,0x06,0x79,0x07,0x0B,0x07,0x8C,0x08,0x0D,0x08,0x7F,0x08,0xF1,
|
||
0x39, 0, 15, 0xB2,0x09,0x61,0x09,0xCE,0x0A,0x38,0x0A,0x9D,0x0A,0xFF,0x0B,0xC4,0x0B,0xC6,
|
||
//G+
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x74,0x01,0x06,0x01,0xD8,0x02,0x68,0x02,0xE6,0x03,0x52,0x03,0xA8,0x04,0x2D,
|
||
0x39, 0, 19, 0xB4,0x04,0xA4,0x05,0x03,0x05,0x53,0x05,0xA3,0x06,0x2A,0x06,0xA2,0x07,0x1A,0x07,0x83,0x07,0xEC,
|
||
0x39, 0, 15, 0xB5,0x08,0x4F,0x08,0xAE,0x09,0x08,0x09,0x5D,0x09,0xB7,0x0A,0x6B,0x0A,0x6E,
|
||
//B+
|
||
0x39, 0, 19, 0xB6,0x00,0x00,0x01,0x85,0x02,0x38,0x03,0x30,0x03,0xD9,0x04,0x64,0x04,0xD9,0x05,0x36,0x05,0xC8,
|
||
0x39, 0, 19, 0xB7,0x06,0x4A,0x06,0xB3,0x07,0x0D,0x07,0x67,0x08,0x01,0x08,0x8C,0x09,0x17,0x09,0x93,0x0A,0x0F,
|
||
0x39, 0, 15, 0xB8,0x0A,0x8B,0x0B,0x04,0x0B,0x7A,0x0B,0xEB,0x0C,0x63,0x0D,0x54,0x0D,0x56,
|
||
|
||
0x39, 0, 2, 0xBF,0x08,
|
||
//R+
|
||
0x39, 0, 19, 0xB0,0x00,0x00,0x00,0xE0,0x01,0x96,0x02,0x60,0x02,0xEE,0x03,0x60,0x03,0xC5,0x04,0x1E,0x04,0xA1,
|
||
0x39, 0, 19, 0xB1,0x05,0x12,0x05,0x71,0x05,0xC5,0x06,0x0F,0x06,0x95,0x07,0x0F,0x07,0x88,0x07,0xF0,0x08,0x57,
|
||
0x39, 0, 15, 0xB2,0x08,0xB6,0x09,0x16,0x09,0x61,0x09,0xCB,0x0A,0x22,0x0A,0xD1,0x0A,0xD3,
|
||
//G+
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x58,0x00,0xD8,0x01,0xA3,0x02,0x30,0x02,0xA3,0x03,0x09,0x03,0x62,0x03,0xE4,
|
||
0x39, 0, 19, 0xB4,0x04,0x52,0x04,0xAD,0x04,0xFC,0x05,0x4A,0x05,0xCB,0x06,0x3C,0x06,0xA1,0x07,0x03,0x07,0x5D,
|
||
0x39, 0, 15, 0xB5,0x07,0xB5,0x08,0x0D,0x08,0x60,0x08,0xAF,0x08,0xF9,0x09,0x8F,0x09,0x92,
|
||
//B+
|
||
0x39, 0, 19, 0xB6,0x00,0x00,0x01,0x42,0x02,0x12,0x02,0xF2,0x03,0x97,0x04,0x18,0x04,0x85,0x04,0xE5,0x05,0x71,
|
||
0x39, 0, 19, 0xB7,0x05,0xE8,0x06,0x4F,0x06,0xA5,0x06,0xFA,0x07,0x8E,0x08,0x12,0x08,0x87,0x08,0xF9,0x09,0x66,
|
||
0x39, 0, 15, 0xB8,0x09,0xD0,0x0A,0x3A,0x0A,0x98,0x0B,0x02,0x0B,0x65,0x0C,0x2A,0x0C,0x2C,
|
||
|
||
0x39, 0, 2, 0xBF,0x07,
|
||
//R+
|
||
0x39, 0, 19, 0xB0,0x00,0x00,0x00,0xA1,0x01,0x6A,0x02,0x3B,0x02,0xC6,0x03,0x34,0x03,0x93,0x03,0xE9,0x04,0x6B,
|
||
0x39, 0, 19, 0xB1,0x04,0xD6,0x05,0x35,0x05,0x84,0x05,0xCF,0x06,0x50,0x06,0xC4,0x07,0x2D,0x07,0x98,0x07,0xF8,
|
||
0x39, 0, 15, 0xB2,0x08,0x53,0x08,0xA9,0x08,0xFF,0x09,0x48,0x09,0x9E,0x0A,0x3F,0x0A,0x43,
|
||
//G+
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x27,0x00,0x8C,0x01,0x7C,0x02,0x07,0x02,0x76,0x02,0xD7,0x03,0x2D,0x03,0xB0,
|
||
0x39, 0, 19, 0xB4,0x04,0x1A,0x04,0x76,0x04,0xC4,0x05,0x0A,0x05,0x89,0x05,0xF7,0x06,0x5B,0x06,0xB2,0x07,0x0D,
|
||
0x39, 0, 15, 0xB5,0x07,0x5D,0x07,0xAC,0x07,0xF8,0x08,0x44,0x08,0x8D,0x09,0x15,0x09,0x18,
|
||
//B+
|
||
0x39, 0, 19, 0xB6,0x00,0x00,0x00,0xF9,0x01,0xF2,0x02,0xC9,0x03,0x68,0x03,0xE6,0x04,0x4F,0x04,0xAB,0x05,0x34,
|
||
0x39, 0, 19, 0xB7,0x05,0xA8,0x06,0x0F,0x06,0x62,0x06,0xAF,0x07,0x3E,0x07,0xBD,0x08,0x2F,0x08,0x98,0x09,0x01,
|
||
0x39, 0, 15, 0xB8,0x09,0x62,0x09,0xC2,0x0A,0x20,0x0A,0x78,0x0A,0xD5,0x0B,0x85,0x0B,0x8B,
|
||
|
||
0x39, 0, 2, 0xBF,0x06,
|
||
//R+
|
||
0x39, 0, 19, 0xB0,0x00,0x00,0x00,0x00,0x01,0x2E,0x01,0xF2,0x02,0x7A,0x02,0xE2,0x03,0x39,0x03,0x85,0x04,0x06,
|
||
0x39, 0, 19, 0xB1,0x04,0x6D,0x04,0xC1,0x05,0x04,0x05,0x4B,0x05,0xC4,0x06,0x38,0x06,0x97,0x06,0xF0,0x07,0x40,
|
||
0x39, 0, 15, 0xB2,0x07,0x96,0x07,0xDE,0x08,0x24,0x08,0x64,0x08,0xA4,0x09,0x31,0x09,0x33,
|
||
//G+
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x1E,0x01,0xAD,0x02,0x20,0x02,0x7B,0x02,0xC9,0x03,0x4B,
|
||
0x39, 0, 19, 0xB4,0x03,0xB3,0x04,0x08,0x04,0x54,0x04,0x97,0x05,0x0C,0x05,0x71,0x05,0xCD,0x06,0x20,0x06,0x6A,
|
||
0x39, 0, 15, 0xB5,0x06,0xB3,0x06,0xF5,0x07,0x37,0x07,0x77,0x07,0xB5,0x08,0x2D,0x08,0x2F,
|
||
//B+
|
||
0x39, 0, 19, 0xB6,0x00,0x00,0x00,0xC7,0x01,0xA7,0x02,0x7E,0x03,0x11,0x03,0x88,0x03,0xEB,0x04,0x3E,0x04,0xC9,
|
||
0x39, 0, 19, 0xB7,0x05,0x37,0x05,0x92,0x05,0xE2,0x06,0x2B,0x06,0xAD,0x07,0x20,0x07,0x88,0x07,0xE8,0x08,0x3E,
|
||
0x39, 0, 15, 0xB8,0x08,0x96,0x08,0xE3,0x09,0x31,0x09,0x7E,0x09,0xCC,0x0A,0x5F,0x0A,0x61,
|
||
|
||
0x39, 0, 2, 0xBF,0x05,
|
||
//R+
|
||
0x39, 0, 19, 0xB0,0x00,0x00,0x00,0xC5,0x01,0x2F,0x01,0xCA,0x02,0x4F,0x02,0xB5,0x03,0x09,0x03,0x52,0x03,0xCC,
|
||
0x39, 0, 19, 0xB1,0x04,0x32,0x04,0x87,0x04,0xCF,0x05,0x0D,0x05,0x7F,0x05,0xE8,0x06,0x4B,0x06,0x9E,0x06,0xEC,
|
||
0x39, 0, 15, 0xB2,0x07,0x34,0x07,0x7E,0x07,0xC2,0x08,0x01,0x08,0x3D,0x08,0xAF,0x08,0xB1,
|
||
//G+
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x01,0x80,0x01,0xEE,0x02,0x49,0x02,0x95,0x03,0x11,
|
||
0x39, 0, 19, 0xB4,0x03,0x78,0x03,0xCE,0x04,0x18,0x04,0x5A,0x04,0xC9,0x05,0x2C,0x05,0x83,0x05,0xD4,0x06,0x1C,
|
||
0x39, 0, 15, 0xB5,0x06,0x5F,0x06,0x9F,0x06,0xDC,0x07,0x16,0x07,0x50,0x07,0xBE,0x07,0xC0,
|
||
//B+
|
||
0x39, 0, 19, 0xB6,0x00,0x00,0x01,0x75,0x01,0xDF,0x02,0x53,0x02,0xE2,0x03,0x54,0x03,0xB5,0x04,0x07,0x04,0x8B,
|
||
0x39, 0, 19, 0xB7,0x04,0xF7,0x05,0x53,0x05,0xA2,0x05,0xE9,0x06,0x63,0x06,0xD1,0x07,0x32,0x07,0x90,0x07,0xE4,
|
||
0x39, 0, 15, 0xB8,0x08,0x31,0x08,0x7D,0x08,0xC6,0x09,0x0A,0x09,0x4F,0x09,0xD7,0x09,0xDA,
|
||
|
||
0x39, 0, 2, 0xBF,0x04,
|
||
//R+
|
||
0x39, 0, 19, 0xB0,0x00,0x00,0x00,0xC5,0x01,0x2F,0x01,0xCA,0x02,0x4F,0x02,0xB5,0x03,0x09,0x03,0x52,0x03,0xCC,
|
||
0x39, 0, 19, 0xB1,0x04,0x32,0x04,0x87,0x04,0xCF,0x05,0x0D,0x05,0x7F,0x05,0xE8,0x06,0x4B,0x06,0x9E,0x06,0xEB,
|
||
0x39, 0, 15, 0xB2,0x07,0x33,0x07,0x7D,0x07,0xBE,0x08,0x01,0x08,0x3C,0x08,0xAE,0x08,0xB1,
|
||
//G+
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x01,0x80,0x01,0xEE,0x02,0x49,0x02,0x95,0x03,0x11,
|
||
0x39, 0, 19, 0xB4,0x03,0x78,0x03,0xCE,0x04,0x18,0x04,0x5A,0x04,0xC9,0x05,0x2C,0x05,0x83,0x05,0xD4,0x06,0x1B,
|
||
0x39, 0, 15, 0xB5,0x06,0x5E,0x06,0x9E,0x06,0xD9,0x07,0x16,0x07,0x4F,0x07,0xBD,0x07,0xC0,
|
||
//B+
|
||
0x39, 0, 19, 0xB6,0x00,0x00,0x01,0x75,0x01,0xE1,0x02,0x53,0x02,0xE2,0x03,0x54,0x03,0xB5,0x04,0x07,0x04,0x8A,
|
||
0x39, 0, 19, 0xB7,0x04,0xF7,0x05,0x53,0x05,0xA2,0x05,0xE9,0x06,0x63,0x06,0xD1,0x07,0x32,0x07,0x90,0x07,0xE3,
|
||
0x39, 0, 15, 0xB8,0x08,0x30,0x08,0x7C,0x08,0xC2,0x09,0x0A,0x09,0x4E,0x09,0xD6,0x09,0xDA,
|
||
|
||
0x39, 0, 2, 0xBF,0x03,
|
||
//R+
|
||
0x39, 0, 19, 0xB0,0x00,0x00,0x00,0x00,0x01,0x09,0x01,0x8A,0x01,0xF8,0x02,0x5A,0x02,0xA8,0x02,0xEB,0x03,0x5C,
|
||
0x39, 0, 19, 0xB1,0x03,0xB9,0x04,0x0A,0x04,0x52,0x04,0x91,0x04,0xF8,0x05,0x51,0x05,0xA4,0x05,0xF4,0x06,0x3F,
|
||
0x39, 0, 15, 0xB2,0x06,0x81,0x06,0xBC,0x06,0xF6,0x07,0x2D,0x07,0x65,0x07,0xCB,0x07,0xCD,
|
||
//G+
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x85,0x01,0x1A,0x01,0x8C,0x01,0xE0,0x02,0x28,0x02,0x9F,
|
||
0x39, 0, 19, 0xB4,0x02,0xFE,0x03,0x50,0x03,0x98,0x03,0xD8,0x04,0x44,0x04,0x9C,0x04,0xEC,0x05,0x36,0x05,0x79,
|
||
0x39, 0, 15, 0xB5,0x05,0xB7,0x05,0xF0,0x06,0x25,0x06,0x59,0x06,0x89,0x06,0xE5,0x06,0xE7,
|
||
//B+
|
||
0x39, 0, 19, 0xB6,0x00,0x00,0x01,0x1D,0x01,0xBB,0x02,0x24,0x02,0x85,0x02,0xEF,0x03,0x46,0x03,0x92,0x04,0x12,
|
||
0x39, 0, 19, 0xB7,0x04,0x76,0x04,0xCC,0x05,0x19,0x05,0x5D,0x05,0xD1,0x06,0x31,0x06,0x8A,0x06,0xDD,0x07,0x27,
|
||
0x39, 0, 15, 0xB8,0x07,0x6F,0x07,0xB1,0x07,0xEF,0x08,0x2A,0x08,0x63,0x08,0xD1,0x08,0xD3,
|
||
|
||
0x39, 0, 2, 0xBF,0x02,
|
||
//R+
|
||
0x39, 0, 19, 0xB0,0x00,0x00,0x00,0x00,0x00,0x86,0x01,0x4E,0x01,0x96,0x01,0xEA,0x02,0x23,0x02,0x62,0x02,0xC6,
|
||
0x39, 0, 19, 0xB1,0x03,0x18,0x03,0x62,0x03,0xA1,0x03,0xDA,0x04,0x3F,0x04,0x96,0x04,0xDB,0x05,0x1B,0x05,0x56,
|
||
0x39, 0, 15, 0xB2,0x05,0x8E,0x05,0xC4,0x05,0xF3,0x06,0x26,0x06,0x53,0x06,0xA5,0x06,0xA6,
|
||
//G+
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x94,0x01,0x10,0x01,0x4E,0x01,0x95,0x02,0x00,
|
||
0x39, 0, 19, 0xB4,0x02,0x57,0x02,0xA5,0x02,0xE5,0x03,0x1F,0x03,0x86,0x03,0xDD,0x04,0x25,0x04,0x66,0x04,0xA1,
|
||
0x39, 0, 15, 0xB5,0x04,0xD6,0x05,0x0A,0x05,0x35,0x05,0x62,0x05,0x8C,0x05,0xDA,0x05,0xDB,
|
||
//B+
|
||
0x39, 0, 19, 0xB6,0x00,0x00,0x00,0xBF,0x01,0x6D,0x01,0xF6,0x02,0x2F,0x02,0x7A,0x02,0xB3,0x02,0xF8,0x03,0x68,
|
||
0x39, 0, 19, 0xB7,0x03,0xC5,0x04,0x19,0x04,0x5C,0x04,0x99,0x05,0x06,0x05,0x62,0x05,0xB0,0x05,0xF6,0x06,0x36,
|
||
0x39, 0, 15, 0xB8,0x06,0x72,0x06,0xAB,0x06,0xDC,0x07,0x0E,0x07,0x3E,0x07,0x99,0x07,0x9A,
|
||
|
||
0x39, 0, 2, 0xBF,0x01,
|
||
//R+
|
||
0x39, 0, 19, 0xB0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0x01,0x0F,0x01,0x10,0x01,0x5C,
|
||
0x39, 0, 19, 0xB1,0x01,0x82,0x01,0xB1,0x01,0xD0,0x01,0xF5,0x02,0x37,0x02,0x6C,0x02,0x9E,0x02,0xCE,0x02,0xF7,
|
||
0x39, 0, 15, 0xB2,0x03,0x1F,0x03,0x44,0x03,0x66,0x03,0x87,0x03,0xA5,0x03,0xDB,0x03,0xDC,
|
||
//G+
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x49,
|
||
0x39, 0, 19, 0xB4,0x00,0x79,0x00,0xC5,0x00,0xEA,0x01,0x1C,0x01,0x61,0x01,0x9F,0x01,0xD5,0x02,0x09,0x02,0x34,
|
||
0x39, 0, 15, 0xB5,0x02,0x5F,0x02,0x86,0x02,0xAA,0x02,0xCB,0x02,0xE8,0x03,0x21,0x03,0x22,
|
||
//B+
|
||
0x39, 0, 19, 0xB6,0x00,0x00,0x00,0x30,0x00,0x8F,0x01,0x00,0x01,0x58,0x01,0x87,0x01,0xC5,0x01,0xCB,0x02,0x01,
|
||
0x39, 0, 19, 0xB7,0x02,0x1F,0x02,0x48,0x02,0x63,0x02,0x85,0x02,0xC8,0x03,0x03,0x03,0x3B,0x03,0x71,0x03,0xA0,
|
||
0x39, 0, 15, 0xB8,0x03,0xCD,0x03,0xF7,0x04,0x1E,0x04,0x40,0x04,0x60,0x04,0x9B,0x04,0x9C,
|
||
|
||
0x39, 0, 2, 0xBF,0x00,
|
||
//R+
|
||
0x39, 0, 19, 0xB0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 19, 0xB1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 15, 0xB2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
//G+
|
||
0x39, 0, 19, 0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 19, 0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 15, 0xB5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
//B+
|
||
0x39, 0, 19, 0xB6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 19, 0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x39, 0, 15, 0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
#endif
|
||
|
||
//By Gamma Update Echo
|
||
/* 0x39, 0, 2, 0xCE,0x01,
|
||
//By 26h/51h/38h/39h Change
|
||
0x39, 0, 2, 0xCC,0x00,
|
||
|
||
|
||
//CMD2_Page2
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02,
|
||
0x39, 0, 25, 0xB9,0x00,0x04,0x00,0x0C,0x00,0x1C,0x00,0x2C,0x00,0x3C,0x00,0x4C,0x00,0x5C,0x00,0x7C,0x00,0x9C,0x00,0xBC,0x00,0xDC,0x00,0xFC,
|
||
// 0x39, 0, 25, 0xBA,0x01,0x3C,0x01,0x7C,0x01,0xBC,0x01,0xFC,0x02,0x3C,0x02,0x7C,0x02,0xBC,0x02,0xFC,0x03,0x3C,0x03,0x7C,0x03,0xFC,0x03,0xFF,
|
||
|
||
|
||
|
||
0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00,
|
||
0x39, 0, 2, 0xC0,0x77,
|
||
0x39, 0, 5, 0x3B,0x00,0x10,0x09,0x90,
|
||
0x39, 0, 2, 0x90,0x00,
|
||
0x05, 0, 1, 0x2C,
|
||
0x39, 0, 3, 0x51,0x03,0x00,
|
||
*/
|
||
};
|
||
#endif
|
||
|
||
#if 1
|
||
/*****************************************************************************
|
||
*GPIO发送swire波形
|
||
*flag: =0, SWIRE=0; =1,仅发送SWIRE信号; =2, 先置高再发SWIRE信号
|
||
*num: 发几个脉冲
|
||
*注意FLAG=1时无GPIO初始化!!!!!!
|
||
*****************************************************************************/
|
||
void Gpio_swire_output(uint8_t flag, uint8_t num)
|
||
{
|
||
uint8_t ii;
|
||
|
||
if (flag)
|
||
{
|
||
if (flag ==2)
|
||
{
|
||
hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_HIGH);
|
||
//hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH);
|
||
delayMs(2);
|
||
}
|
||
for (ii =0; ii< num; ii++)
|
||
{
|
||
hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_LOW);
|
||
delayUs(10);//10
|
||
hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH);
|
||
delayUs(9);//9
|
||
}
|
||
}
|
||
else
|
||
{
|
||
hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_LOW);
|
||
}
|
||
}
|
||
|
||
//void Gpio_LED_ON_output(uint8_t flag, uint8_t num)
|
||
//{
|
||
// uint8_t ii;
|
||
|
||
// if (flag)
|
||
// {
|
||
// if (flag ==2)
|
||
// {
|
||
// hal_gpio_init_output(IO_PAD_PWMEN, IO_LVL_HIGH);
|
||
// delayMs(2);
|
||
// }
|
||
// for (ii =0; ii< num; ii++)
|
||
// {
|
||
// hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_LOW);
|
||
// delayUs(12);
|
||
// hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH);
|
||
// delayUs(10);
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// hal_gpio_init_output(IO_PAD_PWMEN, IO_LVL_LOW);
|
||
// }
|
||
//}
|
||
|
||
#endif
|
||
|
||
static bool ap_dcs_read(uint8_t data_type, uint8_t dcs_cmd, uint8_t param)
|
||
{
|
||
#ifdef USE_FOR_MI10_PRO
|
||
|
||
|
||
#if 1 //Android 11 test
|
||
if (dcs_cmd == 0xA1)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
0x0A,0x01,0x0B,0x80,0x96,0x00,0x00,0x00,0x00,0x00,0x00);
|
||
}
|
||
else if (dcs_cmd == 0xA8)
|
||
{
|
||
phone_DisplayOFF_flag=1;
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
0x0A,0x00,0x00,0x00,0x01,0xF9,0x0B,0xB5,0x0C,0x5B,0x95);
|
||
}
|
||
else if (dcs_cmd == 0xFB)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_SHORT_RESPONSE_2B,
|
||
DSI_VC_0,
|
||
2, 0x02,0x7B);
|
||
}
|
||
else if (dcs_cmd == 0xC8)
|
||
{
|
||
uint32_t return_size = hal_dsi_rx_ctrl_get_max_ret_size(g_rx_ctrl_handle);
|
||
uint8_t cmd[] = {DSI_ACK_DT_DSC_LONG_RESPONSE,0x00,0x00,0x01,
|
||
0xAA,0xA9,0x95,0x99,0x7C,0xD9,0x52,0x39,0x87,0x09,0xF6,0x3A,0xA7,0x99,0xCF,0x55,
|
||
0x55,0x40,0x5E,0x54,0x7E,0x31,0x2B,0x50,0x07,0x05,0x21,0xC9,0xD2,0xDD,0x00,0x00,
|
||
0x00,0xA0,0xBB,0xB3,0x4E,0x9A,0x66,0x65,0x65,0x65,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x55,0x93,0x5A,0x55,0x93,0x0C,0xF8,0x3E,0xAA,0x9B,0xD3,0x55,0x55,0x40,0x60,
|
||
0x57,0x82,0x33,0x2F,0x55,0x09,0x0A,0x26,0xCB,0xDE,0xE5,0x00,0x00,0x00,0x9F,0xCE,
|
||
0xBE,0x62,0xBB,0x8E,0x65,0x65,0x65,0x00,0x00,0x00,0xAA,0xA9,0x95,0x5A,0x55,0x93,
|
||
0x5A,0x55,0x93,0x0B,0xF7,0x3D,0xAA,0x9C,0xD4,0x55,0x55,0x40,0x60,0x59,0x83,0x34,
|
||
0x34,0x57,0x0B,0x12,0x2B,0xCC,0xEE,0xED,0x00,0x00,0x00,0xA3,0xE2,0xCC,0x7A,0xD6,
|
||
0xA5,0x65,0x65,0x65,0x00,0x00,0x00};
|
||
|
||
cmd[1]=return_size&0xFF;
|
||
cmd[2]=(return_size>>8)&0xFF;
|
||
|
||
hal_dsi_rx_ctrl_ack_long_cmd(g_rx_ctrl_handle, return_size+4, cmd);
|
||
|
||
}
|
||
else if (dcs_cmd == 0xC9)
|
||
{
|
||
uint32_t return_size = hal_dsi_rx_ctrl_get_max_ret_size(g_rx_ctrl_handle);
|
||
// TAU_LOGD("r[%x] [%d]!!!!!!\n", dcs_cmd, return_size);
|
||
|
||
#if 1
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,0xB4,
|
||
0xAA,0xA9,0x95,0x5A,0x55,0x93,0x5A,0x55,0x93,0x08,0xF5,0x3B,0xA8,0x9B,0xD3,0x55,
|
||
0x55,0x40,0x5F,0x5B,0x83,0x31,0x38,0x57,0x08,0x18,0x2C,0xC8,0xFA,0xEF,0x00,0x00,
|
||
0x00,0xA5,0xF1,0xD6,0x8B,0xE5,0xB1,0x65,0x65,0x65,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x55,0x93,0x5A,0x55,0x93,0x04,0xF1,0x37,0xA5,0x9A,0xD0,0x55,0x55,0x44,0x5C,
|
||
0x5B,0x82,0x30,0x3B,0x57,0x07,0x1E,0x2E,0xC8,0x05,0xF6,0x00,0x00,0x00,0xAC,0xFE,
|
||
0xE0,0x93,0xF4,0xC1,0x65,0x65,0x65,0x00,0x00,0x00,0xAA,0xA9,0x95,0x5A,0x55,0x93,
|
||
0x5A,0x55,0x93,0x05,0xF3,0x39,0xA7,0xA0,0xD4,0x55,0x55,0x45,0x5F,0x66,0x88,0x35,
|
||
0x49,0x5E,0x0C,0x33,0x39,0xD2,0x20,0x08,0x10,0x40,0x00,0xB6,0x1B,0xF7,0x9E,0x0B,
|
||
0xE4,0x65,0x65,0x65,0x00,0x00,0x00,0xAA,0xA5,0x95,0x5A,0x55,0x93,0x5A,0x55,0x93,
|
||
0xE1,0xD4,0x13,0x8C,0x8E,0xB9,0x55,0x55,0x45,0x4C,0x62,0x77,0x26,0x4D,0x55,0x01,
|
||
0x3F,0x35,0xD2,0x33,0x13,0x14,0x40,0x00,0xBA,0x2E,0x04,0xA3,0x1F,0xF2,0x65,0x65,
|
||
0x65,0x00,0x00,0x00);
|
||
|
||
#else
|
||
|
||
uint8_t cmd1[] = {DSI_ACK_DT_DSC_LONG_RESPONSE,0x00,0x00,0x01,
|
||
0xAA,0xA9,0x95,0x5A,0x55,0x93,0x5A,0x55,0x93,0x08,0xF5,0x3B,0xA8,0x9B,0xD3,0x55,
|
||
0x55,0x40,0x5F,0x5B,0x83,0x31,0x38,0x57,0x08,0x18,0x2C,0xC8,0xFA,0xEF,0x00,0x00,
|
||
0x00,0xA5,0xF1,0xD6,0x8B,0xE5,0xB1,0x65,0x65,0x65,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x55,0x93,0x5A,0x55,0x93,0x04,0xF1,0x37,0xA5,0x9A,0xD0,0x55,0x55,0x44,0x5C,
|
||
0x5B,0x82,0x30,0x3B,0x57,0x07,0x1E,0x2E,0xC8,0x05,0xF6,0x00,0x00,0x00,0xAC,0xFE,
|
||
0xE0,0x93,0xF4,0xC1,0x65,0x65,0x65,0x00,0x00,0x00,0xAA,0xA9,0x95,0x5A,0x55,0x93,
|
||
0x5A,0x55,0x93,0x05,0xF3,0x39,0xA7,0xA0,0xD4,0x55,0x55,0x45,0x5F,0x66,0x88,0x35,
|
||
0x49,0x5E,0x0C,0x33,0x39,0xD2,0x20,0x08,0x10,0x40,0x00,0xB6,0x1B,0xF7,0x9E,0x0B,
|
||
0xE4,0x65,0x65,0x65,0x00,0x00,0x00,0xAA,0xA5,0x95,0x5A,0x55,0x93,0x5A,0x55,0x93,
|
||
0xE1,0xD4,0x13,0x8C,0x8E,0xB9,0x55,0x55,0x45,0x4C,0x62,0x77,0x26,0x4D,0x55,0x01,
|
||
0x3F,0x35,0xD2,0x33,0x13,0x14,0x40,0x00,0xBA,0x2E,0x04,0xA3,0x1F,0xF2,0x65,0x65,
|
||
0x65,0x00,0x00,0x00};
|
||
|
||
cmd1[1]=return_size&0xFF;
|
||
cmd1[2]=(return_size>>8)&0xFF;
|
||
|
||
hal_dsi_rx_ctrl_ack_long_cmd(g_rx_ctrl_handle, return_size+4, cmd1);
|
||
#endif
|
||
}
|
||
else if (dcs_cmd == 0xB3)
|
||
{
|
||
uint32_t return_size = hal_dsi_rx_ctrl_get_max_ret_size(g_rx_ctrl_handle);
|
||
uint8_t cmd[] = {DSI_ACK_DT_DSC_LONG_RESPONSE,0x00,0x00,0x01,
|
||
0x21,0x50,0xAE,0xAA,0x95,0xE8,0xBD,0x2D,0x88,0x6C,0xC4,0x34,0x1C,0x67,0xC2,0xB2,
|
||
0xEE,0x55,0x55,0x40,0x72,0x66,0x97,0x42,0x3A,0x64,0x16,0x10,0x33,0xD1,0xD2,0xE7,
|
||
0x00,0x00,0x00,0xA3,0xB3,0xB7,0x3C,0x92,0x73,0x65,0x65,0x65,0x00,0x00,0x00};
|
||
|
||
cmd[1]=return_size&0xFF;
|
||
cmd[2]=(return_size>>8)&0xFF;
|
||
|
||
hal_dsi_rx_ctrl_ack_long_cmd(g_rx_ctrl_handle, return_size+4, cmd);
|
||
|
||
}
|
||
else if (dcs_cmd == 0x01)
|
||
{
|
||
ap_get_tp_calibration_status_01(g_rx_ctrl_handle,param);
|
||
}
|
||
else
|
||
{
|
||
uint32_t return_size = hal_dsi_rx_ctrl_get_max_ret_size(g_rx_ctrl_handle);
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_SHORT_RESPONSE_1B,
|
||
DSI_VC_0,
|
||
1, dcs_cmd);
|
||
TAU_LOGD("r[%x] [%d] err!!!!!!\n", dcs_cmd, return_size);
|
||
}
|
||
//TAU_LOGD("r %x\n",dcs_cmd);
|
||
return true;
|
||
|
||
|
||
#else
|
||
if (dcs_cmd == 0xA1)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
0x0A,0x01,0x0B,0x80,0x96,0x00,0x00,0x00,0x00,0x00,0x00);
|
||
}
|
||
else if (dcs_cmd == 0xA8)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
0x0A,0x00,0x00,0x00,0x01,0xF9,0x0B,0xAF,0x0C,0x51,0x96);
|
||
}
|
||
else if (dcs_cmd == 0xC8)
|
||
{
|
||
uint32_t return_size = hal_dsi_rx_ctrl_get_max_ret_size(g_rx_ctrl_handle);
|
||
if (return_size == 0x0A)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x99,0x79,0xD8,0x52,0x37,0x86,0x0C);
|
||
}
|
||
else if (return_size == 0x18)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x99,0x79,0xD8,0x52,0x37,0x86,0x0C,
|
||
0xF7,0x3A,0xAA,0x9B,0xD1,0x55,0x55,0x40,0x63,0x57,0x82,0x37,0x2F,0x54);
|
||
}
|
||
else if (return_size == 0x26)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x99,0x79,0xD8,0x52,0x37,0x86,0x0C,0xF7,0x3A,0xAA,
|
||
0x9B,0xD1,0x55,0x55,0x40,0x63,0x57,0x82,0x37,0x2F,0x54,0x0D,0x08,0x25,
|
||
0xD2,0xD9,0xE3,0x00,0x00,0x00,0xA8,0xC0,0xB7,0x5C,0xA2);
|
||
}
|
||
else if (return_size == 0x34)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x99,0x79,0xD8,0x52,0x37,0x86,0x0C,0xF7,0x3A,0xAA,0x9B,0xD1,0x55,
|
||
0x55,0x40,0x63,0x57,0x82,0x37,0x2F,0x54,0x0D,0x08,0x25,0xD2,0xD9,0xE3,0x00,0x00,
|
||
0x00,0xA8,0xC0,0xB7,0x5C,0xA2,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x52,0x92,0x5A);
|
||
}
|
||
else if (return_size == 0x42)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x99,0x79,0xD8,0x52,0x37,0x86,0x0C,0xF7,0x3A,0xAA,0x9B,0xD1,0x55,
|
||
0x55,0x40,0x63,0x57,0x82,0x37,0x2F,0x54,0x0D,0x08,0x25,0xD2,0xD9,0xE3,0x00,0x00,
|
||
0x00,0xA8,0xC0,0xB7,0x5C,0xA2,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x52,0x92,0x5A,0x52,0x92,0x0F,0xF9,0x3E,0xAD,0x9D,0xD5,0x55,0x55,0x40,0x65,
|
||
0x5A,0x86);
|
||
}
|
||
else if (return_size == 0x50)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x99,0x79,0xD8,0x52,0x37,0x86,0x0C,0xF7,0x3A,0xAA,0x9B,0xD1,0x55,
|
||
0x55,0x40,0x63,0x57,0x82,0x37,0x2F,0x54,0x0D,0x08,0x25,0xD2,0xD9,0xE3,0x00,0x00,
|
||
0x00,0xA8,0xC0,0xB7,0x5C,0xA2,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x52,0x92,0x5A,0x52,0x92,0x0F,0xF9,0x3E,0xAD,0x9D,0xD5,0x55,0x55,0x40,0x65,
|
||
0x5A,0x86,0x39,0x33,0x59,0x0F,0x0D,0x2A,0xD4,0xE4,0xEB,0x00,0x00,0x00,0xA7,0xD5);
|
||
}
|
||
else if (return_size == 0x5E)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x99,0x79,0xD8,0x52,0x37,0x86,0x0C,0xF7,0x3A,0xAA,0x9B,0xD1,0x55,
|
||
0x55,0x40,0x63,0x57,0x82,0x37,0x2F,0x54,0x0D,0x08,0x25,0xD2,0xD9,0xE3,0x00,0x00,
|
||
0x00,0xA8,0xC0,0xB7,0x5C,0xA2,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x52,0x92,0x5A,0x52,0x92,0x0F,0xF9,0x3E,0xAD,0x9D,0xD5,0x55,0x55,0x40,0x65,
|
||
0x5A,0x86,0x39,0x33,0x59,0x0F,0x0D,0x2A,0xD4,0xE4,0xEB,0x00,0x00,0x00,0xA7,0xD5,
|
||
0xC2,0x6F,0xC0,0x92,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,0x5A);
|
||
}
|
||
else if (return_size == 0x6C)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x99,0x79,0xD8,0x52,0x37,0x86,0x0C,0xF7,0x3A,0xAA,0x9B,0xD1,0x55,
|
||
0x55,0x40,0x63,0x57,0x82,0x37,0x2F,0x54,0x0D,0x08,0x25,0xD2,0xD9,0xE3,0x00,0x00,
|
||
0x00,0xA8,0xC0,0xB7,0x5C,0xA2,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x52,0x92,0x5A,0x52,0x92,0x0F,0xF9,0x3E,0xAD,0x9D,0xD5,0x55,0x55,0x40,0x65,
|
||
0x5A,0x86,0x39,0x33,0x59,0x0F,0x0D,0x2A,0xD4,0xE4,0xEB,0x00,0x00,0x00,0xA7,0xD5,
|
||
0xC2,0x6F,0xC0,0x92,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,0x5A,0x52,0x92,
|
||
0x5A,0x52,0x92,0x0E,0xF8,0x3D,0xAD,0x9E,0xD6,0x55,0x55,0x40);
|
||
}
|
||
else if (return_size == 0x7A)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x99,0x79,0xD8,0x52,0x37,0x86,0x0C,0xF7,0x3A,0xAA,0x9B,0xD1,0x55,
|
||
0x55,0x40,0x63,0x57,0x82,0x37,0x2F,0x54,0x0D,0x08,0x25,0xD2,0xD9,0xE3,0x00,0x00,
|
||
0x00,0xA8,0xC0,0xB7,0x5C,0xA2,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x52,0x92,0x5A,0x52,0x92,0x0F,0xF9,0x3E,0xAD,0x9D,0xD5,0x55,0x55,0x40,0x65,
|
||
0x5A,0x86,0x39,0x33,0x59,0x0F,0x0D,0x2A,0xD4,0xE4,0xEB,0x00,0x00,0x00,0xA7,0xD5,
|
||
0xC2,0x6F,0xC0,0x92,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,0x5A,0x52,0x92,
|
||
0x5A,0x52,0x92,0x0E,0xF8,0x3D,0xAD,0x9E,0xD6,0x55,0x55,0x40,0x65,0x5C,0x87,0x3A,
|
||
0x38,0x5B,0x11,0x16,0x2F,0xD5,0xF3,0xF2,0x00,0x00);
|
||
}
|
||
else if (return_size == 0x87)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x99,0x79,0xD8,0x52,0x37,0x86,0x0C,0xF7,0x3A,0xAA,0x9B,0xD1,0x55,
|
||
0x55,0x40,0x63,0x57,0x82,0x37,0x2F,0x54,0x0D,0x08,0x25,0xD2,0xD9,0xE3,0x00,0x00,
|
||
0x00,0xA8,0xC0,0xB7,0x5C,0xA2,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x52,0x92,0x5A,0x52,0x92,0x0F,0xF9,0x3E,0xAD,0x9D,0xD5,0x55,0x55,0x40,0x65,
|
||
0x5A,0x86,0x39,0x33,0x59,0x0F,0x0D,0x2A,0xD4,0xE4,0xEB,0x00,0x00,0x00,0xA7,0xD5,
|
||
0xC2,0x6F,0xC0,0x92,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,0x5A,0x52,0x92,
|
||
0x5A,0x52,0x92,0x0E,0xF8,0x3D,0xAD,0x9E,0xD6,0x55,0x55,0x40,0x65,0x5C,0x87,0x3A,
|
||
0x38,0x5B,0x11,0x16,0x2F,0xD5,0xF3,0xF2,0x00,0x00,0x00,0xAB,0xE8,0xD1,0x85,0xDD,
|
||
0xA9,0x6B,0x6B,0x6B,0x00,0x00,0x00);
|
||
}
|
||
else
|
||
{
|
||
TAU_LOGD("r[%x] [%d] err\n", dcs_cmd, return_size);
|
||
}
|
||
}
|
||
else if (dcs_cmd == 0xC9)
|
||
{
|
||
#if 1
|
||
uint32_t return_size = hal_dsi_rx_ctrl_get_max_ret_size(g_rx_ctrl_handle);
|
||
|
||
if (return_size == 0x96)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x5A,0x52,0x92,0x5A,0x52,0x92,0x0B,0xF6,0x3B,0xAB,0x9D,0xD5,0x55,
|
||
0x55,0x40,0x64,0x5E,0x87,0x37,0x3B,0x5B,0x0E,0x1C,0x30,0xD1,0xFE,0xF4,0x00,0x00,
|
||
0x00,0xAE,0xF6,0xDC,0x95,0xEB,0xB5,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x52,0x92,0x5A,0x52,0x92,0x07,0xF2,0x37,0xA8,0x9C,0xD2,0x55,0x55,0x44,0x61,
|
||
0x5E,0x86,0x36,0x3E,0x5B,0x0D,0x21,0x32,0xD1,0x08,0xFB,0x10,0x00,0x00,0xB5,0x02,
|
||
0xE6,0x9C,0xF9,0xC6,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,0x5A,0x52,0x92,
|
||
0x5A,0x52,0x92,0x08,0xF4,0x39,0xAA,0xA2,0xD6,0x55,0x55,0x45,0x64,0x68,0x8C,0x3B,
|
||
0x4D,0x62,0x12,0x37,0x3D,0xDB,0x24,0x0D,0x10,0x40,0x00,0xBF,0x1F,0xFC,0xA6,0x0E,
|
||
0xEA,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA5,0x95,0x5A,0x52,0x92,0x5A,0x52,0x92,
|
||
0xE4,0xD5,0x14,0x90,0x90,0xBC);
|
||
}
|
||
else
|
||
{
|
||
uint8_t cmd[] = {DSI_ACK_DT_DSC_LONG_RESPONSE,0x00,0x00,0x01,
|
||
0xAA,0xA9,0x95,0x5A,0x52,0x92,0x5A,0x52,0x92,0x0B,0xF6,0x3B,0xAB,0x9D,0xD5,0x55,
|
||
0x55,0x40,0x64,0x5E,0x87,0x37,0x3B,0x5B,0x0E,0x1C,0x30,0xD1,0xFE,0xF4,0x00,0x00,
|
||
0x00,0xAE,0xF6,0xDC,0x95,0xEB,0xB5,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x52,0x92,0x5A,0x52,0x92,0x07,0xF2,0x37,0xA8,0x9C,0xD2,0x55,0x55,0x44,0x61,
|
||
0x5E,0x86,0x36,0x3E,0x5B,0x0D,0x21,0x32,0xD1,0x08,0xFB,0x10,0x00,0x00,0xB5,0x02,
|
||
0xE6,0x9C,0xF9,0xC6,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,0x5A,0x52,0x92,
|
||
0x5A,0x52,0x92,0x08,0xF4,0x39,0xAA,0xA2,0xD6,0x55,0x55,0x45,0x64,0x68,0x8C,0x3B,
|
||
0x4D,0x62,0x12,0x37,0x3D,0xDB,0x24,0x0D,0x10,0x40,0x00,0xBF,0x1F,0xFC,0xA6,0x0E,
|
||
0xEA,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA5,0x95,0x5A,0x52,0x92,0x5A,0x52,0x92,
|
||
0xE4,0xD5,0x14,0x90,0x90,0xBC,0x55,0x55,0x45,0x51,0x65,0x7B,0x2C,0x50,0x59,0x07,
|
||
0x42,0x39,0xDB,0x37,0x18,0x14,0x40,0x00,0xC2,0x32,0x09,0xAB,0x22,0xF7,0x6B,0x6B,
|
||
0x6B,0x00,0x00,0x00};
|
||
|
||
cmd[1]=return_size&0xFF;
|
||
cmd[2]=(return_size>>8)&0xFF;
|
||
|
||
hal_dsi_rx_ctrl_ack_long_cmd(g_rx_ctrl_handle, return_size+4, cmd);
|
||
}
|
||
|
||
#else
|
||
uint32_t return_size = hal_dsi_rx_ctrl_get_max_ret_size(g_rx_ctrl_handle);
|
||
if (return_size <= 0xB4)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0xAA,0xA9,0x95,0x5A,0x52,0x92,0x5A,0x52,0x92,0x0B,0xF6,0x3B,0xAB,0x9D,0xD5,0x55,
|
||
0x55,0x40,0x64,0x5E,0x87,0x37,0x3B,0x5B,0x0E,0x1C,0x30,0xD1,0xFE,0xF4,0x00,0x00,
|
||
0x00,0xAE,0xF6,0xDC,0x95,0xEB,0xB5,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,
|
||
0x5A,0x52,0x92,0x5A,0x52,0x92,0x07,0xF2,0x37,0xA8,0x9C,0xD2,0x55,0x55,0x44,0x61,
|
||
0x5E,0x86,0x36,0x3E,0x5B,0x0D,0x21,0x32,0xD1,0x08,0xFB,0x10,0x00,0x00,0xB5,0x02,
|
||
0xE6,0x9C,0xF9,0xC6,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA9,0x95,0x5A,0x52,0x92,
|
||
0x5A,0x52,0x92,0x08,0xF4,0x39,0xAA,0xA2,0xD6,0x55,0x55,0x45,0x64,0x68,0x8C,0x3B,
|
||
0x4D,0x62,0x12,0x37,0x3D,0xDB,0x24,0x0D,0x10,0x40,0x00,0xBF,0x1F,0xFC,0xA6,0x0E,
|
||
0xEA,0x6B,0x6B,0x6B,0x00,0x00,0x00,0xAA,0xA5,0x95,0x5A,0x52,0x92,0x5A,0x52,0x92,
|
||
0xE4,0xD5,0x14,0x90,0x90,0xBC,0x55,0x55,0x45,0x51,0x65,0x7B,0x2C,0x50,0x59,0x07,
|
||
0x42,0x39,0xDB,0x37,0x18,0x14,0x40,0x00,0xC2,0x32,0x09,0xAB,0x22,0xF7,0x6B,0x6B,
|
||
0x6B,0x00,0x00,0x00);
|
||
}
|
||
else
|
||
{
|
||
TAU_LOGD("r[%x] [%d] err\n", dcs_cmd, return_size);
|
||
}
|
||
#endif
|
||
}
|
||
else if (dcs_cmd == 0xB3)
|
||
{
|
||
uint32_t return_size = hal_dsi_rx_ctrl_get_max_ret_size(g_rx_ctrl_handle);
|
||
if (return_size <= 0x2F)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
return_size,
|
||
0x21,0x50,0xAE,0xAA,0x95,0xE8,0xBC,0x2C,0x88,0x69,0xC3,0x36,0x1B,0x66,0xC5,0xB4,
|
||
0xEF,0x55,0x55,0x40,0x77,0x69,0x9A,0x48,0x3E,0x68,0x1C,0x13,0x37,0xDA,0xD9,0xED,
|
||
0x00,0x00,0x00,0xAB,0xB9,0xBB,0x47,0x9A,0x78,0x6B,0x6B,0x6B,0x00,0x00,0x00);
|
||
}
|
||
else
|
||
{
|
||
TAU_LOGD("r[%x] [%d] err\n", dcs_cmd, return_size);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
uint32_t return_size = hal_dsi_rx_ctrl_get_max_ret_size(g_rx_ctrl_handle);
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_SHORT_RESPONSE_1B,
|
||
DSI_VC_0,
|
||
1, dcs_cmd);
|
||
TAU_LOGD("r[%x] [%d] err!!!!!!\n", dcs_cmd, return_size);
|
||
}
|
||
//TAU_LOGD("r %x\n",dcs_cmd);
|
||
return true;
|
||
#endif
|
||
|
||
|
||
#endif // USE_FOR_MI10_PRO
|
||
|
||
#if 0// MI10
|
||
if (dcs_cmd == 0xA1)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_SHORT_RESPONSE_2B,
|
||
DSI_VC_0,
|
||
2, 0x00,0x40);
|
||
}
|
||
else if (dcs_cmd == 0xA2)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_SHORT_RESPONSE_2B,
|
||
DSI_VC_0,
|
||
2, 0x00,0x40);
|
||
}
|
||
else if (dcs_cmd == 0xA3)
|
||
{
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_LONG_RESPONSE,
|
||
DSI_VC_0,
|
||
8, 0x01,0xF4,0x03,0x00,0x00,0x03,0x01,0x04);
|
||
}
|
||
else
|
||
{
|
||
uint32_t return_size = hal_dsi_rx_ctrl_get_max_ret_size(g_rx_ctrl_handle);
|
||
hal_dsi_rx_ctrl_send_ack_cmd(g_rx_ctrl_handle,
|
||
DSI_ACK_DT_DSC_SHORT_RESPONSE_1B,
|
||
DSI_VC_0,
|
||
1, dcs_cmd);
|
||
TAU_LOGD("r[%x] [%d] err!!!!!!\n", dcs_cmd, return_size);
|
||
}
|
||
//TAU_LOGD("r %x\n",dcs_cmd);
|
||
return true;
|
||
#endif // USE_FOR_MI10
|
||
|
||
}
|
||
|
||
|
||
/* PPS update callback 用于分辨率切换case */
|
||
static bool pps_update_handle(uint8_t *pps, uint8_t size, uint32_t pic_width, uint32_t pic_height)
|
||
{
|
||
#if 1
|
||
/* AVDD 上电, 用于解决息屏开屏PPS不更新问题 */
|
||
//hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle);
|
||
if (pic_width != g_rx_ctrl_handle->base_info.src_w || pic_height != g_rx_ctrl_handle->base_info.src_h)
|
||
{
|
||
/* PPS Update 且分辨率发生变化 */
|
||
g_rx_ctrl_handle->base_info.src_w = pic_width;
|
||
g_rx_ctrl_handle->base_info.src_h = pic_height;
|
||
/* 注意部分基板更新PPS前不发 Compression Mode Command的情况 */
|
||
g_rx_ctrl_handle->compress_en = true;
|
||
if(pic_width > 720)
|
||
{
|
||
g_tx_ctrl_handle->base_info.src_w = pic_width;
|
||
g_tx_ctrl_handle->base_info.src_h = pic_height;
|
||
}
|
||
hal_dsi_rx_ctrl_toggle_resolution(g_rx_ctrl_handle);
|
||
}
|
||
// hal_dsi_rx_ctrl_set_hw_tear_mode(g_rx_ctrl_handle);
|
||
// hal_dsi_rx_ctrl_set_te_waveform(g_rx_ctrl_handle,0,178);
|
||
TAU_LOGD("PPS Update");
|
||
return true;
|
||
#endif
|
||
}
|
||
|
||
static bool ap_set_display_on(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
TAU_LOGD("disp on");
|
||
// hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH);
|
||
|
||
// tx_display_on();
|
||
//hal_dsi_tx_ctrl_write_cmd(0x05, 0, 2, 0x29);
|
||
return true;
|
||
}
|
||
|
||
static bool ap_set_display_off(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
TAU_LOGD("disp off");
|
||
hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x28);
|
||
|
||
finger_calibration_init();
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x51, 0x00, 0x00);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x05, 0, 2, 0x28);
|
||
// hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_LOW);
|
||
return true;
|
||
}
|
||
|
||
static bool ap_set_enter_sleep_mode(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x51, 0x00, 0x00);
|
||
hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle);
|
||
delayMs(10);
|
||
Gpio_swire_output(0, 0);
|
||
hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x10);
|
||
delayMs(30); //20 20230722 之前是没有这个延时的
|
||
hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_LOW);
|
||
|
||
hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_LOW);//屏端Reaet
|
||
|
||
TAU_LOGD("enter sleep mode");
|
||
#if ENABLE_TP_WAKE_UP
|
||
g_need_enter_sleep_mode = true;
|
||
#endif
|
||
g_exit_sleep_mode = false;
|
||
|
||
return true;
|
||
}
|
||
|
||
static bool ap_set_exit_sleep_mode(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
TAU_LOGD("exit sleep mode");
|
||
//start_display_on = true;
|
||
g_exit_sleep_mode = true;
|
||
|
||
|
||
/* AVDD 上电, 用于解决息屏开屏PPS不更新问题 */
|
||
// hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH);
|
||
//soft_te_timer_init();
|
||
// hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle);
|
||
//hal_dsi_tx_ctrl_write_cmd(0x05, 0, 2, 0x11);
|
||
return true;
|
||
}
|
||
|
||
|
||
/* 调整背光B1回调 g_cus_rx_dcs_execute_table 里配置为异步执行,CA同理*/
|
||
|
||
uint16_t value_reg_b1 =0;
|
||
uint16_t value_reg_ca =0;
|
||
//static uint32_t value_reg_b5 =0;
|
||
static uint32_t value_reg_df =0;
|
||
static uint8_t value_blue =0;
|
||
static uint8_t blue_flag =0;
|
||
#if 1 //护眼设置
|
||
#define BLUE_MAX 0xF0 //蓝光最大值
|
||
#define BLUE_MIN 0x86 //蓝光最小值
|
||
#define BLUE_STEP 10 //蓝光等级数-1
|
||
#endif
|
||
|
||
#if 1//def USE_FOR_SUMSUNG_S20
|
||
static uint32_t s20_power_on_flag =0; // >0: 为开机标记。延时开背光
|
||
uint16_t value_reg_ca_bak =0;
|
||
uint16_t value_reg_b1_bak =0;
|
||
//#define USE_BL_ADJ6 //之前S20调光方式
|
||
#define USE_BL_ADJ7 //改过后S20调光方式
|
||
#endif
|
||
|
||
#if 1 //
|
||
static bool ap_set_backlight(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
/* AP 缓慢调光 0xC 最亮, 0xb8d 最暗, 快速拉动时会跳会0xC,调光平滑度需要进一步优化 */
|
||
uint8_t temp_u8;
|
||
|
||
value_reg_b1 = (dcs_packet->packet_param[0] << 8) + dcs_packet->packet_param[1];
|
||
// printf("CA[%4x],B1[%4x] \n", value_reg_ca, value_reg_b1);
|
||
|
||
#ifdef USE_BL_ADJ7
|
||
if (value_reg_b1 &0x8000)
|
||
{
|
||
//设置为60Hz
|
||
if(value_reg_ca >0x15FC)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM;
|
||
}
|
||
else if(value_reg_ca >0x15ED)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+1;
|
||
}
|
||
else if(value_reg_ca >0x15DD)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+2;
|
||
}
|
||
else if(value_reg_ca >0x15CC)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+3;
|
||
}
|
||
else if(value_reg_ca >0x15BE)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+4;
|
||
}
|
||
else if(value_reg_ca >0x15AC)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+5;
|
||
}
|
||
else if(value_reg_ca >0x159A)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+6;
|
||
}
|
||
else if(value_reg_ca >0x155E)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+7;
|
||
}
|
||
else
|
||
{
|
||
if(value_reg_b1_bak <0x500)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+8;
|
||
}
|
||
else if(value_reg_b1_bak <0x900)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+9;
|
||
}
|
||
else if(value_reg_b1_bak <0xAE0)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+10;
|
||
}
|
||
else if(value_reg_b1_bak <0xBE8)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+11;
|
||
}
|
||
else if(value_reg_b1_bak <0xC38)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+12;
|
||
}
|
||
else
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+13;
|
||
}
|
||
}
|
||
}
|
||
else if (value_reg_b1 &0x4000)
|
||
{
|
||
//设置为120Hz
|
||
if(value_reg_ca >0x15AC)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM;
|
||
}
|
||
else if(value_reg_ca >0x159A)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+1;
|
||
}
|
||
else if(value_reg_ca >0x158B)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+2;
|
||
}
|
||
else if(value_reg_ca >0x157B)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+3;
|
||
}
|
||
else if(value_reg_ca >0x156A)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+4;
|
||
}
|
||
else if(value_reg_ca >0x1559)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+5;
|
||
}
|
||
else if(value_reg_ca >0x1547)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+6;
|
||
}
|
||
else if(value_reg_ca >0x1510)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+7;
|
||
}
|
||
else
|
||
{
|
||
if(value_reg_b1_bak <0x500)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+8;
|
||
}
|
||
else if(value_reg_b1_bak <0x900)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+9;
|
||
}
|
||
else if(value_reg_b1_bak <0xAE0)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+10;
|
||
}
|
||
else if(value_reg_b1_bak <0xBE8)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+11;
|
||
}
|
||
else if(value_reg_b1_bak <0xC38)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+12;
|
||
}
|
||
else
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+13;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
value_reg_b1_bak = value_reg_b1;
|
||
if ((value_reg_ca ==0x2A00) &&(value_reg_b1 >0x500))
|
||
s20_power_on_flag =1;
|
||
else
|
||
s20_power_on_flag =0;
|
||
}
|
||
#if 1
|
||
if (swire_num !=swire_num_bak)
|
||
{
|
||
swire_num_bak = swire_num;
|
||
// printf("CA[%4x],B1[%4x]. swire_num[%d]\n", value_reg_ca, value_reg_b1,swire_num);
|
||
|
||
}
|
||
#endif
|
||
#endif // // USE_BL_ADJ4
|
||
|
||
#ifdef USE_BL_ADJ6
|
||
if ( (value_reg_b1 &0xC000) || ((value_reg_b1_bak == value_reg_b1)&&(value_reg_ca_bak == value_reg_ca)))
|
||
{
|
||
return true;
|
||
}
|
||
value_reg_b1_bak = value_reg_b1;
|
||
value_reg_ca_bak = value_reg_ca;
|
||
|
||
if(value_reg_ca >0x15FC)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM;
|
||
}
|
||
else if(value_reg_ca >0x15EC)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+1;
|
||
}
|
||
else if(value_reg_ca >0x15EC)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+2;
|
||
}
|
||
else if(value_reg_ca >0x15DD)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+3;
|
||
}
|
||
else if(value_reg_ca >0x15CC)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+4;
|
||
}
|
||
else if(value_reg_ca >0x15BE)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+5;
|
||
}
|
||
else if(value_reg_ca >0x15AC)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+7;
|
||
}
|
||
else if(value_reg_ca >0x159A)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+8;
|
||
}
|
||
else if(value_reg_ca >0x155E)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+9;
|
||
}
|
||
else
|
||
{
|
||
if(value_reg_b1 <0x500)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+10;
|
||
}
|
||
else if(value_reg_b1 <0x900)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+11;
|
||
}
|
||
else if(value_reg_b1 <0xAE0)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+12;
|
||
}
|
||
else if(value_reg_b1 <0xBE8)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+13;
|
||
}
|
||
else if(value_reg_b1 <0xC38)
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+14;
|
||
}
|
||
else
|
||
{
|
||
swire_num = SWIRE_MAX_NUM+15;
|
||
}
|
||
}
|
||
// printf("CA[%4x],B1[%4x]. swire_num[%d]\n", value_reg_ca, value_reg_b1,swire_num);
|
||
#endif // // USE_BL_ADJ4
|
||
|
||
return true;
|
||
}
|
||
#endif
|
||
|
||
static bool ap_get_reg_ca(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
value_reg_ca = (dcs_packet->packet_param[0] << 8) + dcs_packet->packet_param[1];
|
||
//TAU_LOGD("CA[%x]", value_reg_ca);
|
||
|
||
return true;
|
||
}
|
||
|
||
#if 0
|
||
static bool ap_get_reg_b5(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
value_reg_b5 = (dcs_packet->packet_param[3] << 8) + dcs_packet->packet_param[2];
|
||
TAU_LOGD("CA[%4x],B1[%4x],B5[%4x]", value_reg_ca,value_reg_b1,value_reg_b5);
|
||
|
||
return true;
|
||
}
|
||
#endif
|
||
|
||
#ifdef ADD_PANEL_DISPLAY_MODE
|
||
uint8_t panel_mode =1; // DF寄存器第1个参数。00:护眼开,01:护眼关,11:其它3种(影院/照片/基本.目前没区分)
|
||
uint16_t panel_r,panel_g,panel_b; // 记录RGB参数值
|
||
|
||
#ifdef USE_FOR_SUMSUNG_S9PLUS
|
||
#define RATIO_VALUE 2 //优化系数
|
||
#else
|
||
#define RATIO_VALUE 2 //优化系数
|
||
#endif
|
||
|
||
#endif
|
||
|
||
static bool ap_get_reg_df(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
#ifdef ADD_PANEL_DISPLAY_MODE
|
||
value_reg_df = (dcs_packet->packet_param[35] << 8) + dcs_packet->packet_param[33];
|
||
panel_mode = dcs_packet->packet_param[0];
|
||
panel_r =dcs_packet->packet_param[49];
|
||
panel_g =dcs_packet->packet_param[51];
|
||
panel_b =dcs_packet->packet_param[53];
|
||
// TAU_LOGD("value_reg_df[%4x],panel_mode[%4x],panel_r[%4x],panel_g[%4x],panel_b[%4x]", value_reg_df,panel_mode,panel_r,panel_g,panel_b);
|
||
|
||
if (panel_mode ==00)
|
||
{
|
||
//护眼模式
|
||
|
||
#ifdef USE_FOR_S10_BLUE_MODE
|
||
//panel_r =256-RATIO_VALUE*(0xFF-panel_r);
|
||
//panel_g =256-RATIO_VALUE*(0xFF-panel_g);
|
||
//panel_b =256-RATIO_VALUE*(0xFF-panel_b);
|
||
hal_dsi_rx_ctrl_set_cus_pq_gain(g_rx_ctrl_handle,panel_r,panel_g,panel_b);
|
||
|
||
|
||
#else
|
||
|
||
value_reg_df =value_reg_df&0xFF;
|
||
switch(value_reg_df)
|
||
{
|
||
case 0xC1:
|
||
case 0xC3:
|
||
value_blue = BLUE_MIN;
|
||
break;
|
||
|
||
case 0xCF:
|
||
case 0xD0:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xD8:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*2/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xDE:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*3/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xE4:
|
||
case 0xE5:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*4/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xE9:
|
||
case 0xEA:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*5/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xED:
|
||
case 0xEE:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*6/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xF1:
|
||
case 0xF2:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*7/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xF4:
|
||
case 0xF5:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*8/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xF7:
|
||
case 0xF8:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*9/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xFA:
|
||
value_blue = BLUE_MAX;
|
||
break;
|
||
|
||
default:
|
||
case 0xFF:
|
||
value_blue = 0;
|
||
break;
|
||
|
||
}
|
||
hal_dsi_rx_ctrl_set_cus_pq_gain(g_rx_ctrl_handle,256,256,256);
|
||
hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0x84, value_blue);
|
||
|
||
#endif
|
||
|
||
}
|
||
else
|
||
{
|
||
#ifndef USE_FOR_S10_BLUE_MODE
|
||
value_blue =0;
|
||
hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0x84, value_blue); //护眼模式关s8+/s9+
|
||
#endif
|
||
|
||
//做一下运算,让效果更加明显。这个估计要根据客户要求细调
|
||
|
||
panel_r =256-RATIO_VALUE*(0xFF-panel_r);
|
||
panel_g =256-RATIO_VALUE*(0xFF-panel_g);
|
||
panel_b =256-RATIO_VALUE*(0xFF-panel_b);
|
||
hal_dsi_rx_ctrl_set_cus_pq_gain(g_rx_ctrl_handle,panel_r,panel_g,panel_b);
|
||
}
|
||
|
||
#ifndef USE_FOR_S10_BLUE_MODE
|
||
if (blue_flag==0)
|
||
{
|
||
blue_flag =1;
|
||
delayMs(20);
|
||
hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0x84, value_blue);
|
||
}
|
||
#endif
|
||
|
||
#else
|
||
value_reg_df = (dcs_packet->packet_param[35] << 8) + dcs_packet->packet_param[33];
|
||
|
||
value_reg_df =value_reg_df&0xFF;
|
||
switch(value_reg_df)
|
||
{
|
||
case 0xC1:
|
||
case 0xC3:
|
||
value_blue = BLUE_MIN;
|
||
break;
|
||
|
||
case 0xCF:
|
||
case 0xD0:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xD8:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*2/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xDE:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*3/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xE4:
|
||
case 0xE5:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*4/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xE9:
|
||
case 0xEA:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*5/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xED:
|
||
case 0xEE:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*6/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xF1:
|
||
case 0xF2:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*7/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xF4:
|
||
case 0xF5:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*8/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xF7:
|
||
case 0xF8:
|
||
value_blue = BLUE_MIN+(BLUE_MAX-BLUE_MIN)*9/BLUE_STEP;
|
||
break;
|
||
|
||
case 0xFA:
|
||
value_blue = BLUE_MAX;
|
||
break;
|
||
|
||
default:
|
||
case 0xFF:
|
||
value_blue = 0;
|
||
break;
|
||
|
||
}
|
||
|
||
TAU_LOGD("df[%4x]", value_reg_df);
|
||
hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0x84, value_blue);
|
||
if (blue_flag==0)
|
||
{
|
||
blue_flag =1;
|
||
delayMs(20);
|
||
hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0x84, value_blue);
|
||
}
|
||
#endif
|
||
|
||
return true;
|
||
}
|
||
|
||
volatile static uint8_t s_finger_flag = 0;
|
||
|
||
#ifdef USE_51_REG_ADJ_BL
|
||
static uint32_t value_reg_51 =0;
|
||
static uint32_t lastvalue_reg_51 =0;
|
||
static uint8_t value_reg_67 = 0;
|
||
|
||
static bool ap_get_67_reg(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
uint32_t reg67_value =0;
|
||
uint8_t reg51_l=0,reg51_h=0;
|
||
|
||
value_reg_67 = dcs_packet->packet_param[0];
|
||
reg67_value = value_reg_67;
|
||
// TAU_LOGD("RD67=0x[%0.4X].", reg67_value);
|
||
|
||
if(dcs_packet->param_length > 2) // 数据大于2个字节才是调节
|
||
{
|
||
if(g_reg51_value_1b8_flag)
|
||
{
|
||
g_reg51_value_1b8_flag = false;
|
||
// 调光值转换 1F~FF 转换为 32(50) ~ 1B8(440)
|
||
reg67_value = reg67_value+1;
|
||
reg67_value = ((reg67_value-0x1F)*175)/112;
|
||
// reg67_value = (reg67_value*156)/100;
|
||
// TAU_LOGD("67[%x]", reg67_value);
|
||
|
||
reg67_value = reg67_value + 0x09;
|
||
|
||
reg51_h = (reg67_value>>8)&0xFF;
|
||
reg51_l = reg67_value&0xFF;
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x51, reg51_h, reg51_l);
|
||
// TAU_LOGD("51=0x[%0.2X %0.2X].", reg51_h,reg51_l);
|
||
}
|
||
}
|
||
|
||
// TAU_LOGD("67[%x][%x]", reg67_value,dcs_packet->param_length);
|
||
|
||
return true;
|
||
}
|
||
|
||
#if 1
|
||
static bool ap_get_51_reg(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
uint8_t level=0;
|
||
uint8_t reg51_l=0,reg51_h=0;
|
||
|
||
value_reg_51 = (dcs_packet->packet_param[0] << 8) + dcs_packet->packet_param[1];
|
||
// TAU_LOGD("RD51=0x[%0.4X]!", value_reg_51);
|
||
|
||
#if 1
|
||
if(value_reg_51 == 0x1B8) //部分机型1B8之后,不调整
|
||
{
|
||
if(g_reg51_value_1b8_flag == false)
|
||
{
|
||
g_reg51_value_1b8_flag = true;
|
||
}
|
||
value_reg_51 = value_reg_51; // + 0xD6;
|
||
}
|
||
else
|
||
{
|
||
g_reg51_value_1b8_flag = false;
|
||
if(value_reg_51 == 0xdff)
|
||
{
|
||
}
|
||
else if(value_reg_51 == 0 ) // 调光值为零不做处理
|
||
{
|
||
//value_reg_51 = 0;
|
||
value_reg_51 = 0x02A;
|
||
}
|
||
else
|
||
{
|
||
if(value_reg_51 == 0x4B4 || value_reg_51 == 0x15D || value_reg_51 == 0x636)
|
||
{
|
||
// value_reg_51 = value_reg_51 - 20;
|
||
}
|
||
else
|
||
{
|
||
value_reg_51 = value_reg_51; // + 0xD6; // C6
|
||
if(value_reg_51>0x7FF) value_reg_51 = 0x7FF;
|
||
}
|
||
}
|
||
#endif
|
||
|
||
// value_reg_51 = 0xFF;
|
||
|
||
reg51_h = (value_reg_51>>8)&0xFF;
|
||
reg51_l = value_reg_51&0xFF;
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x51, reg51_h, reg51_l);
|
||
|
||
//TAU_LOGD("51=0x[%0.2X %0.2X]!", reg51_h,reg51_l);
|
||
}
|
||
return true;
|
||
}
|
||
|
||
#else
|
||
static bool ap_get_51_reg(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
uint8_t level=0;
|
||
uint8_t reg51_l,reg51_h;
|
||
|
||
value_reg_51 = (dcs_packet->packet_param[0] << 8) + dcs_packet->packet_param[1];
|
||
// TAU_LOGD("51[%x]", value_reg_51);
|
||
// LOG_printf("\r\n");
|
||
#if 0 //如果51值处理的话,指纹校准不通过,
|
||
value_reg_51 = (value_reg_51*0xF50) /REG51_MAX_VALUE+0xAF;
|
||
#else
|
||
reg51_h = (value_reg_51>>8)&0xFF;
|
||
reg51_l = value_reg_51&0xFF;
|
||
#endif
|
||
#if 1
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x51, reg51_h, reg51_l);
|
||
|
||
#else
|
||
if (value_reg_51 >REG51_MAX_VALUE)
|
||
value_reg_51 = REG51_MAX_VALUE;
|
||
if (value_reg_51 <REG51_MIN_VALUE)
|
||
{
|
||
swire_num = SWIRE_MAX_VALUE+SWIRE_STEP_VALUE;
|
||
}
|
||
else
|
||
{
|
||
level = (REG51_MAX_VALUE-value_reg_51)*SWIRE_STEP_VALUE/REG51_MAX_VALUE;
|
||
swire_num = SWIRE_MAX_VALUE+level;
|
||
}
|
||
#endif
|
||
|
||
return true;
|
||
}
|
||
#endif
|
||
#endif
|
||
|
||
static bool ap_get_finger_flag(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
uint8_t value_dcs =0;
|
||
value_dcs = dcs_packet->packet_param[3]; ////8E= 进入 8F 退出
|
||
if(value_dcs == 0x8E)
|
||
{
|
||
s_finger_flag = 1;
|
||
}
|
||
else
|
||
{
|
||
s_finger_flag = 0;
|
||
}
|
||
|
||
TAU_LOGD("finger[%2x][%2x][%2x][%2x]", s_finger_flag,dcs_packet->packet_param[2],dcs_packet->packet_param[3],dcs_packet->packet_param[4] );
|
||
|
||
return true;
|
||
}
|
||
|
||
volatile static uint8_t flag_te =1;
|
||
|
||
static bool set_soft_tear_mode(void)
|
||
{
|
||
if(flag_te == 1){
|
||
hal_dsi_rx_ctrl_set_tear_mode_ex(g_rx_ctrl_handle, 2000, TE_SOFT_90HZ_MODE);
|
||
}else{
|
||
hal_dsi_rx_ctrl_set_tear_mode_ex(g_rx_ctrl_handle, 1800, TE_HW_MODE);
|
||
}
|
||
return true;
|
||
}
|
||
static bool ap_get_dcs(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
|
||
{
|
||
uint16_t value_dcs_te =0;
|
||
uint8_t get_te;
|
||
|
||
value_dcs_te = dcs_packet->packet_param[0]; ////80=90hz 00=60hz
|
||
#if 1
|
||
if(value_dcs_te&0x10)
|
||
{
|
||
get_te = 1;
|
||
}
|
||
else
|
||
{
|
||
get_te = 0;
|
||
}
|
||
if (get_te != flag_te)
|
||
{
|
||
flag_te = get_te;
|
||
set_soft_tear_mode();
|
||
//TAU_LOGD("TE[%4x] %d %d \n", flag_te,panel_display_done,value_dcs_te);
|
||
}
|
||
#else
|
||
switch(value_dcs_te)
|
||
{
|
||
case 0x30:
|
||
|
||
if(flag_te == 0)
|
||
{
|
||
flag_te = 1;
|
||
set_soft_tear_mode();
|
||
}
|
||
|
||
break;
|
||
case 0x20:
|
||
if(flag_te == 1)
|
||
{
|
||
flag_te = 0;
|
||
set_soft_tear_mode();
|
||
}
|
||
break;
|
||
|
||
default:
|
||
break;
|
||
}
|
||
#endif
|
||
//value_dcs_te1 = dcs_packet->packet_param[1];
|
||
// TAU_LOGD("TE[%4x]", value_dcs_te );
|
||
|
||
// TAU_LOGD("TE[%4x] %d %d \n", flag_te,panel_display_done,value_dcs_te);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x29, 0, 2, 0x53, value_dcs_te); //这句不能要,否则待机唤醒后容易黑屏
|
||
|
||
return true;
|
||
}
|
||
|
||
/* 客制化DCS command 处理函数表格 */
|
||
static const hal_dcs_execute_entry_t g_cus_rx_dcs_execute_table[] =
|
||
{
|
||
{DCS_SET_DISPLAY_ON, ap_set_display_on, true},
|
||
{DCS_SET_DISPLAY_OFF, ap_set_display_off, true},
|
||
#ifdef USE_51_REG_ADJ_BL
|
||
{0x51, ap_get_51_reg, true},
|
||
{0x67, ap_get_67_reg, true},
|
||
#else
|
||
{0xDF, ap_get_reg_df, false}, //蓝光
|
||
{0xCA, ap_get_reg_ca, false}, // 背光。要加上B1才能调流畅
|
||
{0xB1, ap_set_backlight, false},
|
||
#endif
|
||
{DCS_ENTER_SLEEP_MODE, ap_set_enter_sleep_mode, true},
|
||
{DCS_EXIT_SLEEP_MODE, ap_set_exit_sleep_mode, true},
|
||
{0x53, ap_get_dcs, true},
|
||
// {0xC8, ap_get_finger_flag, true},
|
||
// {0x95, ap_get_finger_flag, true},
|
||
#ifdef ADD_TP_CALIBRATION
|
||
// TP calibration
|
||
{0x04, ap_set_tp_calibration_04, true},
|
||
#endif
|
||
{0, NULL, false} //{0,NULL,false} 数组最后一个固定成员,作为table结尾的判断标准
|
||
};
|
||
|
||
static void tx_panel_reset(void)
|
||
{
|
||
#ifdef USE_WL518_INTERNAL_FLASH
|
||
hal_system_share_flash_mode(true);
|
||
#endif
|
||
|
||
#if 0
|
||
hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_HIGH);
|
||
delayMs(10);
|
||
#else
|
||
TAU_LOGD("start pannel rst"); //debug
|
||
hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_HIGH);
|
||
delayMs(10); //10ms
|
||
hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_LOW);
|
||
delayMs(10); //10ms
|
||
hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_HIGH);
|
||
delayMs(10);
|
||
#endif
|
||
|
||
}
|
||
|
||
static void init_panel(void)
|
||
{
|
||
/* reset panel*/
|
||
// hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); //LED_ON
|
||
// soft_te_timer_init();
|
||
// delayMs(16);
|
||
// Gpio_LED_ON_output(1,3);
|
||
tx_panel_reset();
|
||
|
||
/* enter send initial code mode*/
|
||
hal_dsi_tx_ctrl_enter_init_panel_mode();
|
||
|
||
#if AMOLED_NT37800_HX667
|
||
TAU_LOGD("Panel NT37800");
|
||
#if 0//PANEL_INIT_CODE_ARRAY
|
||
send_panel_init_code(sizeof(panel_init_code), panel_init_code);
|
||
#endif
|
||
// delayMs(30);
|
||
// delayMs(30);
|
||
|
||
#if 0 //v3
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x07);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xC0,0x10);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x03);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xD4,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xC0,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB2,0x59,0x00,0x08,0x08);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCA,0x30);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xB5,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xC6,0x13);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 9, 0xB9,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 7, 0xD2,0x00,0x12,0x61,0x25,0x43,0x07);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 7, 0xB7,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB8,0x48,0x48,0x48,0x48);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xB3,0x13);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xB4,0x13);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xCD,0x05,0x61);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB3,0x88,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB5,0x04,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB7,0x04,0x00,0x00,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB8,0x04,0x00,0x00,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xFF,0xAA,0x55,0xA5,0x81);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0D);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xF3,0xAB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xFD,0x00,0xDA);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xFF,0xAA,0x55,0xA5,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xFC,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x36);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xF6,0x42);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x00,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x3B,0x00,0x0C,0x00,0x04);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x90,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0x93,0x89,0x28,0x00,0x0C,0x02,0x00,0x02,0x0E,0x00,0x00,0x01,0x1F,0x00,0x07,0x08,0xBB,0x08,0x7A,0x00,0x00,0x10,0xF0);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x03,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x2C,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x35,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x53,0x20);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x51,0x0D,0xBB,0x00,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x2A,0x00,0x00,0x04,0x37);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x2B,0x00,0x00,0x09,0x23);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x2F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x26,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB5,0x80,0x42);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB5,0x7F,0x2B,0x12,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 4, 0xB5,0x2B,0x12,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 37, 0xB3,0x00,0x08,0x00,0x18,0x00,0x18,0x00,0x31,0x00,0x31,0x00,0x62,0x00,0x62,0x00,0xC0,0x00,0xC0,0x01,0x46,0x01,0x46,0x01,0x47,0x01,0x47,0x03,0x33,0x03,0x33,0x07,0xFF,0x07,0xFF,0x0F,0xFF);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 11, 0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 11, 0xB4,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x14);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 10, 0xB4,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x13);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB2,0x00,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCC,0x30);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x09);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB7,0x00,0xCA,0x00,0xE6,0x00,0xF5,0x01,0x04,0x01,0x12,0x01,0x20,0x01,0x2E,0x01,0x3C,0x01,0x49,0x01,0x5C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x7F,0x01,0x9C,0x01,0xB5,0x01,0xCC,0x01,0xE0,0x02,0x06,0x02,0x28,0x02,0x48,0x02,0x66,0x02,0x83,0x02,0x9F,0x02,0xB6);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x02,0xC1,0x02,0xD0,0x02,0xDE,0x02,0xEB,0x02,0xFA,0x03,0x09,0x03,0x16,0x03,0x25,0x03,0x34,0x03,0x46,0x03,0x48);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xBE,0x00,0xC4,0x00,0xCB,0x00,0xD5,0x00,0xDF,0x00,0xE9,0x00,0xF3,0x00,0xFD,0x01,0x08,0x01,0x13,0x01,0x22);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x01,0x3F,0x01,0x57,0x01,0x6B,0x01,0x7F,0x01,0x90,0x01,0xB0,0x01,0xCC,0x01,0xE6,0x01,0xFE,0x02,0x15,0x02,0x2B,0x02,0x43);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x02,0x4E,0x02,0x59,0x02,0x63,0x02,0x6D,0x02,0x78,0x02,0x82,0x02,0x8D,0x02,0x98,0x02,0xA3,0x02,0xAD,0x02,0xAE);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC6,0x00,0xD6,0x00,0xEF,0x01,0x02,0x01,0x15,0x01,0x25,0x01,0x35,0x01,0x45,0x01,0x55,0x01,0x64,0x01,0x79);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0xA0,0x01,0xBE,0x01,0xD8,0x01,0xF1,0x02,0x06,0x02,0x2F,0x02,0x53,0x02,0x74,0x02,0x93,0x02,0xB1,0x02,0xCE,0x02,0xEB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0xF8,0x03,0x09,0x03,0x19,0x03,0x28,0x03,0x37,0x03,0x45,0x03,0x51,0x03,0x5F,0x03,0x6D,0x03,0x7E,0x03,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x08);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB7,0x00,0xC7,0x00,0xDD,0x00,0xEE,0x00,0xFC,0x01,0x08,0x01,0x15,0x01,0x21,0x01,0x2D,0x01,0x39,0x01,0x4F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x6E,0x01,0x8B,0x01,0xA3,0x01,0xB9,0x01,0xCC,0x01,0xEF,0x02,0x0E,0x02,0x2C,0x02,0x48,0x02,0x62,0x02,0x7C,0x02,0x95);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x02,0xA1,0x02,0xAA,0x02,0xB5,0x02,0xBE,0x02,0xCB,0x02,0xD7,0x02,0xE4,0x02,0xF0,0x02,0xFC,0x03,0x0A,0x03,0x0B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xBD,0x00,0xC3,0x00,0xC9,0x00,0xD1,0x00,0xD9,0x00,0xE2,0x00,0xEB,0x00,0xF4,0x00,0xFD,0x01,0x06,0x01,0x17);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x01,0x31,0x01,0x49,0x01,0x5D,0x01,0x6E,0x01,0x7F,0x01,0x9D,0x01,0xB7,0x01,0xCF,0x01,0xE6,0x01,0xFB,0x02,0x10,0x02,0x24);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x02,0x2D,0x02,0x38,0x02,0x42,0x02,0x4B,0x02,0x55,0x02,0x5E,0x02,0x68,0x02,0x71,0x02,0x7A,0x02,0x83,0x02,0x84);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC3,0x00,0xD3,0x00,0xE7,0x00,0xFA,0x01,0x0A,0x01,0x19,0x01,0x28,0x01,0x36,0x01,0x44,0x01,0x52,0x01,0x6A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x8C,0x01,0xAC,0x01,0xC5,0x01,0xDC,0x01,0xF1,0x02,0x16,0x02,0x38,0x02,0x57,0x02,0x74,0x02,0x8F,0x02,0xAA,0x02,0xC4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0xD1,0x02,0xDD,0x02,0xEA,0x02,0xF5,0x03,0x03,0x03,0x11,0x03,0x1F,0x03,0x2D,0x03,0x39,0x03,0x46,0x03,0x47);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x07);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0x9D,0x00,0xAB,0x00,0xCA,0x00,0xD9,0x00,0xE4,0x00,0xEF,0x00,0xF8,0x01,0x01,0x01,0x09,0x01,0x12,0x01,0x22);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x41,0x01,0x59,0x01,0x6E,0x01,0x81,0x01,0x92,0x01,0xB1,0x01,0xCB,0x01,0xE2,0x01,0xF8,0x02,0x0D,0x02,0x21,0x02,0x34);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x02,0x3C,0x02,0x46,0x02,0x4E,0x02,0x58,0x02,0x60,0x02,0x69,0x02,0x70,0x02,0x79,0x02,0x7C,0x02,0x89,0x02,0x8A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB0,0x00,0xC3,0x00,0xC4,0x00,0xC8,0x00,0xCC,0x00,0xD2,0x00,0xD7,0x00,0xDD,0x00,0xE3,0x00,0xE9,0x00,0xF5);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x01,0x0C,0x01,0x1F,0x01,0x31,0x01,0x41,0x01,0x4E,0x01,0x68,0x01,0x7E,0x01,0x92,0x01,0xA5,0x01,0xB6,0x01,0xC6,0x01,0xD6);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0xDC,0x01,0xE5,0x01,0xEB,0x01,0xF3,0x01,0xF9,0x02,0x00,0x02,0x07,0x02,0x0D,0x02,0x15,0x02,0x1A,0x02,0x1B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xB3,0x00,0xC6,0x00,0xD6,0x00,0xE3,0x00,0xEF,0x00,0xFB,0x01,0x06,0x01,0x11,0x01,0x1A,0x01,0x25,0x01,0x37);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x5B,0x01,0x75,0x01,0x8C,0x01,0xA1,0x01,0xB3,0x01,0xD4,0x01,0xF0,0x02,0x09,0x02,0x20,0x02,0x36,0x02,0x4A,0x02,0x5F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0x68,0x02,0x72,0x02,0x7A,0x02,0x84,0x02,0x8D,0x02,0x96,0x02,0x9E,0x02,0xA7,0x02,0xAD,0x02,0xB8,0x02,0xB9);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x06);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB1,0x00,0xB2,0x00,0xB7,0x00,0xC4,0x00,0xD0,0x00,0xD9,0x00,0xE2,0x00,0xE9,0x00,0xF0,0x00,0xF5,0x01,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x18,0x01,0x2C,0x01,0x40,0x01,0x51,0x01,0x60,0x01,0x79,0x01,0x90,0x01,0xA5,0x01,0xB8,0x01,0xC9,0x01,0xD8,0x01,0xE8);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0xEE,0x01,0xF6,0x01,0xFD,0x02,0x03,0x02,0x0A,0x02,0x11,0x02,0x18,0x02,0x1E,0x02,0x23,0x02,0x2A,0x02,0x2B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB9,0x00,0xC0,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC8,0x00,0xCB,0x00,0xCF,0x00,0xD3,0x00,0xD6,0x00,0xDD);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xED,0x00,0xFC,0x01,0x0B,0x01,0x19,0x01,0x25,0x01,0x3A,0x01,0x4C,0x01,0x5E,0x01,0x6D,0x01,0x7C,0x01,0x89,0x01,0x97);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x9C,0x01,0xA3,0x01,0xA8,0x01,0xAE,0x01,0xB4,0x01,0xB9,0x01,0xBE,0x01,0xC4,0x01,0xCA,0x01,0xCE,0x01,0xCF);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC7,0x00,0xC8,0x00,0xCC,0x00,0xD3,0x00,0xDB,0x00,0xE4,0x00,0xEC,0x00,0xF4,0x00,0xFC,0x01,0x03,0x01,0x12);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x2B,0x01,0x43,0x01,0x5A,0x01,0x6C,0x01,0x7C,0x01,0x98,0x01,0xB1,0x01,0xC7,0x01,0xDB,0x01,0xEE,0x01,0xFE,0x02,0x0F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0x16,0x02,0x1D,0x02,0x25,0x02,0x2C,0x02,0x33,0x02,0x3A,0x02,0x41,0x02,0x47,0x02,0x4C,0x02,0x55,0x02,0x56);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB1,0x00,0xB2,0x00,0xB7,0x00,0xC4,0x00,0xD0,0x00,0xD9,0x00,0xE2,0x00,0xE9,0x00,0xF0,0x00,0xF5,0x01,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x18,0x01,0x2C,0x01,0x40,0x01,0x50,0x01,0x60,0x01,0x79,0x01,0x90,0x01,0xA5,0x01,0xB8,0x01,0xC9,0x01,0xD8,0x01,0xE8);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0xEE,0x01,0xF6,0x01,0xFD,0x02,0x03,0x02,0x0A,0x02,0x11,0x02,0x18,0x02,0x1E,0x02,0x22,0x02,0x2A,0x02,0x2B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB9,0x00,0xC0,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC8,0x00,0xCB,0x00,0xCF,0x00,0xD2,0x00,0xD6,0x00,0xDD);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xED,0x00,0xFC,0x01,0x0B,0x01,0x18,0x01,0x25,0x01,0x3A,0x01,0x4C,0x01,0x5E,0x01,0x6D,0x01,0x7C,0x01,0x89,0x01,0x97);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x9C,0x01,0xA3,0x01,0xA8,0x01,0xAE,0x01,0xB4,0x01,0xB9,0x01,0xBE,0x01,0xC4,0x01,0xCA,0x01,0xCE,0x01,0xCF);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC7,0x00,0xC8,0x00,0xCC,0x00,0xD3,0x00,0xDB,0x00,0xE4,0x00,0xEC,0x00,0xF4,0x00,0xFC,0x01,0x03,0x01,0x12);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x2B,0x01,0x43,0x01,0x5A,0x01,0x6B,0x01,0x7C,0x01,0x98,0x01,0xB1,0x01,0xC7,0x01,0xDB,0x01,0xEE,0x01,0xFE,0x02,0x0F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0x16,0x02,0x1D,0x02,0x25,0x02,0x2C,0x02,0x33,0x02,0x3A,0x02,0x41,0x02,0x47,0x02,0x4B,0x02,0x55,0x02,0x56);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x04);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAD,0x00,0xB2,0x00,0xB4,0x00,0xBA,0x00,0xC4,0x00,0xCE,0x00,0xD6,0x00,0xDC,0x00,0xE2,0x00,0xE8,0x00,0xF3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x05,0x01,0x17,0x01,0x27,0x01,0x37,0x01,0x45,0x01,0x5D,0x01,0x72,0x01,0x85,0x01,0x96,0x01,0xA7,0x01,0xB6,0x01,0xC3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0xC9,0x01,0xD0,0x01,0xD6,0x01,0xDC,0x01,0xE2,0x01,0xE7,0x01,0xED,0x01,0xF3,0x01,0xF8,0x01,0xFE,0x01,0xFF);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB7,0x00,0xBE,0x00,0xC1,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC7,0x00,0xC8,0x00,0xCB,0x00,0xCE,0x00,0xD4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xE0,0x00,0xEC,0x00,0xF8,0x01,0x04,0x01,0x0F,0x01,0x23,0x01,0x34,0x01,0x43,0x01,0x52,0x01,0x5F,0x01,0x6B,0x01,0x77);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x7C,0x01,0x82,0x01,0x87,0x01,0x8C,0x01,0x92,0x01,0x97,0x01,0x9B,0x01,0xA0,0x01,0xA6,0x01,0xA9,0x01,0xAA);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC2,0x00,0xC8,0x00,0xCA,0x00,0xCE,0x00,0xD3,0x00,0xDA,0x00,0xE1,0x00,0xE6,0x00,0xED,0x00,0xF3,0x01,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x16,0x01,0x2A,0x01,0x3D,0x01,0x4F,0x01,0x5F,0x01,0x79,0x01,0x91,0x01,0xA5,0x01,0xB8,0x01,0xC9,0x01,0xD9,0x01,0xE7);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0xEE,0x01,0xF5,0x01,0xFB,0x02,0x02,0x02,0x09,0x02,0x0E,0x02,0x15,0x02,0x1A,0x02,0x1F,0x02,0x26,0x02,0x27);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x03);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB0,0x00,0xB2,0x00,0xB3,0x00,0xB6,0x00,0xB7,0x00,0xC0,0x00,0xC7,0x00,0xCE,0x00,0xD4,0x00,0xD9,0x00,0xE2);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xF3,0x01,0x00,0x01,0x0D,0x01,0x1A,0x01,0x26,0x01,0x3C,0x01,0x50,0x01,0x61,0x01,0x70,0x01,0x7E,0x01,0x8B,0x01,0x97);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x9E,0x01,0xA4,0x01,0xA9,0x01,0xAF,0x01,0xB4,0x01,0xB9,0x01,0xBE,0x01,0xC3,0x01,0xC5,0x01,0xCD,0x01,0xCE);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB4,0x00,0xBC,0x00,0xBF,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC7,0x00,0xC8,0x00,0xCB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xD4,0x00,0xDC,0x00,0xE6,0x00,0xEE,0x00,0xF7,0x01,0x09,0x01,0x18,0x01,0x26,0x01,0x33,0x01,0x3D,0x01,0x48,0x01,0x53);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x58,0x01,0x5C,0x01,0x62,0x01,0x66,0x01,0x6A,0x01,0x6F,0x01,0x74,0x01,0x78,0x01,0x7D,0x01,0x7F,0x01,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC5,0x00,0xC8,0x00,0xC9,0x00,0xCA,0x00,0xCB,0x00,0xD1,0x00,0xD5,0x00,0xDA,0x00,0xDF,0x00,0xE4,0x00,0xED);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x00,0x01,0x10,0x01,0x1F,0x01,0x2E,0x01,0x3C,0x01,0x56,0x01,0x6B,0x01,0x7D,0x01,0x8F,0x01,0x9D,0x01,0xAB,0x01,0xB9);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0xC0,0x01,0xC6,0x01,0xCC,0x01,0xD2,0x01,0xD7,0x01,0xDD,0x01,0xE2,0x01,0xE7,0x01,0xE9,0x01,0xF2,0x01,0xF3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAF,0x00,0xB1,0x00,0xB2,0x00,0xB6,0x00,0xB9,0x00,0xBB,0x00,0xBD,0x00,0xBE,0x00,0xC1,0x00,0xCA,0x00,0xD3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xE1,0x00,0xEE,0x00,0xF9,0x01,0x02,0x01,0x0C,0x01,0x1D,0x01,0x2F,0x01,0x3F,0x01,0x4C,0x01,0x5A,0x01,0x65,0x01,0x70);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x75,0x01,0x7A,0x01,0x80,0x01,0x85,0x01,0x8A,0x01,0x8D,0x01,0x92,0x01,0x96,0x01,0x9B,0x01,0xA0,0x01,0xA1);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB7,0x00,0xBA,0x00,0xBD,0x00,0xBE,0x00,0xBF,0x00,0xC0,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC6);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xCB,0x00,0xD1,0x00,0xD7,0x00,0xDE,0x00,0xE5,0x00,0xF1,0x00,0xFF,0x01,0x0B,0x01,0x15,0x01,0x20,0x01,0x29,0x01,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x37,0x01,0x3A,0x01,0x3F,0x01,0x43,0x01,0x47,0x01,0x4B,0x01,0x4E,0x01,0x53,0x01,0x56,0x01,0x59,0x01,0x5A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC2,0x00,0xC6,0x00,0xC7,0x00,0xC8,0x00,0xC9,0x00,0xCA,0x00,0xCB,0x00,0xD1,0x00,0xD2,0x00,0xD7,0x00,0xDE);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x00,0xEC,0x00,0xFA,0x01,0x07,0x01,0x13,0x01,0x1E,0x01,0x33,0x01,0x47,0x01,0x59,0x01,0x67,0x01,0x76,0x01,0x82,0x01,0x8F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0x94,0x01,0x99,0x01,0xA0,0x01,0xA5,0x01,0xAA,0x01,0xAE,0x01,0xB3,0x01,0xB8,0x01,0xBD,0x01,0xC2,0x01,0xC3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAC,0x00,0xAF,0x00,0xB0,0x00,0xB1,0x00,0xB2,0x00,0xB3,0x00,0xB4,0x00,0xB5,0x00,0xB6,0x00,0xB9,0x00,0xC3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xD2,0x00,0xDD,0x00,0xE6,0x00,0xF0,0x00,0xF7,0x01,0x05,0x01,0x13,0x01,0x1F,0x01,0x2C,0x01,0x38,0x01,0x42,0x01,0x4C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x51,0x01,0x56,0x01,0x5A,0x01,0x5F,0x01,0x63,0x01,0x67,0x01,0x6C,0x01,0x6D,0x01,0x75,0x01,0x76,0x01,0x77);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB8,0x00,0xB9,0x00,0xBC,0x00,0xBD,0x00,0xBE,0x00,0xBF,0x00,0xC0,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xC6,0x00,0xC9,0x00,0xCD,0x00,0xD2,0x00,0xD6,0x00,0xE0,0x00,0xE9,0x00,0xF3,0x00,0xFD,0x01,0x06,0x01,0x0D,0x01,0x15);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x19,0x01,0x1C,0x01,0x20,0x01,0x24,0x01,0x27,0x01,0x2A,0x01,0x2E,0x01,0x32,0x01,0x34,0x01,0x37,0x01,0x38);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC0,0x00,0xC4,0x00,0xC5,0x00,0xC6,0x00,0xC7,0x00,0xC8,0x00,0xC9,0x00,0xCA,0x00,0xCB,0x00,0xCF,0x00,0xD4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x00,0xDD,0x00,0xE8,0x00,0xF2,0x00,0xFC,0x01,0x05,0x01,0x17,0x01,0x26,0x01,0x36,0x01,0x44,0x01,0x52,0x01,0x5C,0x01,0x67);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0x6C,0x01,0x72,0x01,0x77,0x01,0x7B,0x01,0x80,0x01,0x84,0x01,0x8A,0x01,0x8C,0x01,0x94,0x01,0x95,0x01,0x96);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAB,0x00,0xAC,0x00,0xAD,0x00,0xAE,0x00,0xAF,0x00,0xB0,0x00,0xB1,0x00,0xB2,0x00,0xB3,0x00,0xB4,0x00,0xB5);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xBE,0x00,0xC6,0x00,0xCF,0x00,0xD7,0x00,0xDE,0x00,0xE9,0x00,0xF4,0x00,0xFD,0x01,0x06,0x01,0x0E,0x01,0x17,0x01,0x1F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x23,0x01,0x26,0x01,0x2A,0x01,0x2E,0x01,0x31,0x01,0x36,0x01,0x3A,0x01,0x3B,0x01,0x41,0x01,0x42,0x01,0x43);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB7,0x00,0xB9,0x00,0xBA,0x00,0xBB,0x00,0xBC,0x00,0xBD,0x00,0xBE,0x00,0xBF,0x00,0xC0,0x00,0xC1,0x00,0xC2);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xC3,0x00,0xC4,0x00,0xC6,0x00,0xC7,0x00,0xC9,0x00,0xCE,0x00,0xD4,0x00,0xDA,0x00,0xE1,0x00,0xE6,0x00,0xEC,0x00,0xF3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x00,0xF6,0x00,0xF8,0x00,0xFB,0x00,0xFE,0x01,0x01,0x01,0x03,0x01,0x04,0x01,0x08,0x01,0x09,0x01,0x0D,0x01,0x0E);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC6,0x00,0xC7,0x00,0xC8,0x00,0xC9,0x00,0xCA,0x00,0xCB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x00,0xCE,0x00,0xD5,0x00,0xDB,0x00,0xE2,0x00,0xE9,0x00,0xF5,0x01,0x01,0x01,0x0D,0x01,0x18,0x01,0x21,0x01,0x2B,0x01,0x35);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0x3A,0x01,0x3D,0x01,0x42,0x01,0x46,0x01,0x4B,0x01,0x4E,0x01,0x54,0x01,0x55,0x01,0x5C,0x01,0x5D,0x01,0x5E);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCE,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCC,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB9,0x00,0x04,0x00,0x0C,0x00,0x14,0x00,0x1C,0x00,0x24,0x00,0x2C,0x00,0x34,0x00,0x3C,0x00,0x44,0x00,0x4C,0x00,0x5C,0x00,0x7C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xBA,0x00,0x9C,0x00,0xBC,0x00,0xDC,0x00,0xFC,0x01,0x3C,0x01,0x7C,0x01,0xBC,0x01,0xFC,0x02,0x3C,0x02,0x7C,0x02,0xBC,0x02,0xDC);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 21, 0xBB,0x02,0xFC,0x03,0x1C,0x03,0x3C,0x03,0x5C,0x03,0x7C,0x03,0x9C,0x03,0xBC,0x03,0xDC,0x03,0xFC,0x03,0xFF);
|
||
delayUs(50);
|
||
#endif
|
||
|
||
|
||
|
||
#if 0 // V1
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x07);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xC0,0x10);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x03);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xD4,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xC0,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB2,0x58,0x00,0x08,0x08);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCA,0x30);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xB5,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xC6,0x13);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 9, 0xB9,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 7, 0xD2,0x00,0x12,0x61,0x25,0x43,0x07);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 7, 0xB7,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB8,0x48,0x48,0x48,0x48);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xB3,0x13);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xB4,0x13);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xCD,0x05,0x61);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB3,0x88,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB5,0x04,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB7,0x04,0x00,0x00,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB8,0x04,0x00,0x00,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xFF,0xAA,0x55,0xA5,0x81);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0D);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xF3,0xAB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xFD,0x00,0xDA);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xFF,0xAA,0x55,0xA5,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xFC,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x36);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xF6,0x42);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x00,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x3B,0x00,0x0C,0x00,0x04);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x90,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0x93,0x89,0x28,0x00,0x0C,0x02,0x00,0x02,0x0E,0x00,0x00,0x01,0x1F,0x00,0x07,0x08,0xBB,0x08,0x7A,0x00,0x00,0x10,0xF0);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x03,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x2C,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x35,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x53,0x20);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x51,0x0D,0xBB,0x00,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x2A,0x00,0x00,0x04,0x37);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x2B,0x00,0x00,0x09,0x23);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x2F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x26,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB5,0x80,0x42);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB5,0x7F,0x2B,0x12,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 4, 0xB5,0x2B,0x1A,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 11, 0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 11, 0xB4,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x14);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 10, 0xB4,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x13);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB2,0x00,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCC,0x30);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x09);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB7,0x00,0xCA,0x00,0xE6,0x00,0xF5,0x01,0x04,0x01,0x12,0x01,0x20,0x01,0x2E,0x01,0x3C,0x01,0x49,0x01,0x5C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x7F,0x01,0x9C,0x01,0xB5,0x01,0xCC,0x01,0xE0,0x02,0x06,0x02,0x28,0x02,0x48,0x02,0x66,0x02,0x83,0x02,0x9F,0x02,0xB6);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x02,0xC1,0x02,0xD0,0x02,0xDE,0x02,0xEB,0x02,0xFA,0x03,0x09,0x03,0x16,0x03,0x25,0x03,0x34,0x03,0x46,0x03,0x48);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xBE,0x00,0xC4,0x00,0xCB,0x00,0xD5,0x00,0xDF,0x00,0xE9,0x00,0xF3,0x00,0xFD,0x01,0x08,0x01,0x13,0x01,0x22);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x01,0x3F,0x01,0x57,0x01,0x6B,0x01,0x7F,0x01,0x90,0x01,0xB0,0x01,0xCC,0x01,0xE6,0x01,0xFE,0x02,0x15,0x02,0x2B,0x02,0x43);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x02,0x4E,0x02,0x59,0x02,0x63,0x02,0x6D,0x02,0x78,0x02,0x82,0x02,0x8D,0x02,0x98,0x02,0xA3,0x02,0xAD,0x02,0xAE);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC6,0x00,0xD6,0x00,0xEF,0x01,0x02,0x01,0x15,0x01,0x25,0x01,0x35,0x01,0x45,0x01,0x55,0x01,0x64,0x01,0x79);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0xA0,0x01,0xBE,0x01,0xD8,0x01,0xF1,0x02,0x06,0x02,0x2F,0x02,0x53,0x02,0x74,0x02,0x93,0x02,0xB1,0x02,0xCE,0x02,0xEB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0xF8,0x03,0x09,0x03,0x19,0x03,0x28,0x03,0x37,0x03,0x45,0x03,0x51,0x03,0x5F,0x03,0x6D,0x03,0x7E,0x03,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x08);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB7,0x00,0xC7,0x00,0xDD,0x00,0xEE,0x00,0xFC,0x01,0x08,0x01,0x15,0x01,0x21,0x01,0x2D,0x01,0x39,0x01,0x4F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x6E,0x01,0x8B,0x01,0xA3,0x01,0xB9,0x01,0xCC,0x01,0xEF,0x02,0x0E,0x02,0x2C,0x02,0x48,0x02,0x62,0x02,0x7C,0x02,0x95);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x02,0xA1,0x02,0xAA,0x02,0xB5,0x02,0xBE,0x02,0xCB,0x02,0xD7,0x02,0xE4,0x02,0xF0,0x02,0xFC,0x03,0x0A,0x03,0x0B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xBD,0x00,0xC3,0x00,0xC9,0x00,0xD1,0x00,0xD9,0x00,0xE2,0x00,0xEB,0x00,0xF4,0x00,0xFD,0x01,0x06,0x01,0x17);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x01,0x31,0x01,0x49,0x01,0x5D,0x01,0x6E,0x01,0x7F,0x01,0x9D,0x01,0xB7,0x01,0xCF,0x01,0xE6,0x01,0xFB,0x02,0x10,0x02,0x24);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x02,0x2D,0x02,0x38,0x02,0x42,0x02,0x4B,0x02,0x55,0x02,0x5E,0x02,0x68,0x02,0x71,0x02,0x7A,0x02,0x83,0x02,0x84);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC3,0x00,0xD3,0x00,0xE7,0x00,0xFA,0x01,0x0A,0x01,0x19,0x01,0x28,0x01,0x36,0x01,0x44,0x01,0x52,0x01,0x6A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x8C,0x01,0xAC,0x01,0xC5,0x01,0xDC,0x01,0xF1,0x02,0x16,0x02,0x38,0x02,0x57,0x02,0x74,0x02,0x8F,0x02,0xAA,0x02,0xC4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0xD1,0x02,0xDD,0x02,0xEA,0x02,0xF5,0x03,0x03,0x03,0x11,0x03,0x1F,0x03,0x2D,0x03,0x39,0x03,0x46,0x03,0x47);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x07);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0x9D,0x00,0xAB,0x00,0xCA,0x00,0xD9,0x00,0xE4,0x00,0xEF,0x00,0xF8,0x01,0x01,0x01,0x09,0x01,0x12,0x01,0x22);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x41,0x01,0x59,0x01,0x6E,0x01,0x81,0x01,0x92,0x01,0xB1,0x01,0xCB,0x01,0xE2,0x01,0xF8,0x02,0x0D,0x02,0x21,0x02,0x34);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x02,0x3C,0x02,0x46,0x02,0x4E,0x02,0x58,0x02,0x60,0x02,0x69,0x02,0x70,0x02,0x79,0x02,0x7C,0x02,0x89,0x02,0x8A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB0,0x00,0xC3,0x00,0xC4,0x00,0xC8,0x00,0xCC,0x00,0xD2,0x00,0xD7,0x00,0xDD,0x00,0xE3,0x00,0xE9,0x00,0xF5);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x01,0x0C,0x01,0x1F,0x01,0x31,0x01,0x41,0x01,0x4E,0x01,0x68,0x01,0x7E,0x01,0x92,0x01,0xA5,0x01,0xB6,0x01,0xC6,0x01,0xD6);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0xDC,0x01,0xE5,0x01,0xEB,0x01,0xF3,0x01,0xF9,0x02,0x00,0x02,0x07,0x02,0x0D,0x02,0x15,0x02,0x1A,0x02,0x1B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xB3,0x00,0xC6,0x00,0xD6,0x00,0xE3,0x00,0xEF,0x00,0xFB,0x01,0x06,0x01,0x11,0x01,0x1A,0x01,0x25,0x01,0x37);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x5B,0x01,0x75,0x01,0x8C,0x01,0xA1,0x01,0xB3,0x01,0xD4,0x01,0xF0,0x02,0x09,0x02,0x20,0x02,0x36,0x02,0x4A,0x02,0x5F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0x68,0x02,0x72,0x02,0x7A,0x02,0x84,0x02,0x8D,0x02,0x96,0x02,0x9E,0x02,0xA7,0x02,0xAD,0x02,0xB8,0x02,0xB9);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x06);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB1,0x00,0xB2,0x00,0xB7,0x00,0xC4,0x00,0xD0,0x00,0xD9,0x00,0xE2,0x00,0xE9,0x00,0xF0,0x00,0xF5,0x01,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x18,0x01,0x2C,0x01,0x40,0x01,0x51,0x01,0x60,0x01,0x79,0x01,0x90,0x01,0xA5,0x01,0xB8,0x01,0xC9,0x01,0xD8,0x01,0xE8);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0xEE,0x01,0xF6,0x01,0xFD,0x02,0x03,0x02,0x0A,0x02,0x11,0x02,0x18,0x02,0x1E,0x02,0x23,0x02,0x2A,0x02,0x2B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB9,0x00,0xC0,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC8,0x00,0xCB,0x00,0xCF,0x00,0xD3,0x00,0xD6,0x00,0xDD);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xED,0x00,0xFC,0x01,0x0B,0x01,0x19,0x01,0x25,0x01,0x3A,0x01,0x4C,0x01,0x5E,0x01,0x6D,0x01,0x7C,0x01,0x89,0x01,0x97);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x9C,0x01,0xA3,0x01,0xA8,0x01,0xAE,0x01,0xB4,0x01,0xB9,0x01,0xBE,0x01,0xC4,0x01,0xCA,0x01,0xCE,0x01,0xCF);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC7,0x00,0xC8,0x00,0xCC,0x00,0xD3,0x00,0xDB,0x00,0xE4,0x00,0xEC,0x00,0xF4,0x00,0xFC,0x01,0x03,0x01,0x12);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x2B,0x01,0x43,0x01,0x5A,0x01,0x6C,0x01,0x7C,0x01,0x98,0x01,0xB1,0x01,0xC7,0x01,0xDB,0x01,0xEE,0x01,0xFE,0x02,0x0F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0x16,0x02,0x1D,0x02,0x25,0x02,0x2C,0x02,0x33,0x02,0x3A,0x02,0x41,0x02,0x47,0x02,0x4C,0x02,0x55,0x02,0x56);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB1,0x00,0xB2,0x00,0xB7,0x00,0xC4,0x00,0xD0,0x00,0xD9,0x00,0xE2,0x00,0xE9,0x00,0xF0,0x00,0xF5,0x01,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x18,0x01,0x2C,0x01,0x40,0x01,0x50,0x01,0x60,0x01,0x79,0x01,0x90,0x01,0xA5,0x01,0xB8,0x01,0xC9,0x01,0xD8,0x01,0xE8);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0xEE,0x01,0xF6,0x01,0xFD,0x02,0x03,0x02,0x0A,0x02,0x11,0x02,0x18,0x02,0x1E,0x02,0x22,0x02,0x2A,0x02,0x2B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB9,0x00,0xC0,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC8,0x00,0xCB,0x00,0xCF,0x00,0xD2,0x00,0xD6,0x00,0xDD);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xED,0x00,0xFC,0x01,0x0B,0x01,0x18,0x01,0x25,0x01,0x3A,0x01,0x4C,0x01,0x5E,0x01,0x6D,0x01,0x7C,0x01,0x89,0x01,0x97);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x9C,0x01,0xA3,0x01,0xA8,0x01,0xAE,0x01,0xB4,0x01,0xB9,0x01,0xBE,0x01,0xC4,0x01,0xCA,0x01,0xCE,0x01,0xCF);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC7,0x00,0xC8,0x00,0xCC,0x00,0xD3,0x00,0xDB,0x00,0xE4,0x00,0xEC,0x00,0xF4,0x00,0xFC,0x01,0x03,0x01,0x12);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x2B,0x01,0x43,0x01,0x5A,0x01,0x6B,0x01,0x7C,0x01,0x98,0x01,0xB1,0x01,0xC7,0x01,0xDB,0x01,0xEE,0x01,0xFE,0x02,0x0F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0x16,0x02,0x1D,0x02,0x25,0x02,0x2C,0x02,0x33,0x02,0x3A,0x02,0x41,0x02,0x47,0x02,0x4B,0x02,0x55,0x02,0x56);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x04);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAD,0x00,0xB2,0x00,0xB4,0x00,0xBA,0x00,0xC4,0x00,0xCE,0x00,0xD6,0x00,0xDC,0x00,0xE2,0x00,0xE8,0x00,0xF3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x05,0x01,0x17,0x01,0x27,0x01,0x37,0x01,0x45,0x01,0x5D,0x01,0x72,0x01,0x85,0x01,0x96,0x01,0xA7,0x01,0xB6,0x01,0xC3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0xC9,0x01,0xD0,0x01,0xD6,0x01,0xDC,0x01,0xE2,0x01,0xE7,0x01,0xED,0x01,0xF3,0x01,0xF8,0x01,0xFE,0x01,0xFF);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB7,0x00,0xBE,0x00,0xC1,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC7,0x00,0xC8,0x00,0xCB,0x00,0xCE,0x00,0xD4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xE0,0x00,0xEC,0x00,0xF8,0x01,0x04,0x01,0x0F,0x01,0x23,0x01,0x34,0x01,0x43,0x01,0x52,0x01,0x5F,0x01,0x6B,0x01,0x77);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x7C,0x01,0x82,0x01,0x87,0x01,0x8C,0x01,0x92,0x01,0x97,0x01,0x9B,0x01,0xA0,0x01,0xA6,0x01,0xA9,0x01,0xAA);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC2,0x00,0xC8,0x00,0xCA,0x00,0xCE,0x00,0xD3,0x00,0xDA,0x00,0xE1,0x00,0xE6,0x00,0xED,0x00,0xF3,0x01,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x16,0x01,0x2A,0x01,0x3D,0x01,0x4F,0x01,0x5F,0x01,0x79,0x01,0x91,0x01,0xA5,0x01,0xB8,0x01,0xC9,0x01,0xD9,0x01,0xE7);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0xEE,0x01,0xF5,0x01,0xFB,0x02,0x02,0x02,0x09,0x02,0x0E,0x02,0x15,0x02,0x1A,0x02,0x1F,0x02,0x26,0x02,0x27);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x03);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB0,0x00,0xB2,0x00,0xB3,0x00,0xB6,0x00,0xB7,0x00,0xC0,0x00,0xC7,0x00,0xCE,0x00,0xD4,0x00,0xD9,0x00,0xE2);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xF3,0x01,0x00,0x01,0x0D,0x01,0x1A,0x01,0x26,0x01,0x3C,0x01,0x50,0x01,0x61,0x01,0x70,0x01,0x7E,0x01,0x8B,0x01,0x97);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x9E,0x01,0xA4,0x01,0xA9,0x01,0xAF,0x01,0xB4,0x01,0xB9,0x01,0xBE,0x01,0xC3,0x01,0xC5,0x01,0xCD,0x01,0xCE);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB4,0x00,0xBC,0x00,0xBF,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC7,0x00,0xC8,0x00,0xCB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xD4,0x00,0xDC,0x00,0xE6,0x00,0xEE,0x00,0xF7,0x01,0x09,0x01,0x18,0x01,0x26,0x01,0x33,0x01,0x3D,0x01,0x48,0x01,0x53);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x58,0x01,0x5C,0x01,0x62,0x01,0x66,0x01,0x6A,0x01,0x6F,0x01,0x74,0x01,0x78,0x01,0x7D,0x01,0x7F,0x01,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC5,0x00,0xC8,0x00,0xC9,0x00,0xCA,0x00,0xCB,0x00,0xD1,0x00,0xD5,0x00,0xDA,0x00,0xDF,0x00,0xE4,0x00,0xED);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x00,0x01,0x10,0x01,0x1F,0x01,0x2E,0x01,0x3C,0x01,0x56,0x01,0x6B,0x01,0x7D,0x01,0x8F,0x01,0x9D,0x01,0xAB,0x01,0xB9);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0xC0,0x01,0xC6,0x01,0xCC,0x01,0xD2,0x01,0xD7,0x01,0xDD,0x01,0xE2,0x01,0xE7,0x01,0xE9,0x01,0xF2,0x01,0xF3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAF,0x00,0xB1,0x00,0xB2,0x00,0xB6,0x00,0xB9,0x00,0xBB,0x00,0xBD,0x00,0xBE,0x00,0xC1,0x00,0xCA,0x00,0xD3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xE1,0x00,0xEE,0x00,0xF9,0x01,0x02,0x01,0x0C,0x01,0x1D,0x01,0x2F,0x01,0x3F,0x01,0x4C,0x01,0x5A,0x01,0x65,0x01,0x70);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x75,0x01,0x7A,0x01,0x80,0x01,0x85,0x01,0x8A,0x01,0x8D,0x01,0x92,0x01,0x96,0x01,0x9B,0x01,0xA0,0x01,0xA1);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB7,0x00,0xBA,0x00,0xBD,0x00,0xBE,0x00,0xBF,0x00,0xC0,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC6);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xCB,0x00,0xD1,0x00,0xD7,0x00,0xDE,0x00,0xE5,0x00,0xF1,0x00,0xFF,0x01,0x0B,0x01,0x15,0x01,0x20,0x01,0x29,0x01,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x37,0x01,0x3A,0x01,0x3F,0x01,0x43,0x01,0x47,0x01,0x4B,0x01,0x4E,0x01,0x53,0x01,0x56,0x01,0x59,0x01,0x5A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC2,0x00,0xC6,0x00,0xC7,0x00,0xC8,0x00,0xC9,0x00,0xCA,0x00,0xCB,0x00,0xD1,0x00,0xD2,0x00,0xD7,0x00,0xDE);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x00,0xEC,0x00,0xFA,0x01,0x07,0x01,0x13,0x01,0x1E,0x01,0x33,0x01,0x47,0x01,0x59,0x01,0x67,0x01,0x76,0x01,0x82,0x01,0x8F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0x94,0x01,0x99,0x01,0xA0,0x01,0xA5,0x01,0xAA,0x01,0xAE,0x01,0xB3,0x01,0xB8,0x01,0xBD,0x01,0xC2,0x01,0xC3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAC,0x00,0xAF,0x00,0xB0,0x00,0xB1,0x00,0xB2,0x00,0xB3,0x00,0xB4,0x00,0xB5,0x00,0xB6,0x00,0xB9,0x00,0xC3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xD2,0x00,0xDD,0x00,0xE6,0x00,0xF0,0x00,0xF7,0x01,0x05,0x01,0x13,0x01,0x1F,0x01,0x2C,0x01,0x38,0x01,0x42,0x01,0x4C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x51,0x01,0x56,0x01,0x5A,0x01,0x5F,0x01,0x63,0x01,0x67,0x01,0x6C,0x01,0x6D,0x01,0x75,0x01,0x76,0x01,0x77);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB8,0x00,0xB9,0x00,0xBC,0x00,0xBD,0x00,0xBE,0x00,0xBF,0x00,0xC0,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xC6,0x00,0xC9,0x00,0xCD,0x00,0xD2,0x00,0xD6,0x00,0xE0,0x00,0xE9,0x00,0xF3,0x00,0xFD,0x01,0x06,0x01,0x0D,0x01,0x15);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x19,0x01,0x1C,0x01,0x20,0x01,0x24,0x01,0x27,0x01,0x2A,0x01,0x2E,0x01,0x32,0x01,0x34,0x01,0x37,0x01,0x38);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC0,0x00,0xC4,0x00,0xC5,0x00,0xC6,0x00,0xC7,0x00,0xC8,0x00,0xC9,0x00,0xCA,0x00,0xCB,0x00,0xCF,0x00,0xD4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x00,0xDD,0x00,0xE8,0x00,0xF2,0x00,0xFC,0x01,0x05,0x01,0x17,0x01,0x26,0x01,0x36,0x01,0x44,0x01,0x52,0x01,0x5C,0x01,0x67);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0x6C,0x01,0x72,0x01,0x77,0x01,0x7B,0x01,0x80,0x01,0x84,0x01,0x8A,0x01,0x8C,0x01,0x94,0x01,0x95,0x01,0x96);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAB,0x00,0xAC,0x00,0xAD,0x00,0xAE,0x00,0xAF,0x00,0xB0,0x00,0xB1,0x00,0xB2,0x00,0xB3,0x00,0xB4,0x00,0xB5);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xBE,0x00,0xC6,0x00,0xCF,0x00,0xD7,0x00,0xDE,0x00,0xE9,0x00,0xF4,0x00,0xFD,0x01,0x06,0x01,0x0E,0x01,0x17,0x01,0x1F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x23,0x01,0x26,0x01,0x2A,0x01,0x2E,0x01,0x31,0x01,0x36,0x01,0x3A,0x01,0x3B,0x01,0x41,0x01,0x42,0x01,0x43);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB7,0x00,0xB9,0x00,0xBA,0x00,0xBB,0x00,0xBC,0x00,0xBD,0x00,0xBE,0x00,0xBF,0x00,0xC0,0x00,0xC1,0x00,0xC2);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xC3,0x00,0xC4,0x00,0xC6,0x00,0xC7,0x00,0xC9,0x00,0xCE,0x00,0xD4,0x00,0xDA,0x00,0xE1,0x00,0xE6,0x00,0xEC,0x00,0xF3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x00,0xF6,0x00,0xF8,0x00,0xFB,0x00,0xFE,0x01,0x01,0x01,0x03,0x01,0x04,0x01,0x08,0x01,0x09,0x01,0x0D,0x01,0x0E);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC6,0x00,0xC7,0x00,0xC8,0x00,0xC9,0x00,0xCA,0x00,0xCB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x00,0xCE,0x00,0xD5,0x00,0xDB,0x00,0xE2,0x00,0xE9,0x00,0xF5,0x01,0x01,0x01,0x0D,0x01,0x18,0x01,0x21,0x01,0x2B,0x01,0x35);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0x3A,0x01,0x3D,0x01,0x42,0x01,0x46,0x01,0x4B,0x01,0x4E,0x01,0x54,0x01,0x55,0x01,0x5C,0x01,0x5D,0x01,0x5E);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCE,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCC,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB9,0x00,0x04,0x00,0x0C,0x00,0x14,0x00,0x1C,0x00,0x24,0x00,0x2C,0x00,0x34,0x00,0x3C,0x00,0x44,0x00,0x4C,0x00,0x5C,0x00,0x7C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xBA,0x00,0x9C,0x00,0xBC,0x00,0xDC,0x00,0xFC,0x01,0x3C,0x01,0x7C,0x01,0xBC,0x01,0xFC,0x02,0x3C,0x02,0x7C,0x02,0xBC,0x02,0xDC);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 21, 0xBB,0x02,0xFC,0x03,0x1C,0x03,0x3C,0x03,0x5C,0x03,0x7C,0x03,0x9C,0x03,0xBC,0x03,0xDC,0x03,0xFC,0x03,0xFF);
|
||
delayUs(50);
|
||
#endif
|
||
|
||
#if 1// v4
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x07);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xC0,0x10);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x03);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xD4,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xC0,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB2,0x59,0x00,0x08,0x08);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCA,0x30);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xB5,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xC6,0x13);
|
||
delayUs(50);
|
||
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x01);
|
||
delayUs(50);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 9, 0xB9,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F);
|
||
// delayUs(50);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
// delayUs(50);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 7, 0xD2,0x00,0x12,0x61,0x25,0x43,0x07);
|
||
// delayUs(50);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 7, 0xB7,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E);
|
||
// delayUs(50);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB8,0x48,0x48,0x48,0x48);
|
||
// delayUs(50);
|
||
// //hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
// //delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xB3,0x25);//13
|
||
delayUs(50);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x01);
|
||
// delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xB4,0x25);//13
|
||
delayUs(50);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xCD,0x05,0x61);
|
||
// delayUs(50);
|
||
|
||
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB3,0x88,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB5,0x04,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB7,0x04,0x00,0x00,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB8,0x04,0x00,0x00,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xFF,0xAA,0x55,0xA5,0x81);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0D);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xF3,0xAB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xFD,0x00,0xDA);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xFF,0xAA,0x55,0xA5,0x80);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xFC,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x36);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xF6,0x42);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x00,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x3B,0x00,0x0C,0x00,0x04);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x90,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0x93,0x89,0x28,0x00,0x0C,0x02,0x00,0x02,0x0E,0x00,0x00,0x01,0x1F,0x00,0x07,0x08,0xBB,0x08,0x7A,0x00,0x00,0x10,0xF0);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x03,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x2C,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x35,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x53,0x20);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x51,0x0D,0xBB,0x00,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x2A,0x00,0x00,0x04,0x37);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x2B,0x00,0x00,0x09,0x23);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x2F,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x26,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB5,0x80,0x42);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xB5,0x7F,0x2B,0x12,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 4, 0xB5,0x2B,0x12,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 37, 0xB3,0x00,0x08,0x00,0x18,0x00,0x18,0x00,0x31,0x00,0x31,0x00,0x62,0x00,0x62,0x00,0xC0,0x00,0xC0,0x01,0x46,0x01,0x46,0x01,0x47,0x01,0x47,0x03,0x33,0x03,0x33,0x07,0xFF,0x07,0xFF,0x0F,0xFF);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 11, 0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x0A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 11, 0xB4,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x14);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 10, 0xB4,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x6F,0x13);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB2,0x00,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCC,0x30);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x09);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB5,0x00,0xCB,0x00,0xE6,0x00,0xF7,0x01,0x08,0x01,0x17,0x01,0x26,0x01,0x32,0x01,0x3E,0x01,0x49,0x01,0x5E);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x81,0x01,0x9C,0x01,0xB6,0x01,0xCC,0x01,0xE2,0x02,0x07,0x02,0x28,0x02,0x47,0x02,0x65,0x02,0x82,0x02,0x9E,0x02,0xBA);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x02,0xC8,0x02,0xD6,0x02,0xE4,0x02,0xF0,0x02,0xFC,0x03,0x0A,0x03,0x17,0x03,0x27,0x03,0x37,0x03,0x41,0x03,0x43);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xBE,0x00,0xC4,0x00,0xCC,0x00,0xD7,0x00,0xE2,0x00,0xED,0x00,0xF8,0x01,0x01,0x01,0x0A,0x01,0x13,0x01,0x24);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x01,0x41,0x01,0x58,0x01,0x6E,0x01,0x80,0x01,0x92,0x01,0xB2,0x01,0xCE,0x01,0xE8,0x02,0x00,0x02,0x17,0x02,0x2D,0x02,0x43);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x02,0x4E,0x02,0x59,0x02,0x64,0x02,0x6E,0x02,0x79,0x02,0x84,0x02,0x8E,0x02,0x99,0x02,0xA4,0x02,0xB0,0x02,0xB2);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xBF,0x00,0xD6,0x00,0xF2,0x01,0x06,0x01,0x1A,0x01,0x2D,0x01,0x3D,0x01,0x4B,0x01,0x59,0x01,0x66,0x01,0x7D);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0xA4,0x01,0xC2,0x01,0xDE,0x01,0xF5,0x02,0x0B,0x02,0x33,0x02,0x56,0x02,0x77,0x02,0x97,0x02,0xB6,0x02,0xD4,0x02,0xF2);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x03,0x01,0x03,0x10,0x03,0x1F,0x03,0x2D,0x03,0x3C,0x03,0x4A,0x03,0x57,0x03,0x67,0x03,0x7D,0x03,0x87,0x03,0x89);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x08);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xB6,0x00,0xC3,0x00,0xDD,0x00,0xEE,0x00,0xFF,0x01,0x0C,0x01,0x1A,0x01,0x26,0x01,0x31,0x01,0x3C,0x01,0x4F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x70,0x01,0x8C,0x01,0xA3,0x01,0xB9,0x01,0xCD,0x01,0xF0,0x02,0x0F,0x02,0x2D,0x02,0x47,0x02,0x61,0x02,0x7C,0x02,0x94);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x02,0xA1,0x02,0xAD,0x02,0xBB,0x02,0xC5,0x02,0xD1,0x02,0xDD,0x02,0xE9,0x02,0xF3,0x02,0xFF,0x03,0x0A,0x03,0x0B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xBD,0x00,0xC4,0x00,0xC9,0x00,0xD2,0x00,0xDC,0x00,0xE6,0x00,0xEF,0x00,0xF8,0x01,0x01,0x01,0x09,0x01,0x18);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x01,0x33,0x01,0x4A,0x01,0x5E,0x01,0x71,0x01,0x81,0x01,0x9E,0x01,0xB9,0x01,0xD2,0x01,0xE8,0x01,0xFD,0x02,0x12,0x02,0x26);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x02,0x2F,0x02,0x39,0x02,0x42,0x02,0x4C,0x02,0x56,0x02,0x5E,0x02,0x68,0x02,0x72,0x02,0x7B,0x02,0x85,0x02,0x86);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC2,0x00,0xD2,0x00,0xE8,0x00,0xFB,0x01,0x0F,0x01,0x20,0x01,0x30,0x01,0x3D,0x01,0x4A,0x01,0x57,0x01,0x6C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x91,0x01,0xB0,0x01,0xCA,0x01,0xE2,0x01,0xF6,0x02,0x1A,0x02,0x3C,0x02,0x5B,0x02,0x77,0x02,0x93,0x02,0xAF,0x02,0xCA);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0xD7,0x02,0xE4,0x02,0xF3,0x02,0xFD,0x03,0x0B,0x03,0x18,0x03,0x24,0x03,0x31,0x03,0x3F,0x03,0x4A,0x03,0x4B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x07);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xA9,0x00,0xAA,0x00,0xC7,0x00,0xD8,0x00,0xE5,0x00,0xF0,0x00,0xFA,0x01,0x05,0x01,0x0D,0x01,0x16,0x01,0x25);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x42,0x01,0x5A,0x01,0x6F,0x01,0x82,0x01,0x93,0x01,0xB1,0x01,0xCC,0x01,0xE3,0x01,0xF9,0x02,0x0D,0x02,0x22,0x02,0x33);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x02,0x3D,0x02,0x45,0x02,0x4D,0x02,0x57,0x02,0x5F,0x02,0x68,0x02,0x70,0x02,0x79,0x02,0x7F,0x02,0x89,0x02,0x8A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xBD,0x00,0xC4,0x00,0xC5,0x00,0xC8,0x00,0xCD,0x00,0xD3,0x00,0xD9,0x00,0xE0,0x00,0xE6,0x00,0xEC,0x00,0xF8);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x01,0x0D,0x01,0x21,0x01,0x32,0x01,0x42,0x01,0x50,0x01,0x6A,0x01,0x80,0x01,0x94,0x01,0xA6,0x01,0xB7,0x01,0xC8,0x01,0xD7);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0xDF,0x01,0xE7,0x01,0xED,0x01,0xF5,0x01,0xFB,0x02,0x02,0x02,0x08,0x02,0x0F,0x02,0x17,0x02,0x1C,0x02,0x1D);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC8,0x00,0xC9,0x00,0xD5,0x00,0xE4,0x00,0xF1,0x00,0xFD,0x01,0x0A,0x01,0x17,0x01,0x21,0x01,0x2B,0x01,0x3D);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x5E,0x01,0x79,0x01,0x90,0x01,0xA5,0x01,0xB8,0x01,0xD9,0x01,0xF5,0x02,0x0D,0x02,0x24,0x02,0x3A,0x02,0x4F,0x02,0x62);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0x6C,0x02,0x75,0x02,0x7D,0x02,0x88,0x02,0x91,0x02,0x9A,0x02,0xA2,0x02,0xAC,0x02,0xB3,0x02,0xBD,0x02,0xBE);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x06);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0x9B,0x00,0xAD,0x00,0xB0,0x00,0xC1,0x00,0xCF,0x00,0xDA,0x00,0xE2,0x00,0xEA,0x00,0xF0,0x00,0xF8,0x01,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x1A,0x01,0x2E,0x01,0x42,0x01,0x51,0x01,0x61,0x01,0x7A,0x01,0x91,0x01,0xA5,0x01,0xB8,0x01,0xCA,0x01,0xD9,0x01,0xE8);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0xEF,0x01,0xF7,0x01,0xFE,0x02,0x05,0x02,0x0B,0x02,0x12,0x02,0x18,0x02,0x1E,0x02,0x23,0x02,0x2B,0x02,0x2C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xAB,0x00,0xC1,0x00,0xC4,0x00,0xC5,0x00,0xC6,0x00,0xC9,0x00,0xCC,0x00,0xD0,0x00,0xD3,0x00,0xD7,0x00,0xE0);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xF0,0x00,0xFF,0x01,0x0D,0x01,0x19,0x01,0x26,0x01,0x3B,0x01,0x4E,0x01,0x60,0x01,0x70,0x01,0x7D,0x01,0x8B,0x01,0x98);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x9E,0x01,0xA5,0x01,0xAA,0x01,0xB0,0x01,0xB6,0x01,0xBB,0x01,0xC0,0x01,0xC7,0x01,0xCC,0x01,0xD0,0x01,0xD1);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xB5,0x00,0xCA,0x00,0xCB,0x00,0xD3,0x00,0xDC,0x00,0xE6,0x00,0xEE,0x00,0xF6,0x00,0xFE,0x01,0x07,0x01,0x17);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x31,0x01,0x48,0x01,0x5E,0x01,0x6F,0x01,0x80,0x01,0x9C,0x01,0xB6,0x01,0xCC,0x01,0xE0,0x01,0xF2,0x02,0x03,0x02,0x12);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0x1A,0x02,0x22,0x02,0x2A,0x02,0x31,0x02,0x38,0x02,0x3F,0x02,0x45,0x02,0x4B,0x02,0x51,0x02,0x59,0x02,0x5A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x05);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xA7,0x00,0xAF,0x00,0xB5,0x00,0xC1,0x00,0xCF,0x00,0xDA,0x00,0xE2,0x00,0xE9,0x00,0xF0,0x00,0xF8,0x01,0x04);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x1A,0x01,0x2E,0x01,0x41,0x01,0x51,0x01,0x60,0x01,0x79,0x01,0x90,0x01,0xA4,0x01,0xB7,0x01,0xC9,0x01,0xD8,0x01,0xE8);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0xEF,0x01,0xF6,0x01,0xFD,0x02,0x04,0x02,0x0A,0x02,0x11,0x02,0x18,0x02,0x1C,0x02,0x26,0x02,0x2A,0x02,0x2B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xBD,0x00,0xC2,0x00,0xC4,0x00,0xC5,0x00,0xC6,0x00,0xC9,0x00,0xCC,0x00,0xCF,0x00,0xD3,0x00,0xD7,0x00,0xDF);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xF0,0x00,0xFF,0x01,0x0C,0x01,0x19,0x01,0x25,0x01,0x3A,0x01,0x4D,0x01,0x5F,0x01,0x6F,0x01,0x7C,0x01,0x8A,0x01,0x98);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x9E,0x01,0xA4,0x01,0xA9,0x01,0xAF,0x01,0xB5,0x01,0xBA,0x01,0xC0,0x01,0xC6,0x01,0xCA,0x01,0xCF,0x01,0xD0);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC1,0x00,0xC8,0x00,0xC9,0x00,0xD3,0x00,0xDC,0x00,0xE6,0x00,0xEE,0x00,0xF5,0x00,0xFE,0x01,0x07,0x01,0x16);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x31,0x01,0x48,0x01,0x5D,0x01,0x6F,0x01,0x7F,0x01,0x9B,0x01,0xB5,0x01,0xCB,0x01,0xDF,0x01,0xF1,0x02,0x02,0x02,0x12);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x02,0x1A,0x02,0x21,0x02,0x29,0x02,0x30,0x02,0x37,0x02,0x3E,0x02,0x45,0x02,0x49,0x02,0x54,0x02,0x58,0x02,0x59);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x04);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xA8,0x00,0xAC,0x00,0xB4,0x00,0xB7,0x00,0xC5,0x00,0xCD,0x00,0xD6,0x00,0xDC,0x00,0xE2,0x00,0xE9,0x00,0xF4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x01,0x07,0x01,0x19,0x01,0x29,0x01,0x38,0x01,0x46,0x01,0x5E,0x01,0x72,0x01,0x85,0x01,0x96,0x01,0xA5,0x01,0xB4,0x01,0xC3);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0xC9,0x01,0xD0,0x01,0xD6,0x01,0xDC,0x01,0xE2,0x01,0xE8,0x01,0xED,0x01,0xF2,0x01,0xF8,0x01,0xFE,0x01,0xFF);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xBC,0x00,0xC0,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC6,0x00,0xC8,0x00,0xC9,0x00,0xCC,0x00,0xCF,0x00,0xD5);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xE2,0x00,0xEF,0x00,0xFA,0x01,0x06,0x01,0x10,0x01,0x24,0x01,0x34,0x01,0x44,0x01,0x53,0x01,0x60,0x01,0x6C,0x01,0x78);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x7D,0x01,0x83,0x01,0x88,0x01,0x8D,0x01,0x93,0x01,0x98,0x01,0x9C,0x01,0xA2,0x01,0xA7,0x01,0xAA,0x01,0xAB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC2,0x00,0xC6,0x00,0xCA,0x00,0xCF,0x00,0xD4,0x00,0xDA,0x00,0xE2,0x00,0xE8,0x00,0xEE,0x00,0xF5,0x01,0x03);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x1A,0x01,0x30,0x01,0x42,0x01,0x53,0x01,0x63,0x01,0x7D,0x01,0x94,0x01,0xA8,0x01,0xBB,0x01,0xCC,0x01,0xDC,0x01,0xEB);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0xF2,0x01,0xF9,0x01,0xFF,0x02,0x06,0x02,0x0C,0x02,0x12,0x02,0x18,0x02,0x1D,0x02,0x23,0x02,0x2A,0x02,0x2B);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x03);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAB,0x00,0xAC,0x00,0xAF,0x00,0xB4,0x00,0xB8,0x00,0xC1,0x00,0xC7,0x00,0xCD,0x00,0xD4,0x00,0xD8,0x00,0xE2);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xF4,0x01,0x02,0x01,0x0F,0x01,0x1C,0x01,0x28,0x01,0x3D,0x01,0x50,0x01,0x61,0x01,0x70,0x01,0x7D,0x01,0x8B,0x01,0x97);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x9D,0x01,0xA3,0x01,0xA9,0x01,0xAE,0x01,0xB3,0x01,0xB9,0x01,0xBE,0x01,0xC3,0x01,0xC7,0x01,0xCD,0x01,0xCE);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB6,0x00,0xBE,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC6,0x00,0xC7,0x00,0xC8,0x00,0xCC);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xD5,0x00,0xDE,0x00,0xE7,0x00,0xF1,0x00,0xF9,0x01,0x09,0x01,0x18,0x01,0x26,0x01,0x33,0x01,0x3E,0x01,0x49,0x01,0x54);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x59,0x01,0x5E,0x01,0x63,0x01,0x67,0x01,0x6B,0x01,0x70,0x01,0x74,0x01,0x79,0x01,0x7C,0x01,0x80,0x01,0x81);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC5,0x00,0xC6,0x00,0xC7,0x00,0xCA,0x00,0xCD,0x00,0xD2,0x00,0xD6,0x00,0xDA,0x00,0xE0,0x00,0xE4,0x00,0xEE);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x01,0x03,0x01,0x14,0x01,0x24,0x01,0x34,0x01,0x41,0x01,0x59,0x01,0x6E,0x01,0x80,0x01,0x92,0x01,0xA0,0x01,0xAF,0x01,0xBC);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0xC3,0x01,0xCA,0x01,0xD0,0x01,0xD6,0x01,0xDB,0x01,0xE1,0x01,0xE6,0x01,0xEB,0x01,0xF0,0x01,0xF6,0x01,0xF7);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAD,0x00,0xAE,0x00,0xAF,0x00,0xB5,0x00,0xB6,0x00,0xB7,0x00,0xBC,0x00,0xBD,0x00,0xC5,0x00,0xCA,0x00,0xD4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xE1,0x00,0xED,0x00,0xF9,0x01,0x04,0x01,0x0D,0x01,0x20,0x01,0x31,0x01,0x40,0x01,0x4D,0x01,0x5A,0x01,0x66,0x01,0x71);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x76,0x01,0x7B,0x01,0x80,0x01,0x85,0x01,0x8A,0x01,0x8E,0x01,0x93,0x01,0x97,0x01,0x99,0x01,0x9F,0x01,0xA0);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xAD,0x00,0xBC,0x00,0xBE,0x00,0xBF,0x00,0xC0,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC7);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xCC,0x00,0xD1,0x00,0xD8,0x00,0xE0,0x00,0xE6,0x00,0xF4,0x01,0x00,0x01,0x0B,0x01,0x16,0x01,0x21,0x01,0x2A,0x01,0x34);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x38,0x01,0x3C,0x01,0x40,0x01,0x44,0x01,0x48,0x01,0x4C,0x01,0x50,0x01,0x54,0x01,0x59,0x01,0x5B,0x01,0x5C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC5,0x00,0xC6,0x00,0xC7,0x00,0xC8,0x00,0xC9,0x00,0xCA,0x00,0xCB,0x00,0xCF,0x00,0xD5,0x00,0xD8,0x00,0xE0);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x00,0xED,0x00,0xFB,0x01,0x09,0x01,0x17,0x01,0x22,0x01,0x38,0x01,0x4B,0x01,0x5C,0x01,0x6B,0x01,0x79,0x01,0x86,0x01,0x93);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0x98,0x01,0x9D,0x01,0xA3,0x01,0xA8,0x01,0xAE,0x01,0xB3,0x01,0xB7,0x01,0xBC,0x01,0xBE,0x01,0xC6,0x01,0xC7);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xA9,0x00,0xAD,0x00,0xAE,0x00,0xB0,0x00,0xB1,0x00,0xB2,0x00,0xB3,0x00,0xB4,0x00,0xB7,0x00,0xB8,0x00,0xC6);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xD3,0x00,0xDD,0x00,0xE6,0x00,0xEF,0x00,0xF7,0x01,0x07,0x01,0x14,0x01,0x22,0x01,0x2E,0x01,0x39,0x01,0x44,0x01,0x4E);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x52,0x01,0x56,0x01,0x5C,0x01,0x5F,0x01,0x64,0x01,0x68,0x01,0x6B,0x01,0x6D,0x01,0x71,0x01,0x77,0x01,0x78);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB3,0x00,0xBB,0x00,0xBD,0x00,0xBE,0x00,0xBF,0x00,0xC0,0x00,0xC1,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC5);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xC7,0x00,0xCA,0x00,0xCE,0x00,0xD2,0x00,0xD7,0x00,0xE2,0x00,0xEB,0x00,0xF6,0x00,0xFE,0x01,0x07,0x01,0x0F,0x01,0x17);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x01,0x1B,0x01,0x1E,0x01,0x22,0x01,0x25,0x01,0x29,0x01,0x2C,0x01,0x30,0x01,0x34,0x01,0x38,0x01,0x39,0x01,0x3A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xBD,0x00,0xC2,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC6,0x00,0xC7,0x00,0xC8,0x00,0xC9,0x00,0xD0,0x00,0xD6);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x00,0xDF,0x00,0xE9,0x00,0xF3,0x00,0xFD,0x01,0x07,0x01,0x1B,0x01,0x2A,0x01,0x3A,0x01,0x48,0x01,0x55,0x01,0x61,0x01,0x6C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0x71,0x01,0x75,0x01,0x7B,0x01,0x7F,0x01,0x84,0x01,0x88,0x01,0x8D,0x01,0x92,0x01,0x93,0x01,0x99,0x01,0x9A);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xBF,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB0,0x00,0x00,0x00,0xAA,0x00,0xAB,0x00,0xAC,0x00,0xAD,0x00,0xAE,0x00,0xAF,0x00,0xB0,0x00,0xB1,0x00,0xB2,0x00,0xB3,0x00,0xB4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB1,0x00,0xC0,0x00,0xC8,0x00,0xD1,0x00,0xD7,0x00,0xDE,0x00,0xE9,0x00,0xF4,0x00,0xFD,0x01,0x07,0x01,0x0F,0x01,0x18,0x01,0x20);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB2,0x01,0x24,0x01,0x28,0x01,0x2B,0x01,0x2E,0x01,0x32,0x01,0x36,0x01,0x39,0x01,0x3C,0x01,0x3D,0x01,0x43,0x01,0x44);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB3,0x00,0x00,0x00,0xB7,0x00,0xB9,0x00,0xBA,0x00,0xBB,0x00,0xBC,0x00,0xBD,0x00,0xBE,0x00,0xBF,0x00,0xC0,0x00,0xC1,0x00,0xC2);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB4,0x00,0xC3,0x00,0xC4,0x00,0xC6,0x00,0xC7,0x00,0xCA,0x00,0xCF,0x00,0xD5,0x00,0xDB,0x00,0xE2,0x00,0xE7,0x00,0xED,0x00,0xF4);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB5,0x00,0xF6,0x00,0xF9,0x00,0xFB,0x00,0xFE,0x01,0x02,0x01,0x04,0x01,0x07,0x01,0x08,0x01,0x0D,0x01,0x0E,0x01,0x0F);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB6,0x00,0x00,0x00,0xC3,0x00,0xC4,0x00,0xC5,0x00,0xC6,0x00,0xC7,0x00,0xC8,0x00,0xC9,0x00,0xCA,0x00,0xCB,0x00,0xCC,0x00,0xCD);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB7,0x00,0xD1,0x00,0xD6,0x00,0xDD,0x00,0xE3,0x00,0xEA,0x00,0xF7,0x01,0x03,0x01,0x0F,0x01,0x1B,0x01,0x24,0x01,0x2E,0x01,0x38);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 23, 0xB8,0x01,0x3C,0x01,0x41,0x01,0x45,0x01,0x49,0x01,0x4D,0x01,0x52,0x01,0x55,0x01,0x59,0x01,0x5A,0x01,0x61,0x01,0x62);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCE,0x01);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0xCC,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x02);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xB9,0x00,0x04,0x00,0x0C,0x00,0x14,0x00,0x1C,0x00,0x24,0x00,0x2C,0x00,0x34,0x00,0x3C,0x00,0x44,0x00,0x4C,0x00,0x5C,0x00,0x7C);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 25, 0xBA,0x00,0x9C,0x00,0xBC,0x00,0xDC,0x00,0xFC,0x01,0x3C,0x01,0x7C,0x01,0xBC,0x01,0xFC,0x02,0x3C,0x02,0x7C,0x02,0xBC,0x02,0xDC);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 21, 0xBB,0x02,0xFC,0x03,0x1C,0x03,0x3C,0x03,0x5C,0x03,0x7C,0x03,0x9C,0x03,0xBC,0x03,0xDC,0x03,0xFC,0x03,0xFF);
|
||
delayUs(50);
|
||
#endif
|
||
|
||
#if 1 //TEST
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
// delayUs(50);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0xBE, 0x18);
|
||
// delayUs(50);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0x6F, 0x07);
|
||
// delayUs(50);
|
||
// hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0xBE, 0x04);
|
||
// delayUs(50);
|
||
#endif
|
||
|
||
#if 1
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xF0,0x55,0xAA,0x52,0x08,0x00);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0xC0, 0x55);
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0X3B, 0x00,0x10,0x00,0X10);// 10 10
|
||
delayUs(50);
|
||
hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0x90, 0x00);
|
||
delayUs(50);
|
||
|
||
// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0XEE, 0x87,0x78,0x02,0X40); // BIST MODE
|
||
// hal_dsi_tx_ctrl_write_cmd(0x15, 0, 2, 0xEF, 0x01); // BIST ENABLE
|
||
|
||
hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x2C);
|
||
#endif
|
||
|
||
|
||
#if 0
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x51, 0x01, 0x00); //最大0FFF
|
||
hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x11);
|
||
|
||
hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); //LED_ON
|
||
soft_te_timer_init();
|
||
delayMs(50); //42//50
|
||
Gpio_swire_output(2, 40); //40
|
||
delayMs(20);
|
||
hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x29);
|
||
#else
|
||
//极少数待机起来会闪一下,要用此时序
|
||
hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x51, 0x01, 0x00); //最大0FFF
|
||
hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x11);
|
||
|
||
hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); //LED_ON
|
||
soft_te_timer_init();
|
||
delayMs(45); //45
|
||
Gpio_swire_output(2, 40); //40
|
||
delayMs(20); //20
|
||
// hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x29);
|
||
#endif
|
||
|
||
#endif
|
||
|
||
/* exit send initial code mode*/
|
||
hal_dsi_tx_ctrl_exit_init_panel_mode();
|
||
delayMs(20);
|
||
}
|
||
|
||
void blue_change_ccm(void)
|
||
{
|
||
ccm_coef_t ccm;
|
||
ccm.coef_c00 = 260; // 250
|
||
ccm.coef_c01 = 0;
|
||
ccm.coef_c02 = 0;
|
||
ccm.coef_c10 = 0;
|
||
ccm.coef_c11 = 250; // 250
|
||
ccm.coef_c12 = 0;
|
||
ccm.coef_c20 = 0;
|
||
ccm.coef_c21 = 0;
|
||
ccm.coef_c22 = 260;
|
||
|
||
hal_dsi_tx_ctrl_set_ccm(ccm);
|
||
}
|
||
|
||
static void open_mipi_rx(void)
|
||
{
|
||
/* 配置TE引脚 */
|
||
hal_gpio_set_mode(IO_PAD_AP_TE, IO_MODE_TEAR);
|
||
|
||
if (g_rx_ctrl_handle == NULL)
|
||
{
|
||
/* 创建rx ctrl handle */
|
||
g_rx_ctrl_handle = hal_dsi_rx_ctrl_create_handle();
|
||
}
|
||
/* 配置参数 */
|
||
g_rx_ctrl_handle->base_info.src_w = INPUT_WIDTH;
|
||
g_rx_ctrl_handle->base_info.src_h = INPUT_HEIGHT;
|
||
g_rx_ctrl_handle->base_info.dst_w = OUTPUT_WIDTH;
|
||
g_rx_ctrl_handle->base_info.dst_h = OUTPUT_HEIGHT;
|
||
g_rx_ctrl_handle->base_info.src_frate = INPUT_FRAME_RATE;
|
||
g_rx_ctrl_handle->base_info.src_mode = INPUT_DATA_MODE;
|
||
g_rx_ctrl_handle->rx_color_mode = INPUT_COLOR_MODE;
|
||
g_rx_ctrl_handle->rx_lanes = INPUT_MIPI_LANE_NUM;
|
||
g_rx_ctrl_handle->rx_nonburst_models = INPUT_VIDEO_MODEL; /* 可不配置 */
|
||
g_rx_ctrl_handle->rx_vc = INPUT_VC;
|
||
g_rx_ctrl_handle->compress_en = INPUT_COMPRESS;
|
||
g_rx_ctrl_handle->rx_hsclk_rate = INPUT_MIPI_LANE_RATE;
|
||
g_rx_ctrl_handle->cus_dcs_entry_table = g_cus_rx_dcs_execute_table; /* 注册 DCS处理列表 */
|
||
g_rx_ctrl_handle->rx_dcs_read_entry = ap_dcs_read; /* 注册dsc read 回调函数,可选,此函数为空时由cus_dcs_entry_table执行 */
|
||
g_rx_ctrl_handle->pps_update_entry = pps_update_handle;
|
||
#if 1//这个打开会导致开机分屏。打印信息TX有问题
|
||
g_rx_ctrl_handle->pq_marginal = 3;
|
||
g_rx_ctrl_handle->err_handler_level = ERR_HANDLE_L2;
|
||
g_rx_ctrl_handle->hight_performan_mode = HIGHT_PERFORMAN_L2;
|
||
#endif
|
||
/* 提前预置PPS, AP 有PPS cmd也会更新 */
|
||
if (g_rx_ctrl_handle->compress_en == true)
|
||
{
|
||
#if 1
|
||
uint8_t pps[128] = {
|
||
#if 1// 0: MI10
|
||
0x11,0x00,0x00,0x89,0x30,0x80,0x09,0x24,0x04,0x38,0x00,0x41,0x02,0x1C,0x02,0x1C,
|
||
0x02,0x00,0x02,0x0E,0x00,0x20,0x06,0x50,0x00,0x07,0x00,0x0C,0x01,0x80,0x01,0x91,
|
||
0x18,0x00,0x10,0xF0,0x03,0x0C,0x20,0x00,0x06,0x0B,0x0B,0x33,0x0E,0x1C,0x2A,0x38,
|
||
0x46,0x54,0x62,0x69,0x70,0x77,0x79,0x7B,0x7D,0x7E,0x01,0x02,0x01,0x00,0x09,0x40,
|
||
0x09,0xBE,0x19,0xFC,0x19,0xFA,0x19,0xF8,0x1A,0x38,0x1A,0x78,0x1A,0xB6,0x2A,0xF6,
|
||
0x2B,0x34,0x2B,0x74,0x3B,0x74,0x6B,0xF4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
|
||
#else
|
||
0x11,0x00,0x00,0x89,0x30,0x80,0x09,0x24,0x04,0x38,0x00,0x0C,0x02,0x1C,0x02,0x1C,
|
||
0x02,0x00,0x02,0x0E,0x00,0x20,0x01,0x1F,0x00,0x07,0x00,0x0C,0x08,0xBB,0x08,0x7A,
|
||
0x18,0x00,0x10,0xF0,0x03,0x0C,0x20,0x00,0x06,0x0B,0x0B,0x33,0x0E,0x1C,0x2A,0x38,
|
||
0x46,0x54,0x62,0x69,0x70,0x77,0x79,0x7B,0x7D,0x7E,0x01,0x02,0x01,0x00,0x09,0x40,
|
||
0x09,0xBE,0x19,0xFC,0x19,0xFA,0x19,0xF8,0x1A,0x38,0x1A,0x78,0x1A,0xB6,0x2A,0xF6,
|
||
0x2B,0x34,0x2B,0x74,0x3B,0x74,0x6B,0xF4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||
#endif
|
||
};
|
||
|
||
#endif
|
||
hal_dsi_rx_ctrl_pre_init_pps(g_rx_ctrl_handle, pps, 128);
|
||
}
|
||
|
||
/* 初始化rx ctrl */
|
||
hal_dsi_rx_ctrl_init(g_rx_ctrl_handle);
|
||
|
||
#ifdef USE_FOR_SUMSUNG_S20
|
||
hal_dsi_rx_ctrl_set_cus_sync_line(g_rx_ctrl_handle, 2000);// lss add, 撕裂问题1600
|
||
#endif
|
||
|
||
// hal_dsi_rx_ctrl_set_cus_sync_line(g_rx_ctrl_handle, 1800);
|
||
#if CUS_SCLD_FILTER
|
||
// hal_dsi_rx_ctrl_set_cus_scld_filter(g_rx_ctrl_handle, rx_filter_hd_1080_h, rx_filter_hd_1080_v);// rx_1080_filter_H_2, rx_1080_filter_V_2
|
||
// hal_dsi_rx_ctrl_set_cus_scld_filter(g_rx_ctrl_handle, rx_filter_H, rx_filter_V);
|
||
hal_dsi_rx_ctrl_set_cus_scld_filter(g_rx_ctrl_handle, rx_filter_1080_h_4_86, rx_filter_2340_v_4_95);//
|
||
#endif
|
||
|
||
#if 1
|
||
// hal_dsi_rx_ctrl_hight_performan_mode(g_rx_ctrl_handle);
|
||
#endif
|
||
|
||
/* 启动rx ctrl */
|
||
hal_dsi_rx_ctrl_start(g_rx_ctrl_handle);
|
||
// hal_dsi_rx_ctrl_set_cus_esc_clk(g_rx_ctrl_handle,20000000);
|
||
// hal_dsi_rx_ctrl_set_cus_pq_enh_chr(g_rx_ctrl_handle, 400, 0);
|
||
// hal_dsi_rx_ctrl_set_cus_pq_gain(g_rx_ctrl_handle,256, 253, 256);
|
||
blue_change_ccm();
|
||
}
|
||
|
||
static void init_mipi_tx(void)
|
||
{
|
||
if (g_tx_ctrl_handle == NULL)
|
||
{
|
||
g_tx_ctrl_handle = hal_dsi_tx_ctrl_create_handle();
|
||
}
|
||
g_tx_ctrl_handle->channel_id = OUTPUT_VC;
|
||
g_tx_ctrl_handle->lane_num = OUTPUT_LANE_NUMBER;
|
||
g_tx_ctrl_handle->vid_mode = OUTPUT_VIDEO_MODEL;
|
||
g_tx_ctrl_handle->cmd_tx_type = _CMD_TYPE;
|
||
g_tx_ctrl_handle->dpi_vsa = OUTPUT_VSA;
|
||
g_tx_ctrl_handle->dpi_vbp = OUTPUT_VBP;
|
||
g_tx_ctrl_handle->dpi_vfp = OUTPUT_VFP;
|
||
g_tx_ctrl_handle->dpi_hsa = OUTPUT_HSA;
|
||
g_tx_ctrl_handle->dpi_hbp = OUTPUT_HBP;
|
||
g_tx_ctrl_handle->dpi_hfp = OUTPUT_HFP;
|
||
g_tx_ctrl_handle->base_info.src_w = INPUT_WIDTH;
|
||
g_tx_ctrl_handle->base_info.src_h = INPUT_HEIGHT;
|
||
g_tx_ctrl_handle->base_info.dst_w = OUTPUT_WIDTH;
|
||
g_tx_ctrl_handle->base_info.dst_h = OUTPUT_HEIGHT;
|
||
g_tx_ctrl_handle->base_info.src_frate = INPUT_FRAME_RATE;
|
||
g_tx_ctrl_handle->base_info.src_mode = INPUT_DATA_MODE;
|
||
// g_tx_ctrl_handle->tx_frame_rate = 60;
|
||
// g_tx_ctrl_handle->tx_clkawayshs = true;
|
||
|
||
hal_dsi_tx_ctrl_init(g_tx_ctrl_handle);
|
||
/* AP 没有发送数据时默认的显示颜色, 量产为0 0 0(黑色), 配置其他颜色仅为debug使用 */
|
||
hal_dsi_tx_ctrl_set_overwrite_rgb(0x00, 0x00, 0x00);
|
||
}
|
||
|
||
static void tx_display_on(void)
|
||
{
|
||
init_panel();
|
||
|
||
hal_dsi_tx_ctrl_start(g_tx_ctrl_handle);
|
||
delayMs(100); //20
|
||
hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x29);
|
||
panel_display_done = true;
|
||
}
|
||
|
||
static void swire_timer_callback(void *data)
|
||
{
|
||
/*
|
||
if(Flag_blacklight_EN)
|
||
{
|
||
hal_swire_start(12, 12, 12, 12, SWIRE_DEFAULT_NUM);
|
||
}
|
||
else if(s20_power_on_flag)
|
||
{
|
||
hal_swire_start(12, 12, 12, 12, SWIRE_DEFAULT_NUM);
|
||
}
|
||
else
|
||
*/
|
||
{
|
||
hal_swire_start(12, 12, 12, 12, swire_num);
|
||
}
|
||
}
|
||
|
||
static void swire_callback(void *data)
|
||
{
|
||
/* swire 的是否需要一直发送需要根据手机定,不同手机不同 */
|
||
//if(start_display_on == false)
|
||
{
|
||
hal_timer_start(SWIRE_TIMER, 26, swire_timer_callback, NULL);
|
||
}
|
||
}
|
||
|
||
/* swire 初始化,通过 hal_swire_start 调整波形, 这里在循坏一直发送 */
|
||
static void swire_init()
|
||
{
|
||
hal_swire_open(DISABLE);
|
||
hal_swire_init();
|
||
/* swire 波形发生完成后回调函数 */
|
||
hal_swire_register_callback(swire_callback);
|
||
hal_swire_open(ENABLE);
|
||
//hal_swire_start(12, 12, 12, 12, 43);
|
||
hal_swire_start(12, 12, 12, 12, SWIRE_DEFAULT_NUM); //3~27,亮~暗,9.45V~7.43V
|
||
hal_timer_init(SWIRE_TIMER);
|
||
hal_timer_start(SWIRE_TIMER, 26, swire_timer_callback, NULL);
|
||
}
|
||
|
||
static void soft_swire_start(uint8_t pulse)
|
||
{
|
||
do
|
||
{
|
||
hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_LOW); // 3us
|
||
delayUs(10);
|
||
hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_HIGH); // 3us
|
||
delayUs(10);
|
||
}while(pulse--);
|
||
}
|
||
|
||
static void soft_swire_timer_callback(void *data)
|
||
{
|
||
// s_swire_pwm_counter++;
|
||
// if( s_swire_pwm_counter < SWIRE_MAX_NUM )
|
||
{
|
||
soft_swire_start(g_swire_num);
|
||
hal_timer_start(SWIRE_TIMER, 11, soft_swire_timer_callback, NULL);
|
||
}
|
||
/* else
|
||
{
|
||
hal_timer_deinit(SWIRE_TIMER);
|
||
hal_timer_stop(SWIRE_TIMER);
|
||
hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_HIGH);
|
||
}
|
||
*/
|
||
}
|
||
|
||
static void soft_swire_init(void)
|
||
{
|
||
hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_HIGH);
|
||
delayMs(3);
|
||
// s_swire_pwm_counter = 0;
|
||
soft_swire_start(g_swire_num);
|
||
hal_timer_init(SWIRE_TIMER);
|
||
hal_timer_start(SWIRE_TIMER, 16, soft_swire_timer_callback, NULL);
|
||
}
|
||
|
||
|
||
static void soft_te_timer_cb(void *data)
|
||
{
|
||
/*
|
||
S8 的屏接的是TP1.8V, AC 启动后需要等到TP1.8 起来后再初始化屏, 所以在TP 起来前需要通过软件产生TE给手机,避免手机卡死
|
||
*/
|
||
#if 0
|
||
hal_dsi_rx_ctrl_gen_a_tear_signal(g_rx_ctrl_handle);
|
||
hal_timer_start(TE_TIMER, 17, soft_te_timer_cb, NULL);
|
||
hal_dsi_rx_ctrl_set_te_waveform(g_rx_ctrl_handle,0,178);
|
||
|
||
#else
|
||
if (panel_display_done == false)
|
||
{
|
||
hal_dsi_rx_ctrl_gen_a_tear_signal(g_rx_ctrl_handle);
|
||
hal_timer_start(TE_TIMER, 17, soft_te_timer_cb, NULL);
|
||
}
|
||
else
|
||
{
|
||
hal_dsi_rx_ctrl_set_hw_tear_mode(g_rx_ctrl_handle);
|
||
//set_soft_tear_mode();
|
||
}
|
||
#endif
|
||
}
|
||
|
||
static void soft_te_timer_init()
|
||
{
|
||
// TAU_LOGD("soft_te_timer_init\n");
|
||
hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle);
|
||
hal_timer_init(TE_TIMER);
|
||
hal_timer_start(TE_TIMER, 10, soft_te_timer_cb, NULL);
|
||
}
|
||
|
||
#ifdef ADD_TIMER3_FUNCTION
|
||
static void soft_timer3_cb(void *data)
|
||
{
|
||
hal_timer_start(TIMER_NUM3, 10, soft_timer3_cb, NULL);
|
||
tp_sleep_count++;
|
||
if(phone_DisplayOFF_count>0)
|
||
{
|
||
phone_DisplayOFF_count++;
|
||
}
|
||
|
||
#if ADD_RUN_TEST
|
||
g_run_test_cnt++;
|
||
if (g_run_test_cnt > 300)
|
||
{
|
||
TAU_LOGD("system run...");
|
||
g_run_test_cnt = 0;
|
||
}
|
||
#endif
|
||
}
|
||
#endif
|
||
|
||
#ifdef USE_FOR_PANEL_RGB_TEST // TEST RGB, From Lin
|
||
void RGB_TEST(void)
|
||
{
|
||
tx_display_on();
|
||
while (1)
|
||
{
|
||
hal_dsi_tx_ctrl_start(g_tx_ctrl_handle);
|
||
hal_dsi_tx_ctrl_set_overwrite_rgb(0xFF, 0x00, 0x00); // RED
|
||
delayMs(1000);
|
||
|
||
hal_dsi_tx_ctrl_start(g_tx_ctrl_handle);
|
||
hal_dsi_tx_ctrl_set_overwrite_rgb(0x00, 0xFF, 0x00); // GREEN
|
||
delayMs(1000);
|
||
|
||
hal_dsi_tx_ctrl_start(g_tx_ctrl_handle);
|
||
hal_dsi_tx_ctrl_set_overwrite_rgb(0x00, 0x00, 0xFF); // BLUE
|
||
delayMs(1000);
|
||
|
||
hal_dsi_tx_ctrl_start(g_tx_ctrl_handle);
|
||
hal_dsi_tx_ctrl_set_overwrite_rgb(0xFF, 0xFF, 0xFF); // WHITE
|
||
delayMs(1000);
|
||
|
||
hal_dsi_tx_ctrl_start(g_tx_ctrl_handle);
|
||
hal_dsi_tx_ctrl_set_overwrite_rgb(0x00, 0x00, 0x00); // BLACK
|
||
delayMs(1000);
|
||
|
||
/*test pattern */
|
||
hal_dsi_tx_ctrl_set_partial_disp(DISABLE);
|
||
hal_dsi_tx_ctrl_set_partial_disp_area(0, 0, OUTPUT_HEIGHT - 1, OUTPUT_WIDTH - 1);
|
||
hal_dsi_tx_ctrl_set_partial_disp(ENABLE);
|
||
|
||
hal_dsi_rx_ctrl_enable_test_pattern(g_rx_ctrl_handle, 1, true);//close
|
||
hal_dsi_rx_ctrl_enable_test_pattern(g_rx_ctrl_handle, 1, false);//close
|
||
delayMs(1000);
|
||
|
||
hal_dsi_rx_ctrl_enable_test_pattern(g_rx_ctrl_handle, 0, true);//close
|
||
hal_dsi_rx_ctrl_enable_test_pattern(g_rx_ctrl_handle, 0, false);//close
|
||
delayMs(1000);
|
||
|
||
// TEST_PARTIAL_DISPLAY_CASE
|
||
function_state_e pd_en = DISABLE;
|
||
uint32_t img_W = 300;
|
||
uint32_t img_H = 600;
|
||
hal_dsi_tx_ctrl_set_overwrite_rgb(0x00, 0x00, 0x00);
|
||
|
||
hal_dsi_tx_ctrl_set_partial_disp(DISABLE);
|
||
hal_dsi_tx_ctrl_set_partial_disp_area(0, 0, img_H, img_W);
|
||
hal_dsi_tx_ctrl_set_partial_disp(ENABLE);
|
||
delayMs(1000);
|
||
|
||
hal_dsi_tx_ctrl_set_partial_disp(DISABLE);
|
||
hal_dsi_tx_ctrl_set_partial_disp_area(0, OUTPUT_WIDTH - img_W - 1, img_H, OUTPUT_WIDTH - 1);
|
||
hal_dsi_tx_ctrl_set_partial_disp(ENABLE);
|
||
delayMs(1000);
|
||
|
||
hal_dsi_tx_ctrl_set_partial_disp(DISABLE);
|
||
hal_dsi_tx_ctrl_set_partial_disp_area(OUTPUT_HEIGHT - img_H - 1, 0, OUTPUT_HEIGHT - 1, img_W);
|
||
hal_dsi_tx_ctrl_set_partial_disp(ENABLE);
|
||
delayMs(1000);
|
||
|
||
hal_dsi_tx_ctrl_set_partial_disp(DISABLE);
|
||
hal_dsi_tx_ctrl_set_partial_disp_area(2160 - img_H - 1, OUTPUT_WIDTH - img_W - 1, OUTPUT_HEIGHT - 1, OUTPUT_WIDTH - 1);
|
||
hal_dsi_tx_ctrl_set_partial_disp(ENABLE);delayMs(1000);hal_dsi_tx_ctrl_set_partial_disp(DISABLE);hal_dsi_tx_ctrl_set_partial_disp_area(600, 300, 600 + img_H, 300 + img_W);
|
||
hal_dsi_tx_ctrl_set_partial_disp(ENABLE);
|
||
delayMs(1000);
|
||
|
||
hal_dsi_tx_ctrl_set_partial_disp_area(0, 0, 0, 0);
|
||
}
|
||
}
|
||
#endif
|
||
|
||
#if ENABLE_TP_WAKE_UP
|
||
static bool reset_pre_high = false;
|
||
|
||
static bool need_reset = false;
|
||
static void ap_reset_high(void *data)
|
||
{
|
||
hal_system_set_pvd(true);
|
||
hal_system_set_vcc(true);
|
||
//printf("rising\n");
|
||
//delayMs(2);
|
||
NVIC_SystemReset();
|
||
}
|
||
|
||
static void ap_reset_low(void *data){
|
||
hal_gpio_set_ap_reset_int(ENABLE, ap_reset_high, DETECT_HIGH_LVL);
|
||
TAU_LOGD("set vcc false \n");
|
||
hal_system_set_vcc(false);
|
||
}
|
||
#endif
|
||
|
||
void tp_heartbeat_exec(void)
|
||
{
|
||
if (panel_display_done && g_mipi_path_off==false)
|
||
{
|
||
if(hal_gpio_get_input_data(IO_PAD_TD_INT) )
|
||
{
|
||
s_heartbeat = 0;
|
||
}
|
||
else
|
||
{
|
||
if(s_heartbeat < (65536/50)) // 65536*3 = 900ms 65536/50 = 6ms
|
||
{
|
||
s_heartbeat ++;
|
||
}else
|
||
{
|
||
// TAU_LOGD("hb");
|
||
s_heartbeat = 0;
|
||
// ap_tp_st_touch_software_reset();
|
||
ap_tp_st_touch_hardware_reset();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
void ap_demo(void)
|
||
{
|
||
#if defined(USE_FOR_MI10_PRO)
|
||
hal_gpio_init_output(IO_PAD_PWMEN, IO_LVL_LOW); // LED_ON
|
||
hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_LOW); // SWIRE
|
||
hal_gpio_init_output(IO_PAD_TD_LEDPWM, IO_LVL_LOW); // 息屏电路切换
|
||
#endif
|
||
phone_DisplayOFF_flag=0;
|
||
|
||
/* mipi rx初始化 */
|
||
open_mipi_rx();
|
||
TAU_LOGD("Mi10Pro 568 HX667 [%s %s]", __DATE__, __TIME__);
|
||
// TAU_LOGD("Mi10Pro V100 20230720");
|
||
/* swire 初始化 */
|
||
// swire_init();
|
||
|
||
/* 在TP1.8有电之前,使用软件产生TE,屏显示之后切换为硬件产生TE */
|
||
// soft_te_timer_init();
|
||
/* mipi tx 初始化*/
|
||
init_mipi_tx();
|
||
/* touch 相关模块初始化 */
|
||
#ifndef DISPLAY_ONLY
|
||
app_tp_init();
|
||
phone_86_flag=1;
|
||
phone_A6_flag=1;
|
||
phone_start_flag=0;
|
||
#endif
|
||
|
||
#ifdef ADD_TIMER3_FUNCTION
|
||
tp_sleep_count=0;
|
||
phone_DisplayOFF_count=1;
|
||
hal_timer_init(TIMER_NUM3);
|
||
hal_timer_start(TIMER_NUM3, 10, soft_timer3_cb, NULL);
|
||
TAU_LOGD("timer 3 init"); //debug
|
||
#endif
|
||
while (1)
|
||
{
|
||
if (s20_power_on_flag)
|
||
{
|
||
delayUs(100);
|
||
s20_power_on_flag++;
|
||
if (s20_power_on_flag >20000)
|
||
s20_power_on_flag =0;
|
||
}
|
||
|
||
/* 等待 AP TP 上电*/
|
||
if (start_display_on == true)
|
||
{
|
||
if (g_exit_sleep_mode == true)
|
||
{
|
||
/* 屏初始化 */
|
||
tx_display_on();
|
||
start_display_on = false;
|
||
// hal_gpio_init_output(IO_PAD_AP_INT, IO_LVL_LOW); //配置phone报点输出中断IO口
|
||
app_tp_phone_clear_reset_on();
|
||
#ifndef DISABLE_TDDI_I2C_FUNCTION
|
||
/* 与屏的TP 模块通讯并初始化 */
|
||
app_tp_transfer_screen_start();
|
||
#endif
|
||
|
||
#if ENABLE_TP_WAKE_UP
|
||
hal_gpio_set_ap_reset_int(ENABLE, ap_reset_cb, DETECT_RISING_EDGE);
|
||
#endif
|
||
|
||
#ifdef USE_FOR_PANEL_RGB_TEST
|
||
RGB_TEST();
|
||
#endif
|
||
}
|
||
}
|
||
|
||
if(phone_DisplayOFF_flag==1)
|
||
{
|
||
if(phone_DisplayOFF_count>800) //350
|
||
{
|
||
phone_DisplayOFF_count=0;
|
||
phone_start_flag=1;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if(phone_DisplayOFF_count>30)
|
||
{
|
||
phone_DisplayOFF_count=0;
|
||
phone_start_flag=1;
|
||
}
|
||
}
|
||
|
||
#ifndef DISABLE_TDDI_I2C_FUNCTION
|
||
/* 等待屏 TP 中断上报做TP 协议转换 */
|
||
app_tp_transfer_screen_int();
|
||
#endif
|
||
tp_heartbeat_exec();
|
||
ap_tp_st_touch_scan_point_record_event_exec();
|
||
#ifdef ADD_TP_CALIBRATION
|
||
app_tp_calibration_exec();
|
||
#endif
|
||
if (g_mipi_path_off == false)
|
||
{
|
||
while (hal_dsi_rx_ctrl_dsc_async_handler(g_rx_ctrl_handle));
|
||
}
|
||
|
||
#if ENABLE_TP_WAKE_UP
|
||
if (g_need_enter_sleep_mode)
|
||
{
|
||
g_mipi_path_off = true;
|
||
/* FIXME stop more model */
|
||
// g_swire_enable = false;
|
||
hal_gpio_init_output(IO_PAD_TD_LEDPWM, IO_LVL_HIGH);
|
||
hal_dsi_tx_ctrl_stop(g_tx_ctrl_handle);
|
||
hal_dsi_tx_ctrl_deinit(g_tx_ctrl_handle);
|
||
hal_dsi_rx_ctrl_stop(g_rx_ctrl_handle);
|
||
hal_dsi_rx_ctrl_deinit(g_rx_ctrl_handle);
|
||
|
||
hal_swire_open(DISABLE);
|
||
hal_swire_deinit();
|
||
hal_timer_stop(SWIRE_TIMER);
|
||
hal_timer_deinit(SWIRE_TIMER);
|
||
|
||
tp_sleep_in=1;//灭屏下,也有双击唤醒,所以需要将程序重新进入SLEEP 状态,JASON---20220804
|
||
|
||
hal_system_set_vcc(false);
|
||
// hal_gpio_set_ap_reset_int(ENABLE, ap_reset_low, DETECT_LOW_LVL);
|
||
TAU_LOGD("disable video path \n");
|
||
g_need_enter_sleep_mode = false;
|
||
}
|
||
#endif
|
||
|
||
#if ADD_RUN_TEST
|
||
// if (g_run_test_cnt > 0x7FFFF)
|
||
// {
|
||
// TAU_LOGD("system run...");
|
||
//// hal_gpio_set_output_data(IO_PAD_AP_INT, IO_LVL_LOW);
|
||
//// hal_gpio_set_output_data(IO_PAD_AP_INT, IO_LVL_HIGH);
|
||
// g_run_test_cnt = 0;
|
||
// }
|
||
// else
|
||
// {
|
||
// g_run_test_cnt++;
|
||
// }
|
||
#endif
|
||
|
||
/* enter idle mode*/
|
||
//hal_system_idle_mode(true);
|
||
}
|
||
}
|