diff options
| author | Radomir Dopieralski <openstack@sheep.art.pl> | 2018-05-24 11:25:21 +0200 |
|---|---|---|
| committer | Radomir Dopieralski <openstack@sheep.art.pl> | 2018-05-30 23:11:22 +0200 |
| commit | b219ce6d377b6e00e1967c9b98966d4229f566ed (patch) | |
| tree | 5dc45ec1832eda32e0c738e87512c02d9c53faaf /shared-module | |
| parent | c37b69e1a5316956ce966cce6841f3d960e581b0 (diff) | |
Add gamepad_singleton to root pointers
Diffstat (limited to 'shared-module')
| -rw-r--r-- | shared-module/gamepad/GamePad.c | 2 | ||||
| -rw-r--r-- | shared-module/gamepad/GamePad.h | 2 | ||||
| -rw-r--r-- | shared-module/gamepad/__init__.c | 4 |
3 files changed, 5 insertions, 3 deletions
diff --git a/shared-module/gamepad/GamePad.c b/shared-module/gamepad/GamePad.c index 88ab23fc1..2c14fa02a 100644 --- a/shared-module/gamepad/GamePad.c +++ b/shared-module/gamepad/GamePad.c @@ -26,6 +26,7 @@ #include <stdbool.h> +#include "py/mpstate.h" #include "__init__.h" #include "GamePad.h" @@ -35,6 +36,7 @@ void gamepad_init(size_t n_pins, const mp_obj_t* pins) { + gamepad_obj_t* gamepad_singleton = MP_STATE_VM(gamepad_singleton); for (size_t i = 0; i < 8; ++i) { gamepad_singleton->pins[i] = NULL; } diff --git a/shared-module/gamepad/GamePad.h b/shared-module/gamepad/GamePad.h index 7ce55cf98..9fd5c9626 100644 --- a/shared-module/gamepad/GamePad.h +++ b/shared-module/gamepad/GamePad.h @@ -39,8 +39,6 @@ typedef struct { uint8_t pulls; } gamepad_obj_t; -extern gamepad_obj_t* gamepad_singleton; - void gamepad_init(size_t n_pins, const mp_obj_t* pins); #endif // MICROPY_INCLUDED_GAMEPAD_GAMEPAD_H diff --git a/shared-module/gamepad/__init__.c b/shared-module/gamepad/__init__.c index b1cdac2a7..8414ddfbe 100644 --- a/shared-module/gamepad/__init__.c +++ b/shared-module/gamepad/__init__.c @@ -26,6 +26,7 @@ #include <stdbool.h> +#include "py/mpstate.h" #include "__init__.h" #include "GamePad.h" @@ -33,6 +34,7 @@ void gamepad_tick(void) { + gamepad_obj_t* gamepad_singleton = MP_STATE_VM(gamepad_singleton); if (!gamepad_singleton) { return; } @@ -54,5 +56,5 @@ void gamepad_tick(void) { } void gamepad_reset(void) { - gamepad_singleton = NULL; + MP_STATE_VM(gamepad_singleton) = NULL; } |
