diff options
| author | Jeff Epler <jepler@gmail.com> | 2020-05-13 10:04:19 -0500 |
|---|---|---|
| committer | Jeff Epler <jepler@gmail.com> | 2020-05-13 10:14:37 -0500 |
| commit | fbf052bb2755b2a3afb85b94ea9625ab29da4ab0 (patch) | |
| tree | b5ab1cb70e2656d575bb80b6c78275804cd1544e /shared-module/gamepad | |
| parent | 75f9969860870a4ae636c74ae210275413b13c2f (diff) | |
Gamepad & GamepadShift: Enable ticks while object exists
Otherwise, button presses might not be noticed.
Diffstat (limited to 'shared-module/gamepad')
| -rw-r--r-- | shared-module/gamepad/GamePad.c | 2 | ||||
| -rw-r--r-- | shared-module/gamepad/__init__.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/shared-module/gamepad/GamePad.c b/shared-module/gamepad/GamePad.c index fdce0caab..7b4108eb2 100644 --- a/shared-module/gamepad/GamePad.c +++ b/shared-module/gamepad/GamePad.c @@ -27,6 +27,7 @@ #include "py/mpstate.h" #include "shared-bindings/digitalio/DigitalInOut.h" #include "shared-bindings/gamepad/GamePad.h" +#include "supervisor/shared/tick.h" void common_hal_gamepad_gamepad_init(gamepad_obj_t *gamepad, const mp_obj_t pins[], size_t n_pins) { @@ -54,4 +55,5 @@ void common_hal_gamepad_gamepad_init(gamepad_obj_t *gamepad, void common_hal_gamepad_gamepad_deinit(gamepad_obj_t *self) { MP_STATE_VM(gamepad_singleton) = NULL; + supervisor_disable_tick(); } diff --git a/shared-module/gamepad/__init__.c b/shared-module/gamepad/__init__.c index 3e17a0fb5..9874b2752 100644 --- a/shared-module/gamepad/__init__.c +++ b/shared-module/gamepad/__init__.c @@ -29,6 +29,7 @@ #include "py/mpstate.h" #include "shared-bindings/gamepad/__init__.h" #include "shared-bindings/gamepad/GamePad.h" +#include "supervisor/shared/tick.h" #include "shared-bindings/digitalio/DigitalInOut.h" @@ -59,5 +60,8 @@ void gamepad_tick(void) { } void gamepad_reset(void) { + if (MP_STATE_VM(gamepad_singleton)) { + supervisor_disable_tick(); + } MP_STATE_VM(gamepad_singleton) = NULL; } |
