summaryrefslogtreecommitdiff
path: root/shared-bindings/_bleio
diff options
context:
space:
mode:
authorDan Halbert <halbert@halwitz.org>2020-06-26 17:23:20 -0400
committerDan Halbert <halbert@halwitz.org>2020-06-26 17:23:20 -0400
commit1bc2e979eb9ca2f3cb0eed396cc35406eceea27a (patch)
tree34f23e5506c8de84eccd3c2559610dda0809f656 /shared-bindings/_bleio
parent57bac9a1fce15135ba35cdc8e3ca8c63eb2be7c3 (diff)
wip; compiles; much commented out
Diffstat (limited to 'shared-bindings/_bleio')
-rw-r--r--shared-bindings/_bleio/Adapter.c22
-rw-r--r--shared-bindings/_bleio/Adapter.h4
2 files changed, 20 insertions, 6 deletions
diff --git a/shared-bindings/_bleio/Adapter.c b/shared-bindings/_bleio/Adapter.c
index 0780e0a32..cf3b62ff1 100644
--- a/shared-bindings/_bleio/Adapter.c
+++ b/shared-bindings/_bleio/Adapter.c
@@ -90,10 +90,10 @@ STATIC mp_obj_t bleio_adapter_make_new(const mp_obj_type_t *type, size_t n_args,
{ MP_QSTR_cts, MP_ARG_KW_ONLY | MP_ARG_REQUIRED | MP_ARG_OBJ },
{ MP_QSTR_baudrate, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 115200 } },
{ MP_QSTR_buffer_size, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 256 } },
- { MP_QSTR_spi_cs, MP_ARG_KW_ONLY }| MP_ARG_REQUIRED | MP_ARG_OBJ },
- { MP_QSTR_gpio0, MP_ARG_KW_ONLY }| MP_ARG_REQUIRED | MP_ARG_OBJ },
- { MP_QSTR_reset, MP_ARG_KW_ONLY }| MP_ARG_REQUIRED | MP_ARG_OBJ },
- { MP_QSTR_reset_high, MP_ARG_KW_ONLY |MP_ARG_BOOL },
+ { MP_QSTR_spi_cs, MP_ARG_KW_ONLY | MP_ARG_REQUIRED | MP_ARG_OBJ },
+ { MP_QSTR_gpio0, MP_ARG_KW_ONLY | MP_ARG_REQUIRED | MP_ARG_OBJ },
+ { MP_QSTR_reset, MP_ARG_KW_ONLY | MP_ARG_REQUIRED | MP_ARG_OBJ },
+ { MP_QSTR_reset_high, MP_ARG_KW_ONLY | MP_ARG_BOOL },
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
@@ -108,13 +108,23 @@ STATIC mp_obj_t bleio_adapter_make_new(const mp_obj_type_t *type, size_t n_args,
const mcu_pin_obj_t *reset = validate_obj_is_free_pin(args[ARG_reset].u_obj);
const bool reset_high = args[ARG_reset_high].u_bool;
+ if (args[ARG_baudrate].u_int <= 0) {
+ mp_raise_ValueError(translate("baudrate must be > 0"));
+ }
+ const uint32_t baudrate = args[ARG_baudrate].u_int;
+
+ if (args[ARG_buffer_size].u_int <= 1) {
+ mp_raise_ValueError(translate("buffer_size must be >= 1"));
+ }
+ const uint32_t buffer_size = args[ARG_buffer_size].u_int;
+
common_hal_bleio_adapter_construct(&common_hal_bleio_adapter_obj, tx, rx, rts, cts,
- args[ARG_baudrate], arg[ARG_buffer_size],
+ baudrate, buffer_size,
spi_cs, gpio0,
reset, reset_high);
common_hal_bleio_adapter_set_enabled(&common_hal_bleio_adapter_obj, true);
- return MP_OBJ_FROM_PTR(service);
+ return MP_OBJ_FROM_PTR(&common_hal_bleio_adapter_obj);
}
#endif
//|
diff --git a/shared-bindings/_bleio/Adapter.h b/shared-bindings/_bleio/Adapter.h
index 39147b6eb..3f7cd5430 100644
--- a/shared-bindings/_bleio/Adapter.h
+++ b/shared-bindings/_bleio/Adapter.h
@@ -37,6 +37,10 @@
const mp_obj_type_t bleio_adapter_type;
+#if CIRCUITPY_BLEIO_HCI
+void common_hal_bleio_adapter_construct(bleio_adapter_obj_t *self, const mcu_pin_obj_t *tx, const mcu_pin_obj_t *rx, const mcu_pin_obj_t *rts, const mcu_pin_obj_t *cts, uint32_t baudrate, uint32_t buffer_size, const mcu_pin_obj_t* spi_cs, const mcu_pin_obj_t* gpio0, const mcu_pin_obj_t *reset, bool reset_high);
+#endif
+
extern bool common_hal_bleio_adapter_get_advertising(bleio_adapter_obj_t *self);
extern bool common_hal_bleio_adapter_get_enabled(bleio_adapter_obj_t *self);
extern void common_hal_bleio_adapter_set_enabled(bleio_adapter_obj_t *self, bool enabled);