New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unexpected bahaviour touch sensor on ESP32-S3 measurement time (IDFGH-7499) #9067
Comments
Yes, the touch sensor on ESP32 and ESP32-S3 are different. Actually, the touch sensor on ESP32-S2 and ESP32-S3 adopts an opposite way to measure the capacity, they will fixed the count of charge and discharge cycles and then record the count of the clock cycles during the sensing period. That is to say, the result of these two version are also opposite, on ESP32, the capacity will get bigger with finger put on the touch pad, then the touch sensor will count less charge and discharge cycles in a fixed period, however, on ESP32-S2 and ESP32-S3, it will count more clock cycles with the fixed charge and discharge cycles. The pity is that currently the TRM of S2/S3 doesn't have the section about the touch sensor. The second version of touch sensor has some improvements comparing to the first one. Maybe the |
Thanks for the clarification regarding the measurement principle. I am referring to the programming guide for ESP32-S3. From what you describe, it needs to be updated. |
I agree, the API name Since the API has public, its name can't be updated easily, but we'll add detailed description for this API as soon as possible |
OK, thank you! |
We will keep this issue open and close it once documentation is updated. |
Environment
xtensa-esp32-elf-gcc --version
to find it): 8.4.0Problem Description
On the dev-board the example code touch_sensor_v2 produces unexpected behavior. I tried 2 different boards and different pins.
Expected Behavior
According to the documentation, the measurement time is set with touch_pad_set_meas_time(). The sensor value is supposed to be the count of charge and discharge cycles within the fixed measurement period. My ESP32-Module behaves exactly as described in the documentation.
Actual Behavior
The ESP32-S3 however extends the measurement time when a sensor is being touched. The raw value increases value returned by touch_pad_read_raw_data() while being touched rather than decreasing. The measurement time is being increased with an increase of the measured capacity.
Measurement without touch (raw value ~68.000)
Measurement with touch (raw value ~270.000)
Steps to reproduce
The text was updated successfully, but these errors were encountered: