summaryrefslogtreecommitdiff
path: root/extmod/modbluetooth.c
diff options
context:
space:
mode:
Diffstat (limited to 'extmod/modbluetooth.c')
-rw-r--r--extmod/modbluetooth.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/extmod/modbluetooth.c b/extmod/modbluetooth.c
index 7a3d1ac12..7e6abb549 100644
--- a/extmod/modbluetooth.c
+++ b/extmod/modbluetooth.c
@@ -295,6 +295,11 @@ STATIC mp_obj_t bluetooth_ble_config(size_t n_args, const mp_obj_t *args, mp_map
}
switch (mp_obj_str_get_qstr(args[1])) {
+ case MP_QSTR_gap_name: {
+ const uint8_t *buf;
+ size_t len = mp_bluetooth_gap_get_device_name(&buf);
+ return mp_obj_new_bytes(buf, len);
+ }
case MP_QSTR_mac: {
uint8_t addr[6];
mp_bluetooth_get_device_addr(addr);
@@ -315,6 +320,13 @@ STATIC mp_obj_t bluetooth_ble_config(size_t n_args, const mp_obj_t *args, mp_map
if (MP_MAP_SLOT_IS_FILLED(kwargs, i)) {
mp_map_elem_t *e = &kwargs->table[i];
switch (mp_obj_str_get_qstr(e->key)) {
+ case MP_QSTR_gap_name: {
+ mp_buffer_info_t bufinfo;
+ mp_get_buffer_raise(e->value, &bufinfo, MP_BUFFER_READ);
+ int ret = mp_bluetooth_gap_set_device_name(bufinfo.buf, bufinfo.len);
+ bluetooth_handle_errno(ret);
+ break;
+ }
case MP_QSTR_rxbuf: {
// Determine new buffer sizes
mp_int_t ringbuf_alloc = mp_obj_get_int(e->value);