Closed jepler closed 4 years ago
Just to add - I can recreate this issue. Release 5.3.0 works fine. With version shown below from S3 bucket, behaves as described above, i.e. buttons essentially stop working.
Adafruit CircuitPython 5.3.0-184-g90bd93180 on 2020-05-09; Adafruit PyGamer with samd51j19
>>>
My guess is that this requires "supervisor_tick" to be called at a regular interval. I added internal enable/disable tick calls for this but didn't connect them up to gamepad or gamepadshift. So, these two classes should "enable_tick" until they are reset or deinit and then "disable_tick".
I believe this problem may have been introduced by the lower-power branch.
I don't have a simple how-to-reproduce, because the simple program I created to look for the problem seems to work just fine. It may have to do with high CPU utilization from MP3 decoding, interrupts from sound DMA, etc., it's hard to be sure.
How to reproduce:
For me, responding to the button click to play/pause is effectively instant in 5.3.0 and almost never happens with master. Within the lower-power branch there are a lot of non-testable commits. Here's my bisect log: