增加TP校准功能

This commit is contained in:
邱淑萍 2023-07-05 15:00:38 +08:00
parent 3340d545a8
commit c194a1b790
22 changed files with 16527 additions and 12771 deletions

View File

@ -50,7 +50,7 @@
<InvalidFlash>1</InvalidFlash> <InvalidFlash>1</InvalidFlash>
</TargetStatus> </TargetStatus>
<OutputDirectory>.\Objects\</OutputDirectory> <OutputDirectory>.\Objects\</OutputDirectory>
<OutputName>ISP_568T_S21P_20230517</OutputName> <OutputName>ISP_568T_S21P_20230628</OutputName>
<CreateExecutable>1</CreateExecutable> <CreateExecutable>1</CreateExecutable>
<CreateLib>0</CreateLib> <CreateLib>0</CreateLib>
<CreateHexFile>1</CreateHexFile> <CreateHexFile>1</CreateHexFile>
@ -313,7 +313,7 @@
</ArmAdsMisc> </ArmAdsMisc>
<Cads> <Cads>
<interw>1</interw> <interw>1</interw>
<Optim>1</Optim> <Optim>2</Optim>
<oTime>0</oTime> <oTime>0</oTime>
<SplitLS>0</SplitLS> <SplitLS>0</SplitLS>
<OneElfS>1</OneElfS> <OneElfS>1</OneElfS>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637] ; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\board.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\board.d --cpu=Cortex-M0 --apcs=interwork -O0 --diag_suppress=9931 -I..\..\src -I..\..\src\board -I..\..\src\common -I..\..\src\sdk\include -I..\..\src\app\demo -I..\..\src\sdk\include\M0 -I..\..\src\app -I..\..\src\app\module_demo -I..\..\src\app\touch -I..\..\src\app\S8 -I..\..\src\app\S9 -I..\CVWL568 -I..\..\src\app\s21p -I.\RTE\_ISP_568T -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_568 --omf_browse=.\objects\board.crf ..\..\src\board\board.c] ; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\board.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\board.d --cpu=Cortex-M0 --apcs=interwork -O1 --diag_suppress=9931 -I..\..\src -I..\..\src\board -I..\..\src\common -I..\..\src\sdk\include -I..\..\src\app\demo -I..\..\src\sdk\include\M0 -I..\..\src\app -I..\..\src\app\module_demo -I..\..\src\app\touch -I..\..\src\app\S8 -I..\..\src\app\S9 -I..\CVWL568 -I..\..\src\app\s21p -I.\RTE\_ISP_568T -IC:\Users\55\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\55\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_568 --omf_browse=.\objects\board.crf ..\..\src\board\board.c]
THUMB THUMB
AREA ||i.board_Init||, CODE, READONLY, ALIGN=2 AREA ||i.board_Init||, CODE, READONLY, ALIGN=2
@ -42,7 +42,7 @@
AREA ||.rev16_text||, CODE AREA ||.rev16_text||, CODE
THUMB THUMB
EXPORT |__asm___7_board_c_bcd01269____REV16| EXPORT |__asm___7_board_c_bcd01269____REV16|
#line 467 "C:\\Keil_v5\\ARM\\PACK\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h" #line 467 "C:\\Users\\55\\AppData\\Local\\Arm\\Packs\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h"
|__asm___7_board_c_bcd01269____REV16| PROC |__asm___7_board_c_bcd01269____REV16| PROC
#line 468 #line 468

View File

@ -1,5 +1,5 @@
; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637] ; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\main.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\main.d --cpu=Cortex-M0 --apcs=interwork -O0 --diag_suppress=9931 -I..\..\src -I..\..\src\board -I..\..\src\common -I..\..\src\sdk\include -I..\..\src\app\demo -I..\..\src\sdk\include\M0 -I..\..\src\app -I..\..\src\app\module_demo -I..\..\src\app\touch -I..\..\src\app\S8 -I..\..\src\app\S9 -I..\CVWL568 -I..\..\src\app\s21p -I.\RTE\_ISP_568T -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_568 --omf_browse=.\objects\main.crf ..\..\src\app\main.c] ; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\main.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\main.d --cpu=Cortex-M0 --apcs=interwork -O1 --diag_suppress=9931 -I..\..\src -I..\..\src\board -I..\..\src\common -I..\..\src\sdk\include -I..\..\src\app\demo -I..\..\src\sdk\include\M0 -I..\..\src\app -I..\..\src\app\module_demo -I..\..\src\app\touch -I..\..\src\app\S8 -I..\..\src\app\S9 -I..\CVWL568 -I..\..\src\app\s21p -I.\RTE\_ISP_568T -IC:\Users\55\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\55\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_568 --omf_browse=.\objects\main.crf ..\..\src\app\main.c]
THUMB THUMB
AREA ||i.main||, CODE, READONLY, ALIGN=1 AREA ||i.main||, CODE, READONLY, ALIGN=1
@ -12,8 +12,6 @@
;;;11 board_Init(); ;;;11 board_Init();
;;;12 ;;;12
;;;13 while (1) ;;;13 while (1)
000004 e003 B |L1.14|
|L1.6|
;;;14 { ;;;14 {
;;;15 #if _DEMO_DSI_TX_EN ;;;15 #if _DEMO_DSI_TX_EN
;;;16 demo_dsi_tx_case(); ;;;16 demo_dsi_tx_case();
@ -59,14 +57,11 @@
;;;56 ;;;56
;;;57 #if _DEMO_S21P_EN ;;;57 #if _DEMO_S21P_EN
;;;58 S21P_demo(); ;;;58 S21P_demo();
000006 f7fffffe BL S21P_demo 000004 f7fffffe BL S21P_demo
|L1.8|
;;;59 #endif ;;;59 #endif
;;;60 while (1); ;;;60 while (1);
00000a bf00 NOP 000008 e7fe B |L1.8|
|L1.12|
00000c e7fe B |L1.12|
|L1.14|
00000e e7fa B |L1.6|
;;;61 } ;;;61 }
;;;62 } ;;;62 }
ENDP ENDP
@ -78,7 +73,7 @@
AREA ||.rev16_text||, CODE AREA ||.rev16_text||, CODE
THUMB THUMB
EXPORT |__asm___6_main_c_main____REV16| EXPORT |__asm___6_main_c_main____REV16|
#line 467 "C:\\Keil_v5\\ARM\\PACK\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h" #line 467 "C:\\Users\\55\\AppData\\Local\\Arm\\Packs\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h"
|__asm___6_main_c_main____REV16| PROC |__asm___6_main_c_main____REV16| PROC
#line 468 #line 468

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -115,12 +115,16 @@
#define g_swire_num 40 #define g_swire_num 40
#define SWIRE_MAX_NUM 10 #define SWIRE_MAX_NUM 10
#define AUTO_CAL_TP 0
#define RUN_TEST 0
#if AUTO_CAL_TP
static uint16_t g_cal_cnt = 300; //3s倒计时进入TP校准
#endif
/* /*
RX Filter 1~3 齿 RX Filter 1~3 齿
TX Filter 1~3 齿齿 TX Filter 1~3 齿齿
*/ */
uint32_t s_heartbeat = 0; uint32_t s_heartbeat = 0;
#if ENABLE_TP_WAKE_UP #if ENABLE_TP_WAKE_UP
@ -135,6 +139,8 @@ static hal_dsi_tx_ctrl_handle_t* g_tx_ctrl_handle = NULL;
static volatile bool start_display_on = true; static volatile bool start_display_on = true;
/* 屏初始化完成标志位 */ /* 屏初始化完成标志位 */
static bool panel_display_done = true; static bool panel_display_done = true;
static bool g_exit_sleep_mode = false;
extern volatile bool s_calibration_flag;
uint8_t s_swire_pwm_counter = 0; uint8_t s_swire_pwm_counter = 0;
@ -153,7 +159,7 @@ 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_set_output_data_ex(POWER_IO_B, IO_LVL_HIGH, POWER_IO_A, IO_LVL_LOW);
// hal_gpio_set_output_data(POWER_IO_A, IO_LVL_LOW);// // hal_gpio_set_output_data(POWER_IO_A, IO_LVL_LOW);//
/* 打开VCC供电 */ /* 打开VCC供电 */
TAU_LOGD("disable reset!!!!!!!!!!!!!!!!!!!!!!!!!!"); TAU_LOGD("disable reset!!!!!!!!!!!!!");
hal_system_set_pvd(true); hal_system_set_pvd(true);
hal_system_set_vcc(true); hal_system_set_vcc(true);
NVIC_SystemReset(); NVIC_SystemReset();
@ -1262,6 +1268,7 @@ static bool pps_update_handle(uint8_t* pps, uint8_t size, uint32_t pic_width, ui
hal_dsi_rx_ctrl_toggle_resolution(g_rx_ctrl_handle); hal_dsi_rx_ctrl_toggle_resolution(g_rx_ctrl_handle);
// TAU_LOGD("resolution update w[%d] h[%d] compress[%d]\n", pic_width, pic_height, g_rx_ctrl_handle->compress_en); // TAU_LOGD("resolution update w[%d] h[%d] compress[%d]\n", pic_width, pic_height, g_rx_ctrl_handle->compress_en);
} }
g_exit_sleep_mode = true;
TAU_LOGD("PPS Update\n"); TAU_LOGD("PPS Update\n");
// hal_dsi_rx_ctrl_set_hw_tear_mode(g_rx_ctrl_handle); // hal_dsi_rx_ctrl_set_hw_tear_mode(g_rx_ctrl_handle);
return true; return true;
@ -1312,34 +1319,20 @@ static bool ap_set_enter_sleep_mode(hal_dsi_rx_ctrl_handle_t* handler, hal_dcs_p
#endif #endif
*/ */
TAU_LOGD("enter sleep mode"); TAU_LOGD("enter sleep mode");
g_exit_sleep_mode = false;
return true; return true;
} }
static bool ap_set_exit_sleep_mode(hal_dsi_rx_ctrl_handle_t* handler, hal_dcs_packet_t* dcs_packet) static bool ap_set_exit_sleep_mode(hal_dsi_rx_ctrl_handle_t* handler, hal_dcs_packet_t* dcs_packet)
{ {
TAU_LOGD("enter exit sleep mode\n"); TAU_LOGD("enter exit sleep mode\n");
g_exit_sleep_mode = true;
/* AVDD 上电, 用于解决息屏开屏PPS不更新问题 */ /* AVDD 上电, 用于解决息屏开屏PPS不更新问题 */
// hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); // hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH);
// hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH); // hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH);
return true; return true;
} }
static bool ap_set_tear_on(hal_dsi_rx_ctrl_handle_t* handler, hal_dcs_packet_t* dcs_packet)
{
if(panel_display_done == true)
{
hal_dsi_rx_ctrl_set_hw_tear_mode(g_rx_ctrl_handle);
TAU_LOGD("hw te\n");
}
else
{
//soft_te_timer_init();
hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle);
hal_dsi_rx_ctrl_gen_a_tear_signal(g_rx_ctrl_handle);
TAU_LOGD("sw gen te\n");
}
return true;
}
static bool ap_update_frame_rate(hal_dsi_rx_ctrl_handle_t* handler, hal_dcs_packet_t* dcs_packet) static bool ap_update_frame_rate(hal_dsi_rx_ctrl_handle_t* handler, hal_dcs_packet_t* dcs_packet)
{ {
static uint8_t frame_rate = 100; static uint8_t frame_rate = 100;
@ -1402,7 +1395,7 @@ static bool ap_set_hbm_53(hal_dsi_rx_ctrl_handle_t* handler, hal_dcs_packet_t* d
{ {
g_tp_sleep_in = false; g_tp_sleep_in = false;
} }
TAU_LOGD("53:[%2x]", dcs_packet->packet_param[0]); // TAU_LOGD("53:[%2x]", dcs_packet->packet_param[0]);
return true; return true;
} }
@ -1517,7 +1510,8 @@ static void send_panel_init_code(uint32_t size, uint8_t* data)
//#define USE_PARAS_OLED_HD_1101 //#define USE_PARAS_OLED_HD_1101
#if 1 #if 1
const uint8_t panel_init_code[] = { const uint8_t panel_init_code[] =
{
#if 1 //S21P ICNA3511 #if 1 //S21P ICNA3511
0x29, 0, 3, 0x9C, 0xA5, 0xA5, 0x29, 0, 3, 0x9C, 0xA5, 0xA5,
@ -3539,7 +3533,7 @@ static void init_panel(void)
/* reset panel*/ /* reset panel*/
tx_panel_reset(); tx_panel_reset();
hal_gpio_init_output(IO_PAD_TD_LEDPWM, IO_LVL_HIGH); hal_gpio_init_output(IO_PAD_TD_LEDPWM, IO_LVL_LOW);
/* enter send initial code mode*/ /* enter send initial code mode*/
hal_dsi_tx_ctrl_enter_init_panel_mode(); hal_dsi_tx_ctrl_enter_init_panel_mode();
@ -3568,10 +3562,10 @@ static void init_panel(void)
delayMs(10); delayMs(10);
} }
static void frame_start_cb(hal_rx_dbg_event_e event) //static void frame_start_cb(hal_rx_dbg_event_e event)
{ //{
TAU_LOGD("frame start\n"); // TAU_LOGD("frame start\n");
} //}
static void open_mipi_rx(void) static void open_mipi_rx(void)
{ {
@ -3675,33 +3669,6 @@ static void tx_display_on(void)
delayMs(20); delayMs(20);
} }
static void swire_timer_callback(void* data)
{
hal_swire_start(12, 12, 12, 12, 36);
}
static void swire_callback(void* data)
{
/* swire 的是否需要一直发送需要根据手机定,不同手机不同 */
//if(start_display_on == false)
{
hal_timer_start(SWIRE_TIMER, 16, 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, 36);
hal_timer_init(SWIRE_TIMER);
hal_timer_start(SWIRE_TIMER, 16, swire_timer_callback, NULL);
}
static void soft_swire_start(uint8_t pulse) static void soft_swire_start(uint8_t pulse)
{ {
do do
@ -3710,7 +3677,8 @@ static void soft_swire_start(uint8_t pulse)
delayUs(10); delayUs(10);
hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_HIGH); // 3us hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_HIGH); // 3us
delayUs(10); delayUs(10);
}while(pulse--); }
while(pulse--);
} }
static void soft_swire_timer_callback(void* data) static void soft_swire_timer_callback(void* data)
{ {
@ -3754,13 +3722,13 @@ static void soft_te_timer_cb(void* data)
} }
} }
static void soft_te_timer_init() //static void soft_te_timer_init()
{ //{
TAU_LOGD("soft_te_timer_init\n"); // TAU_LOGD("soft_te_timer_init\n");
hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle); // hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle);
hal_timer_init(TE_TIMER); // hal_timer_init(TE_TIMER);
hal_timer_start(TE_TIMER, 1, soft_te_timer_cb, NULL); // hal_timer_start(TE_TIMER, 1, soft_te_timer_cb, NULL);
} //}
void tp_heartbeat_exec(void) void tp_heartbeat_exec(void)
{ {
@ -3775,7 +3743,8 @@ void tp_heartbeat_exec(void)
if(s_heartbeat < (65536 / 50)) // 65536*3 = 900ms 65536/50 = 6ms if(s_heartbeat < (65536 / 50)) // 65536*3 = 900ms 65536/50 = 6ms
{ {
s_heartbeat ++; s_heartbeat ++;
}else }
else
{ {
TAU_LOGD("hb..."); TAU_LOGD("hb...");
s_heartbeat = 0; s_heartbeat = 0;
@ -3791,6 +3760,20 @@ static void soft_timer3_cb(void *data)
hal_timer_start(TIMER_NUM3, 10, soft_timer3_cb, NULL); hal_timer_start(TIMER_NUM3, 10, soft_timer3_cb, NULL);
g_tp_sleep_delay_count++; g_tp_sleep_delay_count++;
#if AUTO_CAL_TP
if(g_exit_sleep_mode)
{
if(g_cal_cnt > 0)
{
g_cal_cnt--;
if(g_cal_cnt == 0)
{
s_calibration_flag = true;
TAU_LOGD("Start cal tp!\n");
}
}
}
#endif
} }
#endif #endif
@ -3841,6 +3824,8 @@ void S21P_demo(void)
{ {
/* 等待 AP TP 上电*/ /* 等待 AP TP 上电*/
if(start_display_on == true) if(start_display_on == true)
{
if(g_exit_sleep_mode)
{ {
/* 屏初始化 */ /* 屏初始化 */
tx_display_on(); tx_display_on();
@ -3852,12 +3837,13 @@ void S21P_demo(void)
hal_gpio_set_ap_reset_int(ENABLE, ap_reset_cb, DETECT_RISING_EDGE); hal_gpio_set_ap_reset_int(ENABLE, ap_reset_cb, DETECT_RISING_EDGE);
#endif #endif
} }
}
/* 与屏的TP 模块通讯并初始化 */ /* 与屏的TP 模块通讯并初始化 */
app_tp_transfer_screen_int(); app_tp_transfer_screen_int();
// tp_heartbeat_exec(); tp_heartbeat_exec();
// app_tp_calibration_exec(); app_tp_calibration_exec();
// ap_tp_st_touch_scan_point_record_event_exec(); ap_tp_st_touch_scan_point_record_event_exec();
while(hal_dsi_rx_ctrl_dsc_async_handler(g_rx_ctrl_handle)) while(hal_dsi_rx_ctrl_dsc_async_handler(g_rx_ctrl_handle))
{ {
@ -3883,10 +3869,18 @@ void S21P_demo(void)
//hal_gpio_init_output(IO_PAD_TD_TPRSTN, IO_LVL_LOW); //hal_gpio_init_output(IO_PAD_TD_TPRSTN, IO_LVL_LOW);
// hal_system_set_vcc(false); //关VCC有屏唤不醒 // hal_system_set_vcc(false); //关VCC有屏唤不醒
// hal_system_set_pvd(false); // // hal_system_set_pvd(false); //
hal_gpio_set_output_data(IO_PAD_TD_LEDPWM, IO_LVL_HIGH);
TAU_LOGD("disable video path \n"); TAU_LOGD("disable video path \n");
g_need_enter_sleep_mode = false; g_need_enter_sleep_mode = false;
} }
#endif
#if RUN_TEST
static uint32_t test_cnt = 0;
if(test_cnt++ > 0x1fffff)
{
test_cnt = 0;
TAU_LOGD("System run 1...");
}
#endif #endif
/* enter idle mode*/ /* enter idle mode*/
//hal_system_idle_mode(true); //hal_system_idle_mode(true);

View File

@ -545,7 +545,7 @@ uint8_t app_tp_screen_analysis_int(uint8_t transfer_now, uint8_t *rxbuffer, size
Touch.Event_Single_Flag = 1; Touch.Event_Single_Flag = 1;
// phone_reg_coord_BUF_NUM = 0; // phone_reg_coord_BUF_NUM = 0;
TAU_LOGD("TP [%d]\n", g_tp_sleep_in); // TAU_LOGD("TP [%d]\n", g_tp_sleep_in);
if (g_tp_sleep_in == false) if (g_tp_sleep_in == false)
{ {

View File

@ -21,11 +21,12 @@
#include "hal_spi_master.h" #include "hal_spi_master.h"
#include "hal_spi_slave.h" #include "hal_spi_slave.h"
#include "tau_log.h" #include "tau_log.h"
#include "tau_delay.h"
#include "app_tp_st_touch.h" #include "app_tp_st_touch.h"
#define ST_TP_CALIBRATION_SUCCESS 0x5A // У׼³É¹¦±êÖ¾ #define ST_TP_CALIBRATION_SUCCESS 0x5A // У׼³É¹¦±êÖ¾
static volatile bool s_calibration_flag = false; volatile bool s_calibration_flag = false;
static volatile uint8_t s_calibration_correct_flag = false; static volatile uint8_t s_calibration_correct_flag = false;
st_tp_scan_data tp_scan_data; st_tp_scan_data tp_scan_data;
@ -175,7 +176,7 @@ bool ap_set_tp_calibration_04(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_
for(i = 0; i < dcs_packet->param_length; i++) for(i = 0; i < dcs_packet->param_length; i++)
{ {
param[i + 1] = dcs_packet->packet_param[i]; param[i + 1] = dcs_packet->packet_param[i];
printf("%02x ",dcs_packet->packet_param[i]); // printf("%02x ",dcs_packet->packet_param[i]);
} }
param[0] = 0x04; param[0] = 0x04;
@ -520,7 +521,7 @@ void ap_tp_st_touch_scan_point_record_event_exec(void)
{ {
if(tp_scan_data.tp_read_point_counter > 0) // ÓвÐÁôµã if(tp_scan_data.tp_read_point_counter > 0) // ÓвÐÁôµã
{ {
printf("release finger %2d\n",tp_scan_data.tp_read_point_counter); // printf("release finger %2d\n",tp_scan_data.tp_read_point_counter);
tp_scan_data.tp_read_point_counter = 0; tp_scan_data.tp_read_point_counter = 0;
ap_tp_st_touch_simulate_finger_release_event(); ap_tp_st_touch_simulate_finger_release_event();
} }

View File

@ -296,6 +296,7 @@ typedef enum
ERR_HANDLE_L1 = 1, ERR_HANDLE_L1 = 1,
ERR_HANDLE_L2 = 2, ERR_HANDLE_L2 = 2,
ERR_HANDLE_L3 = 3, ERR_HANDLE_L3 = 3,
ERR_HANDLE_L4 = 4,
ERR_HANDLE_MAX ERR_HANDLE_MAX
} hal_err_handle_level_e; } hal_err_handle_level_e;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -69,7 +69,7 @@ typedef struct hal_dsi_rx_ctrl_handle_t
hal_dsi_rx_ctrl_pps_entry pps_update_entry; /* PPS Update 时回调函数,用于分辨率切换更新PPS,为NULL时内部处理 */ hal_dsi_rx_ctrl_pps_entry pps_update_entry; /* PPS Update 时回调函数,用于分辨率切换更新PPS,为NULL时内部处理 */
bool used; /* handle使用标志位 */ bool used; /* handle使用标志位 */
uint8_t pq_marginal; /* picture quality,参数为hal_rx_pq_marginal_type_e */ uint8_t pq_marginal; /* picture quality,参数为hal_rx_pq_marginal_type_e */
bool direct_mode; /* video mode 直通模式,预留,仅debug使用 */ bool direct_mode; /* video mode 直通模式,支持60hz同帧率且porch相等或者相近时使用 */
hal_dsi_rx_ctrl_dbg_entry rx_debug_cb; /* rx debug 回调函数,目前为收到frame start之后回调预留其他debug功能 */ hal_dsi_rx_ctrl_dbg_entry rx_debug_cb; /* rx debug 回调函数,目前为收到frame start之后回调预留其他debug功能 */
hal_err_handle_level_e err_handler_level; /* RX接收错误的时候对模块做reset等级, 等级越高reset模块越多 */ hal_err_handle_level_e err_handler_level; /* RX接收错误的时候对模块做reset等级, 等级越高reset模块越多 */
bool draw_mode; /* 画点模式,仅debug使用 */ bool draw_mode; /* 画点模式,仅debug使用 */
@ -471,12 +471,13 @@ bool hal_dsi_rx_ctrl_set_tear_mode_ex(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle,
bool hal_dsi_rx_ctrl_toggle_resolution_ex(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); bool hal_dsi_rx_ctrl_toggle_resolution_ex(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle);
/* /*
* @brief 0XFF命令 * @brief ,.
hal_dsi_rx_ctrl_set_auto_hw_filter关闭hw filter用于获取所有软件CMD
* @param rx_ctrl_handle: dsi rx handle * @param rx_ctrl_handle: dsi rx handle
* @param * @param
* @retval none * @retval none
*/ */
void hal_dsi_rx_register_write_cmd_entry(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, hal_dsi_rx_ctrl_dcs_execute execute_func); void hal_dsi_rx_ctrl_register_write_cmd_entry(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, hal_dsi_rx_ctrl_dcs_execute execute_func);
#if !defined(ISP_568) && !defined(ISP_368) #if !defined(ISP_568) && !defined(ISP_368)

View File

@ -52,7 +52,9 @@ typedef struct
uint8_t blank_rows; /* 默认为0, 针对特殊屏使用大于0时生效表示向下补黑blank_rows行 */ uint8_t blank_rows; /* 默认为0, 针对特殊屏使用大于0时生效表示向下补黑blank_rows行 */
uint8_t blank_columns; /* 默认为0, 针对特殊屏使用大于0时生效表示向右补黑blank_columns列 */ uint8_t blank_columns; /* 默认为0, 针对特殊屏使用大于0时生效表示向右补黑blank_columns列 */
bool lp_exit_lpdt; /* 每一条LP CMD都退出LPDT */ bool lp_exit_lpdt; /* 每一条LP CMD都退出LPDT */
#if defined(ISP_568) || defined(ISP_368)
bool tx_cmd_mode_sync; /* TX command mode 输出同步 */ bool tx_cmd_mode_sync; /* TX command mode 输出同步 */
#endif
} hal_dsi_tx_ctrl_handle_t; } hal_dsi_tx_ctrl_handle_t;
/** /**
@ -139,9 +141,9 @@ void hal_dsi_tx_ctrl_read_cmd(uint8_t data_type, uint8_t vc, uint8_t cmd, uint8_
* @param vc: dsi_virtual_channel_e * @param vc: dsi_virtual_channel_e
* @param cmd_count: * @param cmd_count:
* @param ...: * @param ...:
* @retval * @retval true-command发送正常false-TX当前状态不能发送command
*/ */
void hal_dsi_tx_ctrl_write_cmd(uint8_t data_type, uint8_t vc, uint8_t cmd_count, ...); bool hal_dsi_tx_ctrl_write_cmd(uint8_t data_type, uint8_t vc, uint8_t cmd_count, ...);
/** /**
* @brief MIPI TX发送命令 * @brief MIPI TX发送命令
@ -149,9 +151,9 @@ void hal_dsi_tx_ctrl_write_cmd(uint8_t data_type, uint8_t vc, uint8_t cmd_count,
* @param vc: dsi_virtual_channel_e * @param vc: dsi_virtual_channel_e
* @param size: data个数 * @param size: data个数
* @param data: data数组 * @param data: data数组
* @retval * @retval true-command发送正常false-TX当前状态不能发送command
*/ */
void hal_dsi_tx_ctrl_write_array_cmd(uint8_t data_type, uint8_t vc, uint8_t size, const uint8_t *data); bool hal_dsi_tx_ctrl_write_array_cmd(uint8_t data_type, uint8_t vc, uint8_t size, const uint8_t *data);
/** /**
* @brief TX溢出时钟分频系统 * @brief TX溢出时钟分频系统

View File

@ -1 +1 @@
#define SDK_REVISION 4450 #define SDK_REVISION 4644