diff options
| author | Scott Shawcroft <scott.shawcroft@gmail.com> | 2016-11-29 15:49:50 -0800 |
|---|---|---|
| committer | Scott Shawcroft <scott.shawcroft@gmail.com> | 2016-11-29 15:50:01 -0800 |
| commit | 4933fa1c27f987be558a33b1736089b04e880a03 (patch) | |
| tree | 973345cef69c216a897c6ba670ab238ea0e2c2f3 /shared-bindings/bitbangio/SPI.c | |
| parent | 72455e441fb70a6a3f01b20ecb760f6f3f6f84ec (diff) | |
shared-bindings: Ensure pin objects are actually pins.
Fixes #12
Diffstat (limited to 'shared-bindings/bitbangio/SPI.c')
| -rw-r--r-- | shared-bindings/bitbangio/SPI.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/shared-bindings/bitbangio/SPI.c b/shared-bindings/bitbangio/SPI.c index 560834ac8..4b6b1bacb 100644 --- a/shared-bindings/bitbangio/SPI.c +++ b/shared-bindings/bitbangio/SPI.c @@ -30,6 +30,7 @@ #include <string.h> #include "shared-bindings/bitbangio/SPI.h" +#include "shared-bindings/microcontroller/Pin.h" #include "py/runtime.h" @@ -76,8 +77,11 @@ STATIC mp_obj_t bitbangio_spi_make_new(const mp_obj_type_t *type, size_t n_args, }; 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); + assert_pin(args[ARG_clock].u_obj, false); + assert_pin(args[ARG_MOSI].u_obj, true); + assert_pin(args[ARG_MISO].u_obj, true); const mcu_pin_obj_t* clock = MP_OBJ_TO_PTR(args[ARG_clock].u_obj); - const mcu_pin_obj_t* mosi = MP_OBJ_TO_PTR(args[ARG_MOSI].u_obj); + const mcu_pin_obj_t* mosi = MP_OBJ_TO_PTR(args[ARG_MOSI].u_obj); const mcu_pin_obj_t* miso = MP_OBJ_TO_PTR(args[ARG_MISO].u_obj); shared_module_bitbangio_spi_construct(self, clock, mosi, miso, args[ARG_baudrate].u_int); return (mp_obj_t)self; |
