summaryrefslogtreecommitdiff
path: root/shared-bindings
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2019-04-16 10:11:54 -0700
committerScott Shawcroft <scott@tannewt.org>2019-04-16 10:11:54 -0700
commit0e03a321e4c4fba6c5d700bfef830c6196aec106 (patch)
tree88e524829978a3874da8b0d5001558e3c6942b33 /shared-bindings
parentc927e6b938ff35fe0f42180d1dc0f9d58f8e571c (diff)
Fully split gamepadshift from gamepad
Diffstat (limited to 'shared-bindings')
-rw-r--r--shared-bindings/digitalio/DigitalInOut.c11
-rw-r--r--shared-bindings/digitalio/DigitalInOut.h1
-rw-r--r--shared-bindings/gamepad/__init__.c13
-rw-r--r--shared-bindings/gamepad/__init__.h4
-rw-r--r--shared-bindings/gamepadshift/GamePadShift.c12
-rw-r--r--shared-bindings/gamepadshift/GamePadShift.h2
6 files changed, 19 insertions, 24 deletions
diff --git a/shared-bindings/digitalio/DigitalInOut.c b/shared-bindings/digitalio/DigitalInOut.c
index 2fcbefe11..1ced15137 100644
--- a/shared-bindings/digitalio/DigitalInOut.c
+++ b/shared-bindings/digitalio/DigitalInOut.c
@@ -374,3 +374,14 @@ const mp_obj_type_t digitalio_digitalinout_type = {
.make_new = digitalio_digitalinout_make_new,
.locals_dict = (mp_obj_t)&digitalio_digitalinout_locals_dict,
};
+
+// Helper for validating digitalio.DigitalInOut arguments
+digitalio_digitalinout_obj_t *assert_digitalinout(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;
+}
diff --git a/shared-bindings/digitalio/DigitalInOut.h b/shared-bindings/digitalio/DigitalInOut.h
index 037979098..eee0d5801 100644
--- a/shared-bindings/digitalio/DigitalInOut.h
+++ b/shared-bindings/digitalio/DigitalInOut.h
@@ -53,5 +53,6 @@ digitalio_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode(digitali
void common_hal_digitalio_digitalinout_set_pull(digitalio_digitalinout_obj_t* self, digitalio_pull_t pull);
digitalio_pull_t common_hal_digitalio_digitalinout_get_pull(digitalio_digitalinout_obj_t* self);
void common_hal_digitalio_digitalinout_never_reset(digitalio_digitalinout_obj_t *self);
+digitalio_digitalinout_obj_t *assert_digitalinout(mp_obj_t obj);
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_DIGITALIO_DIGITALINOUT_H
diff --git a/shared-bindings/gamepad/__init__.c b/shared-bindings/gamepad/__init__.c
index e61f36cc2..cea0b4ee9 100644
--- a/shared-bindings/gamepad/__init__.c
+++ b/shared-bindings/gamepad/__init__.c
@@ -29,19 +29,6 @@
#include "shared-bindings/gamepad/GamePad.h"
#include "shared-bindings/util.h"
-
-// Helper for validating digitalio.DigitalInOut arguments
-digitalio_digitalinout_obj_t *assert_digitalinout(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
//| ==================================
//|
diff --git a/shared-bindings/gamepad/__init__.h b/shared-bindings/gamepad/__init__.h
index 40cf4e6de..2ae5efb3a 100644
--- a/shared-bindings/gamepad/__init__.h
+++ b/shared-bindings/gamepad/__init__.h
@@ -28,8 +28,4 @@
#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPAD___INIT___H
#define MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPAD___INIT___H
-#include "shared-bindings/digitalio/DigitalInOut.h"
-
-digitalio_digitalinout_obj_t *assert_digitalinout(mp_obj_t obj);
-
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPAD___INIT___H
diff --git a/shared-bindings/gamepadshift/GamePadShift.c b/shared-bindings/gamepadshift/GamePadShift.c
index 94b71036f..de3813b08 100644
--- a/shared-bindings/gamepadshift/GamePadShift.c
+++ b/shared-bindings/gamepadshift/GamePadShift.c
@@ -39,11 +39,11 @@
//| :class:`GamePadShift` -- Scan buttons for presses through a shift register
//| ===========================================================================
//|
-//| .. class:: GamePadShift(data, clock, latch)
+//| .. class:: GamePadShift(clock, data, latch)
//|
//| Initializes button scanning routines.
//|
-//| The ``data``, ``clock`` and ``latch`` parameters are ``DigitalInOut``
+//| The ``clock``, ``data`` and ``latch`` parameters are ``DigitalInOut``
//| objects connected to the shift register controlling the buttons.
//|
//| They button presses are accumulated, until the ``get_pressed`` method
@@ -56,18 +56,18 @@
STATIC mp_obj_t gamepadshift_make_new(const mp_obj_type_t *type, size_t n_args,
const mp_obj_t *pos_args, mp_map_t *kw_args) {
- enum { ARG_data, ARG_clock, ARG_latch };
+ enum { ARG_clock, ARG_data, ARG_latch };
static const mp_arg_t allowed_args[] = {
- { MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ },
{ MP_QSTR_clock, MP_ARG_REQUIRED | MP_ARG_OBJ},
+ { MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ },
{ MP_QSTR_latch, MP_ARG_REQUIRED | MP_ARG_OBJ},
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args),
allowed_args, args);
- digitalio_digitalinout_obj_t *data_pin = assert_digitalinout(args[ARG_data].u_obj);
digitalio_digitalinout_obj_t *clock_pin = assert_digitalinout(args[ARG_clock].u_obj);
+ digitalio_digitalinout_obj_t *data_pin = assert_digitalinout(args[ARG_data].u_obj);
digitalio_digitalinout_obj_t *latch_pin = assert_digitalinout(args[ARG_latch].u_obj);
gamepadshift_obj_t* gamepad_singleton = MP_STATE_VM(gamepad_singleton);
@@ -79,7 +79,7 @@ STATIC mp_obj_t gamepadshift_make_new(const mp_obj_type_t *type, size_t n_args,
gamepad_singleton = gc_make_long_lived(gamepad_singleton);
MP_STATE_VM(gamepad_singleton) = gamepad_singleton;
}
- common_hal_gamepadshift_gamepadshift_init(gamepad_singleton, data_pin, clock_pin, latch_pin);
+ common_hal_gamepadshift_gamepadshift_init(gamepad_singleton, clock_pin, data_pin, latch_pin);
return MP_OBJ_FROM_PTR(gamepad_singleton);
}
diff --git a/shared-bindings/gamepadshift/GamePadShift.h b/shared-bindings/gamepadshift/GamePadShift.h
index 2668ec83f..3e8ea9693 100644
--- a/shared-bindings/gamepadshift/GamePadShift.h
+++ b/shared-bindings/gamepadshift/GamePadShift.h
@@ -33,8 +33,8 @@
extern const mp_obj_type_t gamepadshift_type;
void common_hal_gamepadshift_gamepadshift_init(gamepadshift_obj_t *gamepadshift,
- digitalio_digitalinout_obj_t *data_pin,
digitalio_digitalinout_obj_t *clock_pin,
+ digitalio_digitalinout_obj_t *data_pin,
digitalio_digitalinout_obj_t *latch_pin);
void common_hal_gamepadshift_gamepadshift_deinit(gamepadshift_obj_t *gamepadshift);