Skip to content

Commit 370a1fa

Browse files
committed
Merge branch 'bugfix/fix_ci_about_touch_sensor_denoise_ut' into 'master'
driver(touch): fix touch sensor denoise unit test case Closes IDF-1834 and TIDF-13311 See merge request espressif/esp-idf!9150
2 parents ec661be + 6e9cda0 commit 370a1fa

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

components/driver/test/touch_sensor_test/test_esp32s2.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1408,13 +1408,19 @@ TEST_CASE("Touch Sensor denoise test (cap, level)", "[touch]")
14081408
uint32_t denoise_val[TOUCH_PAD_DENOISE_CAP_MAX];
14091409

14101410
ESP_LOGI(TAG, "*********** touch filter denoise level test ********************");
1411-
TEST_ESP_OK( test_touch_denoise(val_1, NULL, TOUCH_PAD_DENOISE_BIT4, TOUCH_PAD_DENOISE_CAP_L0) );
1411+
TEST_ESP_OK( test_touch_denoise(val_1, &denoise_val[0], TOUCH_PAD_DENOISE_BIT4, TOUCH_PAD_DENOISE_CAP_L0) );
14121412
TEST_ESP_OK( test_touch_denoise(val_2, NULL, TOUCH_PAD_DENOISE_BIT8, TOUCH_PAD_DENOISE_CAP_L0) );
14131413
TEST_ESP_OK( test_touch_denoise(val_3, NULL, TOUCH_PAD_DENOISE_BIT12, TOUCH_PAD_DENOISE_CAP_L0) );
14141414

1415-
for (int i = 0; i < TEST_TOUCH_CHANNEL; i++) {
1416-
TEST_ASSERT_GREATER_OR_EQUAL(val_3[i], val_2[i]);
1417-
TEST_ASSERT_GREATER_OR_EQUAL(val_2[i], val_1[i]);
1415+
if ((denoise_val[0] & 0xFF) < (0xFF - 10) && (denoise_val[0] & 0xFF) > 10) {
1416+
for (int i = 0; i < TEST_TOUCH_CHANNEL; i++) {
1417+
TEST_ASSERT_GREATER_OR_EQUAL(val_3[i], val_2[i]);
1418+
TEST_ASSERT_GREATER_OR_EQUAL(val_2[i], val_1[i]);
1419+
}
1420+
} else {
1421+
/* If the value of (denoise_val[0] & 0xFF) is approximately 0,
1422+
The difference between touch reading is very small. Should skip value test. */
1423+
ESP_LOGI(TAG, "denoise value is %d", denoise_val[0]);
14181424
}
14191425

14201426
ESP_LOGI(TAG, "*********** touch filter denoise cap level test ********************");

0 commit comments

Comments
 (0)