-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Touchio - slow updates when touching multiple touch-pins #9624
Comments
@dhalbert did you mean to self-assign this? |
Yes, I discussed it with @BennettB123 in discord and plan to test this in more detail. |
@BennettB123 I tested this with an Adafruit Metro ESP32-S3, running CircuitPython 9.2.0-beta.0. I connected some ~6-inch jumpers with alligator clips at one end to D8 through D11. Touching two alligator cips with one hand and two with another produced raw values of 65535, as expected, but the loop was still running very quickly. I also tried clipping coins with the alligator clips, and that made no difference. I am suspecting something about your setup, but I'm not sure what it is. We did talk about whether there was coupling between the wires, but I twisted all the wires together and it made no difference. EDIT: I also tested with a QT PY ESP32-S3, which has a similar form factor to the WaveShare, and so has much shorter on-board traces. I got similar good results. |
@dhalbert Thanks for testing! I went ahead and upgraded to 9.2.0-beta.0 to rule out differences there and I'm still getting the same behavior. One thing I may not have made clear is that the loop still runs very quickly when I'm touching several pins. However, the actual raw_values don't update every loop iteration like they do when no pins are touched. If you touch 3 of your alligator clips and leave the 4th alone, do you notice any slowdowns in how often the raw_value of the 4th pin updates? When I do this scenario, the 4th pin's raw_value only updates once every second (rather than every loop iteration when no pins are touched) |
Ah, I did misunderstand you about the loop timing. However, I am seeing quick response when touching three and then adding a fourth. I will try some more experiments tomorrow. |
CircuitPython version
Code/REPL
Behavior
The example code prints out the raw_values of all touch pins. When 0 or 1 pins are touched, the values update extremely fast (updating every loop iteration). However, whenever 2 or more pins are touch simultaneously, All of the other pin's raw_values update extremely slowly (in some cases taking several seconds to update).
Description
No response
Additional information
My goal is to be able to accurately/quickly handle simultaneous touch inputs.
The text was updated successfully, but these errors were encountered: