diff options
author | Super Liu <supercjliu@google.com> | 2023-08-03 07:49:38 +0000 |
---|---|---|
committer | Super Liu <supercjliu@google.com> | 2023-10-19 00:29:28 +0000 |
commit | f27d184c33a04f575a1d79434c161305eee71518 (patch) | |
tree | e7b7aa38d72d361c3d3593a4f1ab1d5c5a48cc37 | |
parent | 9c300628056906cad993af033a05a9b669e8e2c5 (diff) | |
download | novatek_touch-android-gs-bluejay-5.10-android14-qpr2.tar.gz |
touch/nt36xxx: support p2p test for finger and stylusandroid-u-qpr3-beta-2_r0.7android-u-qpr3-beta-2_r0.6android-u-qpr3-beta-2_r0.5android-u-qpr3-beta-2_r0.4android-u-qpr3-beta-2_r0.3android-u-qpr3-beta-2_r0.2android-u-qpr3-beta-1_r0.7android-u-qpr3-beta-1_r0.5android-u-qpr3-beta-1_r0.4android-u-qpr3-beta-1_r0.3android-u-qpr3-beta-1_r0.2android-u-qpr3-beta-1_r0.1android-u-qpr2-beta-3_r0.7android-u-qpr2-beta-3_r0.6android-u-qpr2-beta-3_r0.5android-u-qpr2-beta-3_r0.4android-u-qpr2-beta-3_r0.3android-u-qpr2-beta-3_r0.2android-u-qpr2-beta-3.1_r0.7android-u-qpr2-beta-3.1_r0.5android-u-qpr2-beta-3.1_r0.4android-u-qpr2-beta-3.1_r0.3android-u-qpr2-beta-3.1_r0.2android-u-qpr2-beta-3.1_r0.1android-u-qpr2-beta-2_r0.7android-u-qpr2-beta-2_r0.5android-u-qpr2-beta-2_r0.4android-u-qpr2-beta-2_r0.3android-u-qpr2-beta-2_r0.2android-u-qpr2-beta-2_r0.1android-15-dp-2_r0.6android-15-dp-2_r0.5android-15-dp-2_r0.4android-15-dp-2_r0.3android-15-dp-2_r0.2android-15-dp-2_r0.1android-15-dp-1_r0.7android-15-dp-1_r0.5android-15-dp-1_r0.4android-15-dp-1_r0.3android-15-dp-1_r0.2android-15-dp-1_r0.1android-14.0.0_r0.76android-14.0.0_r0.75android-14.0.0_r0.74android-14.0.0_r0.73android-14.0.0_r0.72android-14.0.0_r0.71android-14.0.0_r0.66android-14.0.0_r0.65android-14.0.0_r0.64android-14.0.0_r0.63android-14.0.0_r0.62android-14.0.0_r0.61android-14.0.0_r0.56android-14.0.0_r0.55android-14.0.0_r0.54android-14.0.0_r0.53android-14.0.0_r0.52android-14.0.0_r0.51android-gs-tangorpro-5.10-android14-qpr2-betaandroid-gs-tangorpro-5.10-android14-qpr2android-gs-raviole-5.10-android14-qpr2-betaandroid-gs-raviole-5.10-android14-qpr2android-gs-pantah-5.10-android14-qpr2-betaandroid-gs-pantah-5.10-android14-qpr2android-gs-lynx-5.10-android14-qpr2-betaandroid-gs-lynx-5.10-android14-qpr2android-gs-felix-5.10-android14-qpr2-betaandroid-gs-felix-5.10-android14-qpr2android-gs-bluejay-5.10-android14-qpr2-betaandroid-gs-bluejay-5.10-android14-qpr2
Bug: 291835037
Test: manual verify with touch selftest
Change-Id: I6767d7f771379938bfdf348c14456336022e819d
Signed-off-by: Super Liu <supercjliu@google.com>
-rw-r--r-- | nt36xxx/nt36xxx_mp_ctrlram.c | 235 | ||||
-rw-r--r-- | nt36xxx/nt36xxx_mp_ctrlram.h | 360 |
2 files changed, 593 insertions, 2 deletions
diff --git a/nt36xxx/nt36xxx_mp_ctrlram.c b/nt36xxx/nt36xxx_mp_ctrlram.c index d27b237..3e05909 100644 --- a/nt36xxx/nt36xxx_mp_ctrlram.c +++ b/nt36xxx/nt36xxx_mp_ctrlram.c @@ -38,18 +38,23 @@ static uint8_t *RecordResult_FW_Rawdata; static uint8_t *RecordResult_FW_CC; static uint8_t *RecordResult_FW_DiffMax; static uint8_t *RecordResult_FW_DiffMin; +static uint8_t *RecordResult_FW_DiffP2P; static uint8_t *RecordResult_PenTipX_Raw; static uint8_t *RecordResult_PenTipY_Raw; static uint8_t *RecordResult_PenRingX_Raw; static uint8_t *RecordResult_PenRingY_Raw; static uint8_t *RecordResult_PenTipX_DiffMax; static uint8_t *RecordResult_PenTipX_DiffMin; +static uint8_t *RecordResult_PenTipX_DiffP2P; static uint8_t *RecordResult_PenTipY_DiffMax; static uint8_t *RecordResult_PenTipY_DiffMin; +static uint8_t *RecordResult_PenTipY_DiffP2P; static uint8_t *RecordResult_PenRingX_DiffMax; static uint8_t *RecordResult_PenRingX_DiffMin; +static uint8_t *RecordResult_PenRingX_DiffP2P; static uint8_t *RecordResult_PenRingY_DiffMax; static uint8_t *RecordResult_PenRingY_DiffMin; +static uint8_t *RecordResult_PenRingY_DiffP2P; static uint8_t *RecordResult_Pen_Rx_Max; static int32_t TestResult_Short; @@ -59,6 +64,7 @@ static int32_t TestResult_FW_CC; static int32_t TestResult_Noise; static int32_t TestResult_FW_DiffMax; static int32_t TestResult_FW_DiffMin; +static int32_t TestResult_FW_DiffP2P; static int32_t TestResult_Pen_FW_Raw; static int32_t TestResult_PenTipX_Raw; static int32_t TestResult_PenTipY_Raw; @@ -67,12 +73,16 @@ static int32_t TestResult_PenRingY_Raw; static int32_t TestResult_Pen_Noise; static int32_t TestResult_PenTipX_DiffMax; static int32_t TestResult_PenTipX_DiffMin; +static int32_t TestResult_PenTipX_DiffP2P; static int32_t TestResult_PenTipY_DiffMax; static int32_t TestResult_PenTipY_DiffMin; +static int32_t TestResult_PenTipY_DiffP2P; static int32_t TestResult_PenRingX_DiffMax; static int32_t TestResult_PenRingX_DiffMin; +static int32_t TestResult_PenRingX_DiffP2P; static int32_t TestResult_PenRingY_DiffMax; static int32_t TestResult_PenRingY_DiffMin; +static int32_t TestResult_PenRingY_DiffP2P; static int32_t TestResult_Pen_Rx_Max; static int32_t *RawData_Short; @@ -80,6 +90,7 @@ static int32_t *RawData_Open; static int32_t *RawData_Diff; static int32_t *RawData_Diff_Min; static int32_t *RawData_Diff_Max; +static int32_t *RawData_Diff_P2P; static int32_t *RawData_FW_Rawdata; static int32_t *RawData_FW_CC; static int32_t *RawData_PenTipX_Raw; @@ -88,12 +99,16 @@ static int32_t *RawData_PenRingX_Raw; static int32_t *RawData_PenRingY_Raw; static int32_t *RawData_PenTipX_DiffMin; static int32_t *RawData_PenTipX_DiffMax; +static int32_t *RawData_PenTipX_DiffP2P; static int32_t *RawData_PenTipY_DiffMin; static int32_t *RawData_PenTipY_DiffMax; +static int32_t *RawData_PenTipY_DiffP2P; static int32_t *RawData_PenRingX_DiffMin; static int32_t *RawData_PenRingX_DiffMax; +static int32_t *RawData_PenRingX_DiffP2P; static int32_t *RawData_PenRingY_DiffMin; static int32_t *RawData_PenRingY_DiffMax; +static int32_t *RawData_PenRingY_DiffP2P; static int32_t *RawData_Pen_Rx_Max; static struct proc_dir_entry *NVT_proc_selftest_entry; @@ -162,6 +177,13 @@ static int nvt_mp_buffer_init(void) return -ENOMEM; } + RecordResult_FW_DiffP2P = (uint8_t *)kzalloc(RecordResult_BufSize, + GFP_KERNEL); + if (!RecordResult_FW_DiffP2P) { + NVT_ERR("kzalloc for RecordResult_FW_DiffP2P failed!\n"); + return -ENOMEM; + } + if (ts->pen_support) { RecordResult_PenTipX_Raw = (uint8_t *)kzalloc(Pen_RecordResult_BufSize, GFP_KERNEL); @@ -205,6 +227,13 @@ static int nvt_mp_buffer_init(void) return -ENOMEM; } + RecordResult_PenTipX_DiffP2P = (uint8_t *)kzalloc(Pen_RecordResult_BufSize, + GFP_KERNEL); + if (!RecordResult_PenTipX_DiffP2P) { + NVT_ERR("kzalloc for RecordResult_PenTipX_DiffP2P failed!\n"); + return -ENOMEM; + } + RecordResult_PenTipY_DiffMax = (uint8_t *)kzalloc(Pen_RecordResult_BufSize, GFP_KERNEL); if (!RecordResult_PenTipY_DiffMax) { @@ -219,6 +248,13 @@ static int nvt_mp_buffer_init(void) return -ENOMEM; } + RecordResult_PenTipY_DiffP2P = (uint8_t *)kzalloc(Pen_RecordResult_BufSize, + GFP_KERNEL); + if (!RecordResult_PenTipY_DiffP2P) { + NVT_ERR("kzalloc for RecordResult_PenTipY_DiffP2P failed!\n"); + return -ENOMEM; + } + RecordResult_PenRingX_DiffMax = (uint8_t *)kzalloc( Pen_RecordResult_BufSize, GFP_KERNEL); if (!RecordResult_PenRingX_DiffMax) { @@ -233,6 +269,13 @@ static int nvt_mp_buffer_init(void) return -ENOMEM; } + RecordResult_PenRingX_DiffP2P = (uint8_t *)kzalloc( + Pen_RecordResult_BufSize, GFP_KERNEL); + if (!RecordResult_PenRingX_DiffP2P) { + NVT_ERR("kzalloc for RecordResult_PenRingX_DiffP2P failed!\n"); + return -ENOMEM; + } + RecordResult_PenRingY_DiffMax = (uint8_t *)kzalloc( Pen_RecordResult_BufSize, GFP_KERNEL); if (!RecordResult_PenRingY_DiffMax) { @@ -247,6 +290,13 @@ static int nvt_mp_buffer_init(void) return -ENOMEM; } + RecordResult_PenRingY_DiffP2P = (uint8_t *)kzalloc( + Pen_RecordResult_BufSize, GFP_KERNEL); + if (!RecordResult_PenRingY_DiffP2P) { + NVT_ERR("kzalloc for RecordResult_PenRingY_DiffP2P failed!\n"); + return -ENOMEM; + } + RecordResult_Pen_Rx_Max = (uint8_t *)kzalloc(PEN_RX_MAX_BUFSIZE, GFP_KERNEL); if (!RecordResult_Pen_Rx_Max) { NVT_ERR("kzalloc for RecordResult_Pen_Rx_Max failed!\n"); @@ -284,6 +334,12 @@ static int nvt_mp_buffer_init(void) return -ENOMEM; } + RawData_Diff_P2P = (int32_t *)kzalloc(RawData_BufSize, GFP_KERNEL); + if (!RawData_Diff_P2P) { + NVT_ERR("kzalloc for RawData_Diff_P2P failed!\n"); + return -ENOMEM; + } + RawData_FW_Rawdata = (int32_t *)kzalloc(RawData_BufSize, GFP_KERNEL); if (!RawData_FW_Rawdata) { NVT_ERR("kzalloc for RawData_FW_Rawdata failed!\n"); @@ -335,6 +391,13 @@ static int nvt_mp_buffer_init(void) return -ENOMEM; } + RawData_PenTipX_DiffP2P = (int32_t *)kzalloc(Pen_RawData_BufSize, + GFP_KERNEL); + if (!RawData_PenTipX_DiffP2P) { + NVT_ERR("kzalloc for RawData_PenTipX_DiffP2P failed!\n"); + return -ENOMEM; + } + RawData_PenTipY_DiffMax = (int32_t *)kzalloc(Pen_RawData_BufSize, GFP_KERNEL); if (!RawData_PenTipY_DiffMax) { @@ -349,6 +412,13 @@ static int nvt_mp_buffer_init(void) return -ENOMEM; } + RawData_PenTipY_DiffP2P = (int32_t *)kzalloc(Pen_RawData_BufSize, + GFP_KERNEL); + if (!RawData_PenTipY_DiffP2P) { + NVT_ERR("kzalloc for RawData_PenTipY_DiffP2P failed!\n"); + return -ENOMEM; + } + RawData_PenRingX_DiffMax = (int32_t *)kzalloc(Pen_RawData_BufSize, GFP_KERNEL); if (!RawData_PenRingX_DiffMax) { @@ -363,6 +433,13 @@ static int nvt_mp_buffer_init(void) return -ENOMEM; } + RawData_PenRingX_DiffP2P = (int32_t *)kzalloc(Pen_RawData_BufSize, + GFP_KERNEL); + if (!RawData_PenRingX_DiffP2P) { + NVT_ERR("kzalloc for RawData_PenRingX_DiffP2P failed!\n"); + return -ENOMEM; + } + RawData_PenRingY_DiffMax = (int32_t *)kzalloc(Pen_RawData_BufSize, GFP_KERNEL); if (!RawData_PenRingY_DiffMax) { @@ -377,6 +454,13 @@ static int nvt_mp_buffer_init(void) return -ENOMEM; } + RawData_PenRingY_DiffP2P = (int32_t *)kzalloc(Pen_RawData_BufSize, + GFP_KERNEL); + if (!RawData_PenRingY_DiffP2P) { + NVT_ERR("kzalloc for RawData_PenRingY_DiffP2P failed!\n"); + return -ENOMEM; + } + RawData_Pen_Rx_Max = (int32_t *)kzalloc(PEN_RX_MAX_BUFSIZE, GFP_KERNEL); if (!RawData_Pen_Rx_Max) { NVT_ERR("kzalloc for RawData_Pen_Rx_Max failed!\n"); @@ -426,6 +510,11 @@ static void nvt_mp_buffer_deinit(void) RecordResult_FW_DiffMin = NULL; } + if (RecordResult_FW_DiffP2P) { + kfree(RecordResult_FW_DiffP2P); + RecordResult_FW_DiffP2P = NULL; + } + if (ts->pen_support) { if (RecordResult_PenTipX_Raw) { kfree(RecordResult_PenTipX_Raw); @@ -457,6 +546,11 @@ static void nvt_mp_buffer_deinit(void) RecordResult_PenTipX_DiffMin = NULL; } + if (RecordResult_PenTipX_DiffP2P) { + kfree(RecordResult_PenTipX_DiffP2P); + RecordResult_PenTipX_DiffP2P = NULL; + } + if (RecordResult_PenTipY_DiffMax) { kfree(RecordResult_PenTipY_DiffMax); RecordResult_PenTipY_DiffMax = NULL; @@ -467,6 +561,11 @@ static void nvt_mp_buffer_deinit(void) RecordResult_PenTipY_DiffMin = NULL; } + if (RecordResult_PenTipY_DiffP2P) { + kfree(RecordResult_PenTipY_DiffP2P); + RecordResult_PenTipY_DiffP2P = NULL; + } + if (RecordResult_PenRingX_DiffMax) { kfree(RecordResult_PenRingX_DiffMax); RecordResult_PenRingX_DiffMax = NULL; @@ -477,6 +576,11 @@ static void nvt_mp_buffer_deinit(void) RecordResult_PenRingX_DiffMin = NULL; } + if (RecordResult_PenRingX_DiffP2P) { + kfree(RecordResult_PenRingX_DiffP2P); + RecordResult_PenRingX_DiffP2P = NULL; + } + if (RecordResult_PenRingY_DiffMax) { kfree(RecordResult_PenRingY_DiffMax); RecordResult_PenRingY_DiffMax = NULL; @@ -487,6 +591,11 @@ static void nvt_mp_buffer_deinit(void) RecordResult_PenRingY_DiffMin = NULL; } + if (RecordResult_PenRingY_DiffP2P) { + kfree(RecordResult_PenRingY_DiffP2P); + RecordResult_PenRingY_DiffP2P = NULL; + } + if (RecordResult_Pen_Rx_Max) { kfree(RecordResult_Pen_Rx_Max); RecordResult_Pen_Rx_Max = NULL; @@ -518,6 +627,11 @@ static void nvt_mp_buffer_deinit(void) RawData_Diff_Max = NULL; } + if (RawData_Diff_P2P) { + kfree(RawData_Diff_P2P); + RawData_Diff_P2P = NULL; + } + if (RawData_FW_Rawdata) { kfree(RawData_FW_Rawdata); RawData_FW_Rawdata = NULL; @@ -559,6 +673,11 @@ static void nvt_mp_buffer_deinit(void) RawData_PenTipX_DiffMin = NULL; } + if (RawData_PenTipX_DiffP2P) { + kfree(RawData_PenTipX_DiffP2P); + RawData_PenTipX_DiffP2P = NULL; + } + if (RawData_PenTipY_DiffMax) { kfree(RawData_PenTipY_DiffMax); RawData_PenTipY_DiffMax = NULL; @@ -569,6 +688,11 @@ static void nvt_mp_buffer_deinit(void) RawData_PenTipY_DiffMin = NULL; } + if (RawData_PenTipY_DiffP2P) { + kfree(RawData_PenTipY_DiffP2P); + RawData_PenTipY_DiffP2P = NULL; + } + if (RawData_PenRingX_DiffMax) { kfree(RawData_PenRingX_DiffMax); RawData_PenRingX_DiffMax = NULL; @@ -579,6 +703,11 @@ static void nvt_mp_buffer_deinit(void) RawData_PenRingX_DiffMin = NULL; } + if (RawData_PenRingX_DiffP2P) { + kfree(RawData_PenRingX_DiffP2P); + RawData_PenRingX_DiffP2P = NULL; + } + if (RawData_PenRingY_DiffMax) { kfree(RawData_PenRingY_DiffMax); RawData_PenRingY_DiffMax = NULL; @@ -589,6 +718,11 @@ static void nvt_mp_buffer_deinit(void) RawData_PenRingY_DiffMin = NULL; } + if (RawData_PenRingY_DiffP2P) { + kfree(RawData_PenRingY_DiffP2P); + RawData_PenRingY_DiffP2P = NULL; + } + if (RawData_Pen_Rx_Max) { kfree(RawData_Pen_Rx_Max); RawData_Pen_Rx_Max = NULL; @@ -1012,6 +1146,7 @@ static int32_t nvt_read_fw_noise(int32_t *xdata) #if TOUCH_KEY_NUM > 0 int32_t k = 0; #endif /* #if TOUCH_KEY_NUM > 0 */ + int32_t i = 0; NVT_LOGD("++\n"); @@ -1044,6 +1179,7 @@ static int32_t nvt_read_fw_noise(int32_t *xdata) iArrayIndex = y * x_num + x; RawData_Diff_Max[iArrayIndex] = (int8_t)((xdata[iArrayIndex] >> 8) & 0xFF); RawData_Diff_Min[iArrayIndex] = (int8_t)(xdata[iArrayIndex] & 0xFF); + RawData_Diff_P2P[iArrayIndex] = RawData_Diff_Max[iArrayIndex] - RawData_Diff_Min[iArrayIndex]; } } #if TOUCH_KEY_NUM > 0 @@ -1051,6 +1187,7 @@ static int32_t nvt_read_fw_noise(int32_t *xdata) iArrayIndex = Y_Channel * X_Channel + k; RawData_Diff_Max[iArrayIndex] = (int8_t)((xdata[iArrayIndex] >> 8) & 0xFF); RawData_Diff_Min[iArrayIndex] = (int8_t)(xdata[iArrayIndex] & 0xFF); + RawData_Diff_P2P[iArrayIndex] = RawData_Diff_Max[iArrayIndex] - RawData_Diff_Min[iArrayIndex]; } #endif /* #if TOUCH_KEY_NUM > 0 */ @@ -1074,6 +1211,14 @@ static int32_t nvt_read_fw_noise(int32_t *xdata) RawData_PenRingY_DiffMin, ts->x_gang_num * ts->y_num); nvt_read_get_num_mdata(ts->mmap->PEN_RX_ADDR, RawData_Pen_Rx_Max, PEN_RX_MAX_BUFSIZE); + for (i = 0; i < ts->x_num * ts->y_gang_num; i++) { + RawData_PenTipX_DiffP2P[i] = RawData_PenTipX_DiffMax[i] - RawData_PenTipX_DiffMin[i]; + RawData_PenRingX_DiffP2P[i] = RawData_PenRingX_DiffMax[i] - RawData_PenRingX_DiffMin[i]; + } + for (i = 0; i < ts->x_gang_num * ts->y_num; i++) { + RawData_PenTipY_DiffP2P[i] = RawData_PenTipY_DiffMax[i] - RawData_PenTipY_DiffMin[i]; + RawData_PenRingY_DiffP2P[i] = RawData_PenRingY_DiffMax[i] - RawData_PenRingY_DiffMin[i]; + } } /* if (ts->pen_support) */ //---Leave Test Mode--- @@ -1777,6 +1922,7 @@ static int32_t nvt_selftest_open(struct inode *inode, struct file *file) TestResult_Noise = 0; TestResult_FW_DiffMax = 0; TestResult_FW_DiffMin = 0; + TestResult_FW_DiffP2P = 0; if (ts->pen_support) { TestResult_Pen_FW_Raw = 0; TestResult_PenTipX_Raw = 0; @@ -1786,12 +1932,16 @@ static int32_t nvt_selftest_open(struct inode *inode, struct file *file) TestResult_Pen_Noise = 0; TestResult_PenTipX_DiffMax = 0; TestResult_PenTipX_DiffMin = 0; + TestResult_PenTipX_DiffP2P = 0; TestResult_PenTipY_DiffMax = 0; TestResult_PenTipY_DiffMin = 0; + TestResult_PenTipY_DiffP2P = 0; TestResult_PenRingX_DiffMax = 0; TestResult_PenRingX_DiffMin = 0; + TestResult_PenRingX_DiffP2P = 0; TestResult_PenRingY_DiffMax = 0; TestResult_PenRingY_DiffMin = 0; + TestResult_PenRingY_DiffP2P = 0; } /* if (ts->pen_support) */ NVT_LOGD("++\n"); @@ -1934,16 +2084,21 @@ static int32_t nvt_selftest_open(struct inode *inode, struct file *file) TestResult_Noise = 1; // 1: ERROR TestResult_FW_DiffMax = 1; TestResult_FW_DiffMin = 1; + TestResult_FW_DiffP2P = 1; if (ts->pen_support) { TestResult_Pen_Noise = 1; TestResult_PenTipX_DiffMax = 1; TestResult_PenTipX_DiffMin = 1; + TestResult_PenTipX_DiffP2P = 1; TestResult_PenTipY_DiffMax = 1; TestResult_PenTipY_DiffMin = 1; + TestResult_PenTipY_DiffP2P = 1; TestResult_PenRingX_DiffMax = 1; TestResult_PenRingX_DiffMin = 1; + TestResult_PenRingX_DiffP2P = 1; TestResult_PenRingY_DiffMax = 1; TestResult_PenRingY_DiffMin = 1; + TestResult_PenRingY_DiffP2P = 1; TestResult_Pen_Rx_Max = 1; } /* if (ts->pen_support) */ } else { @@ -1955,7 +2110,15 @@ static int32_t nvt_selftest_open(struct inode *inode, struct file *file) RecordResult_FW_DiffMin, X_Channel, Y_Channel, PS_Config_Lmt_FW_Diff_P, PS_Config_Lmt_FW_Diff_N); - if ((TestResult_FW_DiffMax == -1) || (TestResult_FW_DiffMin == -1)) + TestResult_FW_DiffP2P = RawDataTest_SinglePoint_Sub(RawData_Diff_P2P, + RecordResult_FW_DiffP2P, X_Channel, Y_Channel, + PS_Config_Lmt_FW_Diff_P2P_P, PS_Config_Lmt_FW_Diff_P2P_N); + + if (TestResult_FW_DiffP2P == -1) + NVT_ERR("[Touch P2P] Test Fail\n"); + + if ((TestResult_FW_DiffMax == -1) || (TestResult_FW_DiffMin == -1) + || (TestResult_FW_DiffP2P == -1)) TestResult_Noise = -1; else TestResult_Noise = 0; @@ -1975,6 +2138,13 @@ static int32_t nvt_selftest_open(struct inode *inode, struct file *file) PS_Config_Lmt_PenTipX_FW_Diff_P, PS_Config_Lmt_PenTipX_FW_Diff_N); + TestResult_PenTipX_DiffP2P = RawDataTest_SinglePoint_Sub( + RawData_PenTipX_DiffP2P, + RecordResult_PenTipX_DiffP2P, + ts->x_num, ts->y_gang_num, + PS_Config_Lmt_PenTipX_FW_Diff_P2P_P, + PS_Config_Lmt_PenTipX_FW_Diff_P2P_N); + TestResult_PenTipY_DiffMax = RawDataTest_SinglePoint_Sub( RawData_PenTipY_DiffMax, RecordResult_PenTipY_DiffMax, @@ -1989,6 +2159,13 @@ static int32_t nvt_selftest_open(struct inode *inode, struct file *file) PS_Config_Lmt_PenTipY_FW_Diff_P, PS_Config_Lmt_PenTipY_FW_Diff_N); + TestResult_PenTipY_DiffP2P = RawDataTest_SinglePoint_Sub( + RawData_PenTipY_DiffP2P, + RecordResult_PenTipY_DiffP2P, + ts->x_gang_num, ts->y_num, + PS_Config_Lmt_PenTipY_FW_Diff_P2P_P, + PS_Config_Lmt_PenTipY_FW_Diff_P2P_N); + TestResult_PenRingX_DiffMax = RawDataTest_SinglePoint_Sub( RawData_PenRingX_DiffMax, RecordResult_PenRingX_DiffMax, @@ -2003,6 +2180,13 @@ static int32_t nvt_selftest_open(struct inode *inode, struct file *file) PS_Config_Lmt_PenRingX_FW_Diff_P, PS_Config_Lmt_PenRingX_FW_Diff_N); + TestResult_PenRingX_DiffP2P = RawDataTest_SinglePoint_Sub( + RawData_PenRingX_DiffP2P, + RecordResult_PenRingX_DiffP2P, + ts->x_num, ts->y_gang_num, + PS_Config_Lmt_PenRingX_FW_Diff_P2P_P, + PS_Config_Lmt_PenRingX_FW_Diff_P2P_N); + TestResult_PenRingY_DiffMax = RawDataTest_SinglePoint_Sub( RawData_PenRingY_DiffMax, RecordResult_PenRingY_DiffMax, @@ -2017,19 +2201,39 @@ static int32_t nvt_selftest_open(struct inode *inode, struct file *file) PS_Config_Lmt_PenRingY_FW_Diff_P, PS_Config_Lmt_PenRingY_FW_Diff_N); + TestResult_PenRingY_DiffP2P = RawDataTest_SinglePoint_Sub( + RawData_PenRingY_DiffP2P, + RecordResult_PenRingY_DiffP2P, + ts->x_gang_num, ts->y_num, + PS_Config_Lmt_PenRingY_FW_Diff_P2P_P, + PS_Config_Lmt_PenRingY_FW_Diff_P2P_N); + TestResult_Pen_Rx_Max = RawDataTest_SinglePoint_Sub( RawData_Pen_Rx_Max, RecordResult_Pen_Rx_Max, PEN_RX_MAX_X_LEN, PEN_RX_MAX_Y_LEN, PS_Config_Lmt_Pen_Rx_Max_P, PS_Config_Lmt_Pen_Rx_Max_N); + if (TestResult_PenTipX_DiffP2P == -1) + NVT_ERR("[Pen P2P] TipX Test Fail\n"); + if (TestResult_PenTipY_DiffP2P == -1) + NVT_ERR("[Pen P2P] TipY Test Fail\n"); + if (TestResult_PenRingX_DiffP2P == -1) + NVT_ERR("[Pen P2P] RingX Test Fail\n"); + if (TestResult_PenRingY_DiffP2P == -1) + NVT_ERR("[Pen P2P] RingY Test Fail\n"); + if ((TestResult_PenTipX_DiffMax == -1) || (TestResult_PenTipX_DiffMin == -1) || + (TestResult_PenTipX_DiffP2P == -1) || (TestResult_PenTipY_DiffMax == -1) || (TestResult_PenTipY_DiffMin == -1) || + (TestResult_PenTipY_DiffP2P == -1) || (TestResult_PenRingX_DiffMax == -1) || (TestResult_PenRingX_DiffMin == -1) || + (TestResult_PenRingX_DiffP2P == -1) || (TestResult_PenRingY_DiffMax == -1) || - (TestResult_PenRingY_DiffMin == -1)) + (TestResult_PenRingY_DiffMin == -1) || + (TestResult_PenRingY_DiffP2P == -1)) TestResult_Pen_Noise = -1; else TestResult_Pen_Noise = 0; @@ -2252,6 +2456,7 @@ int32_t nvt_mp_parse_dt(struct device_node *root, { struct device_node *np = root; struct device_node *child = NULL; + int32_t i = 0; NVT_LOG("Parse mp criteria for node %s\n", node_compatible); @@ -2347,6 +2552,11 @@ int32_t nvt_mp_parse_dt(struct device_node *root, X_Channel * Y_Channel + Key_Channel)) return -EPERM; + for (i = 0; i < X_Channel * Y_Channel + Key_Channel; i++) { + PS_Config_Lmt_FW_Diff_P2P_N[i] = P2P_N_DEFAULT; + PS_Config_Lmt_FW_Diff_P2P_P[i] = PS_Config_Lmt_FW_Diff_P[i] - PS_Config_Lmt_FW_Diff_N[i]; + } + if (ts->pen_support) { if (nvt_mp_parse_pen_array(np, "PS_Config_Lmt_PenTipX_FW_Raw_P", PS_Config_Lmt_PenTipX_FW_Raw_P, @@ -2428,6 +2638,27 @@ int32_t nvt_mp_parse_dt(struct device_node *root, ts->x_gang_num, ts->y_num)) return -EPERM; + for (i = 0; i < ts->x_num * ts->y_gang_num; i++) { + PS_Config_Lmt_PenTipX_FW_Diff_P2P_N[i] = P2P_N_DEFAULT; + PS_Config_Lmt_PenTipX_FW_Diff_P2P_P[i] = + PS_Config_Lmt_PenTipX_FW_Diff_P[i] - + PS_Config_Lmt_PenTipX_FW_Diff_N[i]; + PS_Config_Lmt_PenRingX_FW_Diff_P2P_N[i] = P2P_N_DEFAULT; + PS_Config_Lmt_PenRingX_FW_Diff_P2P_P[i] = + PS_Config_Lmt_PenRingX_FW_Diff_P[i] - + PS_Config_Lmt_PenRingX_FW_Diff_N[i]; + } + for (i = 0; i < ts->x_gang_num * ts->y_num; i++) { + PS_Config_Lmt_PenTipY_FW_Diff_P2P_N[i] = P2P_N_DEFAULT; + PS_Config_Lmt_PenTipY_FW_Diff_P2P_P[i] = + PS_Config_Lmt_PenTipY_FW_Diff_P[i] - + PS_Config_Lmt_PenTipY_FW_Diff_N[i]; + PS_Config_Lmt_PenRingY_FW_Diff_P2P_N[i] = P2P_N_DEFAULT; + PS_Config_Lmt_PenRingY_FW_Diff_P2P_P[i] = + PS_Config_Lmt_PenRingY_FW_Diff_P[i] - + PS_Config_Lmt_PenRingY_FW_Diff_N[i]; + } + if (nvt_mp_parse_pen_array(np, "PS_Config_Lmt_Pen_Rx_Max_P", PS_Config_Lmt_Pen_Rx_Max_P, PEN_RX_MAX_X_LEN, PEN_RX_MAX_Y_LEN)) return -EPERM; diff --git a/nt36xxx/nt36xxx_mp_ctrlram.h b/nt36xxx/nt36xxx_mp_ctrlram.h index 551690f..fa1ac56 100644 --- a/nt36xxx/nt36xxx_mp_ctrlram.h +++ b/nt36xxx/nt36xxx_mp_ctrlram.h @@ -37,6 +37,7 @@ static uint8_t AIN_KEY[8] = {0, 1, 2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; #define PEN_RX_MAX_X_LEN (1) #define PEN_RX_MAX_Y_LEN (1) #define PEN_RX_MAX_BUFSIZE (1) +#define P2P_N_DEFAULT (1) static int32_t PS_Config_Lmt_Short_Rawdata_P[X_Y_DIMENSION_MAX] = { 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, 14008, @@ -598,6 +599,118 @@ static int32_t PS_Config_Lmt_FW_Diff_N[X_Y_DIMENSION_MAX] = { #endif /* #if TOUCH_KEY_NUM > 0 */ }; +static int32_t PS_Config_Lmt_FW_Diff_P2P_P[X_Y_DIMENSION_MAX] = { + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, +#if TOUCH_KEY_NUM > 0 + 150, 150, 150, +#endif /* #if TOUCH_KEY_NUM > 0 */ +}; + +static int32_t PS_Config_Lmt_FW_Diff_P2P_N[X_Y_DIMENSION_MAX] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +#if TOUCH_KEY_NUM > 0 + 1, 1, 1, +#endif /* #if TOUCH_KEY_NUM > 0 */ +}; + static int32_t PS_Config_Lmt_PenTipX_FW_Raw_P[PEN_X_Y_DIMENSION_MAX] = { 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, @@ -864,6 +977,24 @@ static int32_t PS_Config_Lmt_PenTipX_FW_Diff_N[PEN_X_Y_DIMENSION_MAX] = { -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, }; +static int32_t PS_Config_Lmt_PenTipX_FW_Diff_P2P_P[PEN_X_Y_DIMENSION_MAX] = { + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, +}; + +static int32_t PS_Config_Lmt_PenTipX_FW_Diff_P2P_N[PEN_X_Y_DIMENSION_MAX] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +}; + static int32_t PS_Config_Lmt_PenTipY_FW_Diff_P[PEN_X_Y_DIMENSION_MAX] = { 870, 870, 870, 870, 870, 870, 870, 870, @@ -970,6 +1101,112 @@ static int32_t PS_Config_Lmt_PenTipY_FW_Diff_N[PEN_X_Y_DIMENSION_MAX] = { -870, -870, -870, -870, }; +static int32_t PS_Config_Lmt_PenTipY_FW_Diff_P2P_P[PEN_X_Y_DIMENSION_MAX] = { + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, +}; + +static int32_t PS_Config_Lmt_PenTipY_FW_Diff_P2P_N[PEN_X_Y_DIMENSION_MAX] = { + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, +}; + static int32_t PS_Config_Lmt_PenRingX_FW_Diff_P[PEN_X_Y_DIMENSION_MAX] = { 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, @@ -988,6 +1225,24 @@ static int32_t PS_Config_Lmt_PenRingX_FW_Diff_N[PEN_X_Y_DIMENSION_MAX] = { -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, -870, }; +static int32_t PS_Config_Lmt_PenRingX_FW_Diff_P2P_P[PEN_X_Y_DIMENSION_MAX] = { + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, +}; + +static int32_t PS_Config_Lmt_PenRingX_FW_Diff_P2P_N[PEN_X_Y_DIMENSION_MAX] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +}; + static int32_t PS_Config_Lmt_PenRingY_FW_Diff_P[PEN_X_Y_DIMENSION_MAX] = { 870, 870, 870, 870, 870, 870, 870, 870, @@ -1094,6 +1349,111 @@ static int32_t PS_Config_Lmt_PenRingY_FW_Diff_N[PEN_X_Y_DIMENSION_MAX] = { -870, -870, -870, -870, }; +static int32_t PS_Config_Lmt_PenRingY_FW_Diff_P2P_P[PEN_X_Y_DIMENSION_MAX] = { + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, +}; + +static int32_t PS_Config_Lmt_PenRingY_FW_Diff_P2P_N[PEN_X_Y_DIMENSION_MAX] = { + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, +}; static int32_t PS_Config_Lmt_Pen_Rx_Max_P[1] = {300}; static int32_t PS_Config_Lmt_Pen_Rx_Max_N[1] = {100}; static int32_t PS_Config_Diff_Test_Frame = 50; |