summaryrefslogtreecommitdiff
path: root/shared-bindings/gamepadshift
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-05-13 10:04:19 -0500
committerJeff Epler <jepler@gmail.com>2020-05-13 10:14:37 -0500
commitfbf052bb2755b2a3afb85b94ea9625ab29da4ab0 (patch)
treeb5ab1cb70e2656d575bb80b6c78275804cd1544e /shared-bindings/gamepadshift
parent75f9969860870a4ae636c74ae210275413b13c2f (diff)
Gamepad & GamepadShift: Enable ticks while object exists
Otherwise, button presses might not be noticed.
Diffstat (limited to 'shared-bindings/gamepadshift')
-rw-r--r--shared-bindings/gamepadshift/GamePadShift.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/shared-bindings/gamepadshift/GamePadShift.c b/shared-bindings/gamepadshift/GamePadShift.c
index 91203ad20..76f054aae 100644
--- a/shared-bindings/gamepadshift/GamePadShift.c
+++ b/shared-bindings/gamepadshift/GamePadShift.c
@@ -31,6 +31,7 @@
#include "shared-bindings/gamepadshift/GamePadShift.h"
#include "shared-bindings/gamepadshift/__init__.h"
#include "supervisor/shared/translate.h"
+#include "supervisor/shared/tick.h"
//| .. currentmodule:: gamepadshift
//|
@@ -75,6 +76,9 @@ STATIC mp_obj_t gamepadshift_make_new(const mp_obj_type_t *type, size_t n_args,
gamepad_singleton = m_new_obj(gamepadshift_obj_t);
gamepad_singleton->base.type = &gamepadshift_type;
gamepad_singleton = gc_make_long_lived(gamepad_singleton);
+ if (!MP_STATE_VM(gamepad_singleton)) {
+ supervisor_enable_tick();
+ }
MP_STATE_VM(gamepad_singleton) = gamepad_singleton;
}
common_hal_gamepadshift_gamepadshift_init(gamepad_singleton, clock_pin, data_pin, latch_pin);