@@ -1408,13 +1408,19 @@ TEST_CASE("Touch Sensor denoise test (cap, level)", "[touch]")
1408
1408
uint32_t denoise_val [TOUCH_PAD_DENOISE_CAP_MAX ];
1409
1409
1410
1410
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 ) );
1412
1412
TEST_ESP_OK ( test_touch_denoise (val_2 , NULL , TOUCH_PAD_DENOISE_BIT8 , TOUCH_PAD_DENOISE_CAP_L0 ) );
1413
1413
TEST_ESP_OK ( test_touch_denoise (val_3 , NULL , TOUCH_PAD_DENOISE_BIT12 , TOUCH_PAD_DENOISE_CAP_L0 ) );
1414
1414
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 ]);
1418
1424
}
1419
1425
1420
1426
ESP_LOGI (TAG , "*********** touch filter denoise cap level test ********************" );
0 commit comments