summaryrefslogtreecommitdiff
path: root/shared-module
diff options
context:
space:
mode:
authordherrada <33632497+dherrada@users.noreply.github.com>2020-05-15 18:17:23 -0400
committerGitHub <noreply@github.com>2020-05-15 18:17:23 -0400
commite67d6756d1dbfe2e7b61b1fbfc2357c3f1f56639 (patch)
treea30d1e6061c68149f2ad06a1d781863a415f6601 /shared-module
parentacf88d7c0089c732222740a26a1d73563d016a13 (diff)
parent0d8bca92e208e705150097d26db6a5390dc9eb9b (diff)
Merge branch 'master' into extract-types
Diffstat (limited to 'shared-module')
-rw-r--r--shared-module/gamepad/GamePad.c2
-rw-r--r--shared-module/gamepad/__init__.c4
-rw-r--r--shared-module/gamepadshift/GamePadShift.c2
3 files changed, 8 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;
}
diff --git a/shared-module/gamepadshift/GamePadShift.c b/shared-module/gamepadshift/GamePadShift.c
index b8fb4d3f4..51da61702 100644
--- a/shared-module/gamepadshift/GamePadShift.c
+++ b/shared-module/gamepadshift/GamePadShift.c
@@ -27,6 +27,7 @@
#include "py/mpstate.h"
#include "shared-bindings/digitalio/DigitalInOut.h"
#include "shared-module/gamepadshift/GamePadShift.h"
+#include "supervisor/shared/tick.h"
void common_hal_gamepadshift_gamepadshift_init(gamepadshift_obj_t *gamepadshift,
digitalio_digitalinout_obj_t *clock_pin,
@@ -46,4 +47,5 @@ void common_hal_gamepadshift_gamepadshift_init(gamepadshift_obj_t *gamepadshift,
void common_hal_gamepadshift_gamepadshift_deinit(gamepadshift_obj_t *gamepadshift) {
MP_STATE_VM(gamepad_singleton) = NULL;
+ supervisor_disable_tick();
}