8000 Merge pull request #2092 from dhalbert/bleio-api-revamp · adafruit/circuitpython@b954b2f · GitHub
[go: up one dir, main page]

Skip to content

Commit b954b2f

Browse files
authored
Merge pull request #2092 from dhalbert/bleio-api-revamp
Bleio attribute api revamp
2 parents 2b5ce66 + 318d704 commit b954b2f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+1708
-1727
lines changed

locale/ID.po

Lines changed: 75 additions & 89 deletions
Large diffs are not rendered by default.

locale/circuitpython.pot

Lines changed: 75 additions & 89 deletions
Large diffs are not rendered by default.

locale/de_DE.po

Lines changed: 81 additions & 89 deletions
Large diffs are not rendered by default.

locale/en_US.po

Lines changed: 75 additions & 89 deletions
Large diffs are not rendered by default.

locale/en_x_pirate.po

Lines changed: 75 additions & 89 deletions
Large diffs are not rendered by default.

locale/es.po

Lines changed: 86 additions & 91 deletions
Large diffs are not rendered by default.

locale/fil.po

Lines changed: 75 additions & 89 deletions
Large diffs are not rendered by default.

locale/fr.po

Lines changed: 85 additions & 89 deletions
Large diffs are not rendered by default.

locale/it_IT.po

Lines changed: 81 additions & 89 deletions
Large diffs are not rendered by default.

locale/pl.po

Lines changed: 85 additions & 89 deletions
Large diffs are not rendered by default.

locale/pt_BR.po

Lines changed: 75 additions & 89 deletions
Large diffs are not rendered by default.

locale/zh_Latn_pinyin.po

Lines changed: 84 additions & 89 deletions
Large diffs are not rendered by default.

ports/nrf/bluetooth/ble_uart.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@
3434
#include "py/mphal.h"
3535
#include "py/runtime.h"
3636
#include "lib/utils/interrupt_char.h"
37-
#include "shared-bindings/bleio/Adapter.h"
38-
#include "shared-bindings/bleio/Characteristic.h"
39-
#include "shared-bindings/bleio/Device.h"
40-
#include "shared-bindings/bleio/Service.h"
41-
#include "shared-bindings/bleio/UUID.h"
37+
#include "shared-bindings/_bleio/Adapter.h"
38+
#include "shared-bindings/_bleio/Characteristic.h"
39+
#include "shared-bindings/_bleio/Device.h"
40+
#include "shared-bindings/_bleio/Service.h"
41+
#include "shared-bindings/_bleio/UUID.h"
4242

4343
#if (MICROPY_PY_BLE_NUS == 1)
4444

ports/nrf/common-hal/bleio/Adapter.c renamed to ports/nrf/common-hal/_bleio/Adapter.c

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,13 @@
3737
#include "py/objstr.h"
3838
#include "py/runtime.h"
3939
#include "supervisor/usb.h"
40-
#include "shared-bindings/bleio/Adapter.h"
41-
#include "shared-bindings/bleio/Address.h"
40+
#include "shared-bindings/_bleio/Adapter.h"
41+
#include "shared-bindings/_bleio/Address.h"
42+
43+
#define BLE_MIN_CONN_INTERVAL MSEC_TO_UNITS(15, UNIT_0_625_MS)
44+
#define BLE_MAX_CONN_INTERVAL MSEC_TO_UNITS(15, UNIT_0_625_MS)
45+
#define BLE_SLAVE_LATENCY 0
46+
#define BLE_CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS)
4247

4348
STATIC void softdevice_assert_handler(uint32_t id, uint32_t pc, uint32_t info) {
4449
mp_raise_msg_varg(&mp_type_AssertionErro F438 r,
@@ -61,12 +66,14 @@ STATIC uint32_t ble_stack_enable(void) {
6166
};
6267

6368
uint32_t err_code = sd_softdevice_enable(&clock_config, softdevice_assert_handler);
64-
if (err_code != NRF_SUCCESS)
69+
if (err_code != NRF_SUCCESS) {
6570
return err_code;
71+
}
6672

6773
err_code = sd_nvic_EnableIRQ(SD_EVT_IRQn);
68-
if (err_code != NRF_SUCCESS)
74+
if (err_code != NRF_SUCCESS) {
6975
return err_code;
76+
}
7077

7178
// Start with no event handlers, etc.
7279
ble_drv_reset();
@@ -97,8 +104,22 @@ STATIC uint32_t ble_stack_enable(void) {
97104
return err_code;
98105

99106
err_code = sd_ble_enable(&app_ram_start);
107+
if (err_code != NRF_SUCCESS)
108+
return err_code;
109+
110+
ble_gap_conn_params_t gap_conn_params = {
111+
.min_conn_interval = BLE_MIN_CONN_INTERVAL,
112+
.max_conn_interval = BLE_MAX_CONN_INTERVAL,
113+
.slave_latency = BLE_SLAVE_LATENCY,
114+
.conn_sup_timeout = BLE_CONN_SUP_TIMEOUT,
115+
};
116+
err_code = sd_ble_gap_ppcp_set(&gap_conn_params);
117+
if (err_code != NRF_SUCCESS) {
118+
return err_code;
119+
}
100120

101-
return err_code;
121+
err_code = sd_ble_gap_appearance_set(BLE_APPEARANCE_UNKNOWN);
122+
return err_code;
102123
}
103124

104125
void common_hal_bleio_adapter_set_enabled(bool enabled) {

ports/nrf/common-hal/bleio/Attribute.c renamed to ports/nrf/common-hal/_bleio/Attribute.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424
* THE SOFTWARE.
2525
*/
2626

27-
#include "shared-bindings/bleio/Attribute.h"
27+
#include "shared-bindings/_bleio/Attribute.h"
2828

29-
// Convert a bleio security mode to a ble_gap_conn_sec_mode_t setting.
29+
// Convert a _bleio security mode to a ble_gap_conn_sec_mode_t setting.
3030
void bleio_attribute_gatts_set_security_mode(ble_gap_conn_sec_mode_t *perm, bleio_attribute_security_mode_t security_mode) {
3131
switch (security_mode) {
3232
case SECURITY_MODE_NO_ACCESS:

ports/nrf/common-hal/bleio/Attribute.h renamed to ports/nrf/common-hal/_bleio/Attribute.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
#ifndef MICROPY_INCLUDED_NRF_COMMON_HAL_BLEIO_ATTRIBUTE_H
2828
#define MICROPY_INCLUDED_NRF_COMMON_HAL_BLEIO_ATTRIBUTE_H
2929

30-
// Nothing yet.
30+
#include "shared-module/_bleio/Attribute.h"
31+
32+
extern void bleio_attribute_gatts_set_security_mode(ble_gap_conn_sec_mode_t *perm, bleio_attribute_security_mode_t security_mode);
3133

3234
#endif // MICROPY_INCLUDED_NRF_COMMON_HAL_BLEIO_ATTRIBUTE_H

ports/nrf/common-hal/bleio/Central.c renamed to ports/nrf/common-hal/_bleio/Central.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@
3434
#include "nrf_soc.h"
3535
#include "py/objstr.h"
3636
#include "py/runtime.h"
37-
#include "shared-bindings/bleio/__init__.h"
38-
#include "shared-bindings/bleio/Adapter.h"
39-
#include "shared-bindings/bleio/Central.h"
37+
#include "shared-bindings/_bleio/__init__.h"
38+
#include "shared-bindings/_bleio/Adapter.h"
39+
#include "shared-bindings/_bleio/Central.h"
4040

4141
STATIC void central_on_ble_evt(ble_evt_t *ble_evt, void *central_in) {
4242
bleio_central_obj_t *central = (bleio_central_obj_t*)central_in;
@@ -76,7 +76,7 @@ STATIC void central_on_ble_evt(ble_evt_t *ble_evt, void *central_in) {
7676
void common_hal_bleio_central_construct(bleio_central_obj_t *self) {
7777
common_hal_bleio_adapter_set_enabled(true);
7878

79-
self->remote_services_list = mp_obj_new_list(0, NULL);
79+
self->remote_service_list = mp_obj_new_list(0, NULL);
8080
self->conn_handle = BLE_CONN_HANDLE_INVALID;
8181
}
8282

@@ -134,12 +134,12 @@ bool common_hal_bleio_central_get_connected(bleio_central_obj_t *self) {
134134
mp_obj_tuple_t *common_hal_bleio_central_discover_remote_services(bleio_central_obj_t *self, mp_obj_t service_uuids_whitelist) {
135135
common_hal_bleio_device_discover_remote_services(MP_OBJ_FROM_PTR(self), service_uuids_whitelist);
136136
// Convert to a tuple and then clear the list so the callee will take ownership.
137-
mp_obj_tuple_t *services_tuple = mp_obj_new_tuple(self->remote_services_list->len,
138-
self->remote_services_list->items);
139-
mp_obj_list_clear(self->remote_services_list);
137+
mp_obj_tuple_t *services_tuple = mp_obj_new_tuple(self->remote_service_list->len,
138+
self->remote_service_list->items);
139+
mp_obj_list_clear(self->remote_service_list);
140140
return services_tuple;
141141
}
142142

143143
mp_obj_list_t *common_hal_bleio_central_get_remote_services(bleio_central_obj_t *self) {
144-
return self->remote_services_list;
144+
return self->remote_service_list;
145145
}

ports/nrf/common-hal/bleio/Central.h renamed to ports/nrf/common-hal/_bleio/Central.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@
3131
#include <stdbool.h>
3232

3333
#include "py/objlist.h"
34-
#include "shared-module/bleio/Address.h"
34+
#include "shared-module/_bleio/Address.h"
3535

3636
typedef struct {
3737
mp_obj_base_t base;
3838
volatile bool waiting_to_connect;
3939
volatile uint16_t conn_handle;
4040
// Services discovered after connecting to a remote peripheral.
41-
mp_obj_list_t *remote_services_list;
41+
mp_obj_list_t *remote_service_list;
4242
} bleio_central_obj_t;
4343

4444
#endif // MICROPY_INCLUDED_SHARED_MODULE_BLEIO_CENTRAL_H

ports/nrf/common-hal/bleio/Characteristic.c renamed to ports/nrf/common-hal/_bleio/Characteristic.c

Lines changed: 51 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727

2828
#include "py/runtime.h"
2929

30-
#include "shared-bindings/bleio/__init__.h"
31-
#include "shared-bindings/bleio/Characteristic.h"
32-
#include "shared-bindings/bleio/Descriptor.h"
33-
#include "shared-bindings/bleio/Service.h"
30+
#include "shared-bindings/_bleio/__init__.h"
31+
#include "shared-bindings/_bleio/Characteristic.h"
32+
#include "shared-bindings/_bleio/Descriptor.h"
33+
#include "shared-bindings/_bleio/Service.h"
3434

3535
static volatile bleio_characteristic_obj_t *m_read_characteristic;
3636

@@ -124,15 +124,14 @@ STATIC void characteristic_gattc_read(bleio_characteristic_obj_t *characteristic
124124
ble_drv_remove_event_handler(characteristic_on_gattc_read_rsp_evt, characteristic);
125125
}
126126

127-
void common_hal_bleio_characteristic_construct(bleio_characteristic_obj_t *self, bleio_uuid_obj_t *uuid, bleio_characteristic_properties_t props, bleio_attribute_security_mode_t read_perm, bleio_attribute_security_mode_t write_perm, mp_int_t max_length, bool fixed_length, mp_obj_list_t *descriptor_list) {
128-
self->service = MP_OBJ_NULL;
127+
void common_hal_bleio_characteristic_construct(bleio_characteristic_obj_t *self, bleio_service_obj_t *service, bleio_uuid_obj_t *uuid, bleio_characteristic_properties_t props, bleio_attribute_security_mode_t read_perm, bleio_attribute_security_mode_t write_perm, mp_int_t max_length, bool fixed_length, mp_buffer_info_t *initial_value_bufinfo) {
128+
self->service = service;
129129
self->uuid = uuid;
130-
self->value = mp_const_empty_bytes;
131130
self->handle = BLE_GATT_HANDLE_INVALID;
132131
self->props = props;
133132
self->read_perm = read_perm;
134133
self->write_perm = write_perm;
135-
self->descriptor_list = descriptor_list;
134+
self->descriptor_list = mp_obj_new_list(0, NULL);
136135

137136
const mp_int_t max_length_max = fixed_length ? BLE_GATTS_FIX_ATTR_LEN_MAX : BLE_GATTS_VAR_ATTR_LEN_MAX;
138137
if (max_length < 0 || max_length > max_length_max) {
@@ -142,11 +141,7 @@ void common_hal_bleio_characteristic_construct(bleio_characteristic_obj_t *self,
142141
self->max_length = max_length;
143142
self->fixed_length = fixed_length;
144143

145-
for (size_t descriptor_idx = 0; descriptor_idx < descriptor_list->len; ++descriptor_idx) {
146-
bleio_descriptor_obj_t *descriptor =
147-
MP_OBJ_TO_PTR(descriptor_list->items[descriptor_idx]);
148-
descriptor->characteristic = self;
149-
}
144+
common_hal_bleio_characteristic_set_value(self, initial_value_bufinfo);
150145
}
151146

152147
mp_obj_list_t *common_hal_bleio_characteristic_get_descriptor_list(bleio_characteristic_obj_t *self) {
@@ -173,6 +168,15 @@ mp_obj_t common_hal_bleio_characteristic_get_value(bleio_characteristic_obj_t *s
173168
}
174169

175170
void common_hal_bleio_characteristic_set_value(bleio_characteristic_obj_t *self, mp_buffer_info_t *bufinfo) {
171+
if (self->fixed_length && bufinfo->len != self->max_length) {
172+
mp_raise_ValueError(translate("Value length != required fixed length"));
173+
}
174+
if (bufinfo->len > self->max_length) {
175+
mp_raise_ValueError(translate("Value length > max_length"));
176+
}
177+
178+
self->value = mp_obj_new_bytes(bufinfo->buf, bufinfo->len);
179+
176180
// Do GATT operations only if this characteristic has been added to a registered service.
177181
if (self->handle != BLE_GATT_HANDLE_INVALID) {
178182
uint16_t conn_handle = common_hal_bleio_device_get_conn_handle(self->service->device);
@@ -182,12 +186,6 @@ void common_hal_bleio_characteristic_set_value(bleio_characteristic_obj_t *self,
182186
common_hal_bleio_gattc_write(self->handle, conn_handle, bufinfo,
183187
(self->props & CHAR_PROP_WRITE_NO_RESPONSE));
184188
} else {
185-
if (self->fixed_length && bufinfo->len != self->max_length) {
186-
mp_raise_ValueError(translate("Value length != required fixed length"));
187-
}
188-
if (bufinfo->len > self->max_length) {
189-
mp_raise_ValueError(translate("Value length > max_length"));
190-
}
191189

192190
bool sent = false;
193191
uint16_t cccd = 0;
@@ -213,8 +211,6 @@ void common_hal_bleio_characteristic_set_value(bleio_characteristic_obj_t *self,
213211
}
214212
}
215213
}
216-
217-
self->value = mp_obj_new_bytes(bufinfo->buf, bufinfo->len);
218214
}
219215

220216
bleio_uuid_obj_t *common_hal_bleio_characteristic_get_uuid(bleio_characteristic_obj_t *self) {
@@ -225,6 +221,40 @@ bleio_characteristic_properties_t common_hal_bleio_characteristic_get_properties
225221
return self->props;
226222
}
227223

224+
void common_hal_bleio_characteristic_add_descriptor(bleio_characteristic_obj_t *self, bleio_descriptor_obj_t *descriptor) {
225+
ble_uuid_t desc_uuid;
226+
bleio_uuid_convert_to_nrf_ble_uuid(descriptor->uuid, &desc_uuid);
227+
228+
ble_gatts_attr_md_t desc_attr_md = {
229+
// Data passed is not in a permanent location and should be copied.
230+
.vloc = BLE_GATTS_VLOC_STACK,
231+
.vlen = !descriptor->fixed_length,
232+
};
233+
234+
bleio_attribute_gatts_set_security_mode(&desc_attr_md.read_perm, descriptor->read_perm);
235+
bleio_attribute_gatts_set_security_mode(&desc_attr_md.write_perm, descriptor->write_perm);
236+
237+
mp_buffer_info_t desc_value_bufinfo;
238+
mp_get_buffer_raise(descriptor->value, &desc_value_bufinfo, MP_BUFFER_READ);
239+
240+
ble_gatts_attr_t desc_attr = {
241+
.p_uuid = &desc_uuid,
242+
.p_attr_md = &desc_attr_md,
243+
.init_len = desc_value_bufinfo.len,
244+
.p_value = desc_value_bufinfo.buf,
245+
.init_offs = 0,
246+
.max_len = descriptor->max_length,
247+
};
248+
249+
uint32_t err_code = sd_ble_gatts_descriptor_add(self->handle, &desc_attr, &descriptor->handle);
250+
251+
if (err_code != NRF_SUCCESS) {
252+
mp_raise_OSError_msg_varg(translate("Failed to add descriptor, err 0x%04x"), err_code);
253+
}
254+
255+
mp_obj_list_append(self->descriptor_list, MP_OBJ_FROM_PTR(descriptor));
256+
}
257+
228258
void common_hal_bleio_characteristic_set_cccd(bleio_characteristic_obj_t *self, bool notify, bool indicate) {
229259
if (self->cccd_handle == BLE_GATT_HANDLE_INVALID) {
230260
mp_raise_ValueError(translate("No CCCD for this Characteristic"));

ports/nrf/common-hal/bleio/Characteristic.h renamed to ports/nrf/common-hal/_bleio/Characteristic.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
#ifndef MICROPY_INCLUDED_NRF_COMMON_HAL_BLEIO_CHARACTERISTIC_H
2929
#define MICROPY_INCLUDED_NRF_COMMON_HAL_BLEIO_CHARACTERISTIC_H
3030

31-
#include "shared-bindings/bleio/Attribute.h"
32-
#include "shared-module/bleio/Characteristic.h"
33-
#include "common-hal/bleio/Service.h"
34-
#include "common-hal/bleio/UUID.h"
31+
#include "shared-bindings/_bleio/Attribute.h"
32+
#include "shared-module/_bleio/Characteristic.h"
33+
#include "common-hal/_bleio/Service.h"
34+
#include "common-hal/_bleio/UUID.h"
3535

3636
typedef struct {
3737
mp_obj_base_t base;

ports/nrf/common-hal/bleio/CharacteristicBuffer.c renamed to ports/nrf/common-hal/_bleio/CharacteristicBuffer.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737

3838
#include "tick.h"
3939

40-
#include "shared-bindings/bleio/__init__.h"
41-
#include "common-hal/bleio/CharacteristicBuffer.h"
40+
#include "shared-bindings/_bleio/__init__.h"
41+
#include "common-hal/_bleio/CharacteristicBuffer.h"
4242

4343
STATIC void write_to_ringbuf(bleio_characteristic_buffer_obj_t *self, uint8_t *data, uint16_t len) {
4444
// Push all the data onto the ring buffer.

ports/nrf/common-hal/bleio/CharacteristicBuffer.h renamed to ports/nrf/common-hal/_bleio/CharacteristicBuffer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#include "nrf_soc.h"
3131

3232
#include "py/ringbuf.h"
33-
#include "shared-bindings/bleio/Characteristic.h"
33+
#include "shared-bindings/_bleio/Characteristic.h"
3434

3535
typedef struct {
3636
mp_obj_base_t base;

ports/nrf/common-hal/bleio/Descriptor.c renamed to ports/nrf/common-hal/_bleio/Descriptor.c

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,16 @@
2828

2929
#include "py/runtime.h"
3030

31-
#include "shared-bindings/bleio/__init__.h"
32-
#include "shared-bindings/bleio/Descriptor.h"
33-
#include "shared-bindings/bleio/Service.h"
34-
#include "shared-bindings/bleio/UUID.h"
31+
#include "shared-bindings/_bleio/__init__.h"
32+
#include "shared-bindings/_bleio/Descriptor.h"
33+
#include "shared-bindings/_bleio/Service.h"
34+
#include "shared-bindings/_bleio/UUID.h"
3535

3636
static volatile bleio_descriptor_obj_t *m_read_descriptor;
3737

38-
void common_hal_bleio_descriptor_construct(bleio_descriptor_obj_t *self, bleio_uuid_obj_t *uuid, bleio_attribute_security_mode_t read_perm, bleio_attribute_security_mode_t write_perm, mp_int_t max_length, bool fixed_length) {
39-
self->characteristic = MP_OBJ_NULL;
38+
void common_hal_bleio_descriptor_construct(bleio_descriptor_obj_t *self, bleio_characteristic_obj_t *characteristic, bleio_uuid_obj_t *uuid, bleio_attribute_security_mode_t read_perm, bleio_attribute_security_mode_t write_perm, mp_int_t max_length, bool fixed_length, mp_buffer_info_t *initial_value_bufinfo) {
39+
self->characteristic = characteristic;
4040
self->uuid = uuid;
41-
self->value = mp_const_empty_bytes;
4241
self->handle = BLE_GATT_HANDLE_INVALID;
4342
self->read_perm = read_perm;
4443
self->write_perm = write_perm;
@@ -50,6 +49,8 @@ void common_hal_bleio_descriptor_construct(bleio_descriptor_obj_t *self, bleio_u
5049
}
5150
self->max_length = max_length;
5251
self->fixed_length = fixed_length;
52+
53+
common_hal_bleio_descriptor_set_value(self, initial_value_bufinfo);
5354
}
5455

5556
bleio_uuid_obj_t *common_hal_bleio_descriptor_get_uuid(bleio_descriptor_obj_t *self) {
@@ -119,23 +120,24 @@ mp_obj_t common_hal_bleio_descriptor_get_value(bleio_descriptor_obj_t *self) {
119120
}
120121

121122
void common_hal_bleio_descriptor_set_value(bleio_descriptor_obj_t *self, mp_buffer_info_t *bufinfo) {
123+
if (self->fixed_length && bufinfo->len != self->max_length) {
124+
mp_raise_ValueError(translate("Value length != required fixed length"));
125+
}
126+
if (bufinfo->len > self->max_length) {
127+
mp_raise_ValueError(translate("Value length > max_length"));
128+
}
129+
130+
self->value = mp_obj_new_bytes(bufinfo->buf, bufinfo->len);
131+
122132
// Do GATT operations only if this descriptor has been registered.
123133
if (self->handle != BLE_GATT_HANDLE_INVALID) {
124134
uint16_t conn_handle = common_hal_bleio_device_get_conn_handle(self->characteristic->service->device);
125135
if (common_hal_bleio_service_get_is_remote(self->characteristic->service)) {
126136
// false means WRITE_REQ, not write-no-response
127137
common_hal_bleio_gattc_write(self->handle, conn_handle, bufinfo, false);
128138
} else {
129-
if (self->fixed_length && bufinfo->len != self->max_length) {
130-
mp_raise_ValueError(translate("Value length != required fixed length"));
131-
}
132-
if (bufinfo->len > self->max_length) {
133-
mp_raise_ValueError(translate("Value length > max_length"));
134-
}
135-
136139
common_hal_bleio_gatts_write(self->handle, conn_handle, bufinfo);
137140
}
138141
}
139142

140-
self->value = mp_obj_new_bytes(bufinfo->buf, bufinfo->len);
141143
}

ports/nrf/common-hal/bleio/Descriptor.h renamed to ports/nrf/common-hal/_bleio/Descriptor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131

3232
#include "py/obj.h"
3333

34-
#include "shared-bindings/bleio/Characteristic.h"
35-
#include "common-hal/bleio/UUID.h"
34+
#include "common-hal/_bleio/Characteristic.h"
35+
#include "common-hal/_bleio/UUID.h"
3636

3737
typedef struct {
3838
mp_obj_base_t base;

0 commit comments

Comments
 (0)
0