summaryrefslogtreecommitdiff
path: root/shared-bindings/busio/SPI.c
diff options
context:
space:
mode:
authorDan Halbert <halbert@halwitz.org>2020-02-28 23:32:24 -0500
committerDan Halbert <halbert@halwitz.org>2020-02-28 23:43:04 -0500
commitb6206406de2a232299ebdd1d187c7656ae79f8f2 (patch)
treea5738ccf40ddd8092a1f2edf9811e4a3b6404968 /shared-bindings/busio/SPI.c
parent29e44721d2d4712de865aa3a3b8fdd5de90c029b (diff)
new pin validation routines; don't use mp_const_none if NULL will do
Diffstat (limited to 'shared-bindings/busio/SPI.c')
-rw-r--r--shared-bindings/busio/SPI.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/shared-bindings/busio/SPI.c b/shared-bindings/busio/SPI.c
index 828ffb8d0..ca84c0f24 100644
--- a/shared-bindings/busio/SPI.c
+++ b/shared-bindings/busio/SPI.c
@@ -89,17 +89,13 @@ STATIC mp_obj_t busio_spi_make_new(const mp_obj_type_t *type, size_t n_args, con
};
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);
- assert_pin_free(clock);
- const mcu_pin_obj_t* mosi = MP_OBJ_TO_PTR(args[ARG_MOSI].u_obj);
- assert_pin_free(mosi);
- const mcu_pin_obj_t* miso = MP_OBJ_TO_PTR(args[ARG_MISO].u_obj);
- assert_pin_free(miso);
+
+ const mcu_pin_obj_t* clock = validate_is_free_pin(args[ARG_clock].u_obj);
+ const mcu_pin_obj_t* mosi = validate_is_free_pin_or_none(args[ARG_MOSI].u_obj);
+ const mcu_pin_obj_t* miso = validate_is_free_pin_or_none(args[ARG_MISO].u_obj);
+
common_hal_busio_spi_construct(self, clock, mosi, miso);
- return (mp_obj_t)self;
+ return MP_OBJ_FROM_PTR(self);
}
//| .. method:: deinit()