summaryrefslogtreecommitdiff
path: root/shared-bindings/gamepad/__init__.c
diff options
context:
space:
mode:
authorRadomir Dopieralski <openstack@sheep.art.pl>2019-04-12 20:38:51 +0200
committerRadomir Dopieralski <openstack@sheep.art.pl>2019-04-12 20:43:29 +0200
commit4dc286fa14e381f7ac2ca4dda1f006fac5bc0356 (patch)
tree0eb43e491db419747f9fbc7587e32de31cec467d /shared-bindings/gamepad/__init__.c
parent049e80993d8e7a4514e66d5745536a1b38480852 (diff)
Reorganize the gamepad code
Diffstat (limited to 'shared-bindings/gamepad/__init__.c')
-rw-r--r--shared-bindings/gamepad/__init__.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/shared-bindings/gamepad/__init__.c b/shared-bindings/gamepad/__init__.c
index 0775d6abf..ecbcc793e 100644
--- a/shared-bindings/gamepad/__init__.c
+++ b/shared-bindings/gamepad/__init__.c
@@ -27,6 +27,21 @@
#include "py/runtime.h"
#include "py/mphal.h"
#include "GamePad.h"
+#include "GamePadShift.h"
+#include "shared-bindings/digitalio/DigitalInOut.h"
+#include "shared-bindings/util.h"
+
+
+// Helper for validating digitalio.DigitalInOut arguments
+digitalio_digitalinout_obj_t *pin_io(mp_obj_t obj) {
+ if (!MP_OBJ_IS_TYPE(obj, &digitalio_digitalinout_type)) {
+ mp_raise_TypeError(translate("argument num/types mismatch"));
+ }
+ digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(obj);
+ raise_error_if_deinited(
+ common_hal_digitalio_digitalinout_deinited(pin));
+ return pin;
+}
//| :mod:`gamepad` --- Button handling