diff options
author | davidycchen <davidycchen@google.com> | 2020-04-17 15:51:37 +0800 |
---|---|---|
committer | davidycchen <davidycchen@google.com> | 2020-04-23 17:09:22 +0800 |
commit | 0e5e23adf847c5e54442e471db5e4ff1b3192be4 (patch) | |
tree | 6573b7da26bb9528a6af68c54e50e2ee28df9ac8 | |
parent | 227c97603c6642534f9cb5615df529d4b5d3571a (diff) | |
download | fts_touch_s5-android-msm-sunfish-4.14-android13-qpr1.tar.gz |
touch:fts: add command to avoid sensing off before reading rawdataandroid-t-qpr3-beta-3_r0.1android-t-qpr3-beta-3.1_r0.1android-t-qpr3-beta-2_r0.1android-t-qpr2-beta-3_r0.1android-t-qpr2-beta-3.2_r0.2android-t-qpr2-beta-2_r0.1android-t-qpr2-beta-1_r0.2android-t-qpr1-beta-3_r0.2android-t-qpr1-beta-2_r0.2android-t-qpr1-beta-1_r0.1android-t-preview-2_r0.2android-t-preview-2_r0.1android-t-preview-1_r0.2android-t-preview-1_r0.1android-t-beta-4_r0.2android-t-beta-4_r0.1android-t-beta-3_r0.2android-t-beta-3_r0.1android-t-beta-3.3_r0.2android-t-beta-3.3_r0.1android-t-beta-3.2_r0.2android-t-beta-3.2_r0.1android-t-beta-2_r0.2android-t-beta-2_r0.1android-t-beta-1_r0.2android-t-beta-1_r0.1android-s-v2-beta-3_r0.3android-s-v2-beta-3_r0.2android-s-v2-beta-2_r0.3android-s-v2-beta-2_r0.2android-s-v2-beta-1_r0.3android-s-v2-beta-1_r0.2android-s-qpr3-beta-3_r0.2android-s-qpr3-beta-3_r0.1android-s-qpr3-beta-2_r0.2android-s-qpr3-beta-2_r0.1android-s-qpr3-beta-1_r0.2android-s-qpr3-beta-1_r0.1android-s-beta-5_r0.4android-s-beta-5_r0.3android-s-beta-4_r0.4android-s-beta-3_r0.4android-s-beta-2_r0.4android-s-beta-2_r0.3android-13.0.0_r0.80android-13.0.0_r0.71android-13.0.0_r0.66android-13.0.0_r0.61android-13.0.0_r0.56android-13.0.0_r0.51android-13.0.0_r0.46android-13.0.0_r0.41android-13.0.0_r0.21android-13.0.0_r0.2android-13.0.0_r0.17android-13.0.0_r0.16android-13.0.0_r0.130android-13.0.0_r0.12android-13.0.0_r0.110android-13.0.0_r0.11android-13.0.0_r0.101android-13.0.0_r0.1android-12.1.0_r0.32android-12.1.0_r0.31android-12.1.0_r0.3android-12.1.0_r0.25android-12.1.0_r0.24android-12.1.0_r0.2android-12.1.0_r0.19android-12.1.0_r0.18android-12.1.0_r0.13android-12.1.0_r0.12android-12.0.0_r0.5android-12.0.0_r0.4android-12.0.0_r0.39android-12.0.0_r0.38android-12.0.0_r0.33android-12.0.0_r0.32android-12.0.0_r0.23android-12.0.0_r0.22android-12.0.0_r0.13android-12.0.0_r0.12android-11.0.0_r0.99android-11.0.0_r0.94android-11.0.0_r0.85android-11.0.0_r0.80android-11.0.0_r0.64android-11.0.0_r0.31android-11.0.0_r0.114android-11.0.0_r0.104android-msm-sunfish-4.14-t-qpr3-beta-3android-msm-sunfish-4.14-t-qpr3-beta-2android-msm-sunfish-4.14-t-qpr2-beta-3.2android-msm-sunfish-4.14-t-qpr2-beta-1android-msm-sunfish-4.14-t-qpr1-beta-2android-msm-sunfish-4.14-t-preview-2android-msm-sunfish-4.14-t-preview-1android-msm-sunfish-4.14-t-beta-4android-msm-sunfish-4.14-t-beta-3android-msm-sunfish-4.14-t-beta-2android-msm-sunfish-4.14-t-beta-1android-msm-sunfish-4.14-s-v2-beta-3android-msm-sunfish-4.14-s-v2-beta-1android-msm-sunfish-4.14-s-qpr3-beta-3android-msm-sunfish-4.14-s-qpr3-beta-2android-msm-sunfish-4.14-s-beta-5android-msm-sunfish-4.14-s-beta-4android-msm-sunfish-4.14-s-beta-3android-msm-sunfish-4.14-s-beta-2android-msm-sunfish-4.14-android13-qpr3android-msm-sunfish-4.14-android13-qpr2-betaandroid-msm-sunfish-4.14-android13-qpr2android-msm-sunfish-4.14-android13-qpr1-beta3android-msm-sunfish-4.14-android13-qpr1-betaandroid-msm-sunfish-4.14-android13-qpr1android-msm-sunfish-4.14-android13android-msm-sunfish-4.14-android12Landroid-msm-sunfish-4.14-android12-v2-beta-2android-msm-sunfish-4.14-android12-qpr3android-msm-sunfish-4.14-android12-qpr1android-msm-sunfish-4.14-android12android-msm-sunfish-4.14-android11-qpr3android-msm-sunfish-4.14-android11-qpr2android-msm-sunfish-4.14-android11-qpr1android-msm-coral-4.14-t-preview-2android-msm-coral-4.14-t-preview-1android-msm-coral-4.14-t-beta-4android-msm-coral-4.14-t-beta-3android-msm-coral-4.14-t-beta-2android-msm-coral-4.14-t-beta-1android-msm-coral-4.14-s-v2-beta-3android-msm-coral-4.14-s-v2-beta-1android-msm-coral-4.14-s-qpr3-beta-3android-msm-coral-4.14-s-qpr3-beta-2android-msm-coral-4.14-s-beta-5android-msm-coral-4.14-s-beta-2android-msm-coral-4.14-android13android-msm-coral-4.14-android12Landroid-msm-coral-4.14-android12-v2-beta-2android-msm-coral-4.14-android12-qpr3android-msm-coral-4.14-android12-qpr1android-msm-coral-4.14-android12
There would be a sense on force calibration after we set the sensing
mode off and on and thus caused the rawdata incorrect.
Bug: 154291200
Test: Read touch rawdate correctly.
Change-Id: I37b18760c70149a884198abf0524c380b2672df1
Signed-off-by: davidycchen <davidycchen@google.com>
-rw-r--r-- | fts.c | 58 |
1 files changed, 38 insertions, 20 deletions
@@ -1953,14 +1953,20 @@ static ssize_t stm_fts_cmd_show(struct device *dev, else setScanMode(SCAN_MODE_LOCKED, LOCKED_ACTIVE); msleep(WAIT_FOR_FRESH_FRAMES); - setScanMode(SCAN_MODE_ACTIVE, 0x00); - msleep(WAIT_AFTER_SENSEOFF); - /* Delete the events related to some touch - * (allow to call this function while touching - * the screen without having a flooding of the - * FIFO) + /* Skip sensing off when typeOfCommand[2]=0x01 + * to avoid sense on force cal after reading raw data */ - flushFIFO(); + if (!(numberParameters >= 3 && + typeOfCommand[2] == 0x01)) { + setScanMode(SCAN_MODE_ACTIVE, 0x00); + msleep(WAIT_AFTER_SENSEOFF); + /* Delete the events related to some touch + * (allow to call this function while touching + * the screen without having a flooding of the + * FIFO) + */ + flushFIFO(); + } #ifdef READ_FILTERED_RAW res = getMSFrame3(MS_FILTER, &frameMS); #else @@ -2002,14 +2008,20 @@ static ssize_t stm_fts_cmd_show(struct device *dev, else setScanMode(SCAN_MODE_LOCKED, LOCKED_ACTIVE); msleep(WAIT_FOR_FRESH_FRAMES); - setScanMode(SCAN_MODE_ACTIVE, 0x00); - msleep(WAIT_AFTER_SENSEOFF); - flushFIFO(); - /* delete the events related to some touch - * (allow to call this function while touching - * the screen without having a flooding of the - * FIFO) + /* Skip sensing off when typeOfCommand[2]=0x01 + * to avoid sense on force cal after reading raw data */ + if (!(numberParameters >= 3 && + typeOfCommand[2] == 0x01)) { + setScanMode(SCAN_MODE_ACTIVE, 0x00); + msleep(WAIT_AFTER_SENSEOFF); + flushFIFO(); + /* delete the events related to some touch + * (allow to call this function while touching + * the screen without having a flooding of the + * FIFO) + */ + } if (numberParameters >= 2 && typeOfCommand[1] == LOCKED_LP_DETECT) #ifdef READ_FILTERED_RAW @@ -2120,12 +2132,18 @@ static ssize_t stm_fts_cmd_show(struct device *dev, break; case 0x17: /* Read mutual strength */ pr_info("Get 1 MS Strength\n"); - setScanMode(SCAN_MODE_ACTIVE, 0xFF); - msleep(WAIT_FOR_FRESH_FRAMES); - setScanMode(SCAN_MODE_ACTIVE, 0x00); - msleep(WAIT_AFTER_SENSEOFF); - /* Flush outstanding touch events */ - flushFIFO(); + /* Skip sensing off when typeOfCommand[1]=0x01 + * to avoid sense on force cal after reading raw data + */ + if (!(numberParameters >= 2 && + typeOfCommand[1] == 0x01)) { + setScanMode(SCAN_MODE_ACTIVE, 0xFF); + msleep(WAIT_FOR_FRESH_FRAMES); + setScanMode(SCAN_MODE_ACTIVE, 0x00); + msleep(WAIT_AFTER_SENSEOFF); + /* Flush outstanding touch events */ + flushFIFO(); + } nodes = getMSFrame3(MS_STRENGTH, &frameMS); if (nodes < 0) { res = nodes; |