summaryrefslogtreecommitdiff
path: root/shared-bindings/bitbangio/SPI.c
diff options
context:
space:
mode:
authorScott Shawcroft <scott.shawcroft@gmail.com>2016-11-29 15:49:50 -0800
committerScott Shawcroft <scott.shawcroft@gmail.com>2016-11-29 15:50:01 -0800
commit4933fa1c27f987be558a33b1736089b04e880a03 (patch)
tree973345cef69c216a897c6ba670ab238ea0e2c2f3 /shared-bindings/bitbangio/SPI.c
parent72455e441fb70a6a3f01b20ecb760f6f3f6f84ec (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.c6
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;