File tree Expand file tree Collapse file tree 3 files changed +11
-7
lines changed
ports/nrf/common-hal/_bleio Expand file tree Collapse file tree 3 files changed +11
-7
lines changed Original file line number Diff line number Diff line change @@ -386,13 +386,15 @@ bleio_address_obj_t *common_hal_bleio_adapter_get_address(bleio_adapter_obj_t *s
386
386
return address ;
387
387
}
388
388
389
- uint32_t common_hal_bleio_adapter_set_address (bleio_adapter_obj_t * self , bleio_address_obj_t * address )
390
- {
389
+ bool common_hal_bleio_adapter_set_address (bleio_adapter_obj_t * self , bleio_address_obj_t * address ) {
391
390
ble_gap_addr_t local_address ;
391
+ mp_buffer_info_t bufinfo ;
392
+ if (!mp_get_buffer (address -> bytes , & bufinfo , MP_BUFFER_READ )) {
393
+ return false;
394
+ }
392
395
local_address .addr_type = address -> type ;
393
- const char * data = mp_obj_str_get_str (address -> bytes );
394
- memcpy (local_address .addr , data , NUM_BLEIO_ADDRESS_BYTES );
395
- return sd_ble_gap_addr_set (& local_address );
396
+ memcpy (local_address .addr , bufinfo .buf , NUM_BLEIO_ADDRESS_BYTES );
397
+ return sd_ble_gap_addr_set (& local_address ) == NRF_SUCCESS ;
396
398
}
397
399
398
400
mp_obj_str_t * common_hal_bleio_adapter_get_name (bleio_adapter_obj_t * self ) {
Original file line number Diff line number Diff line change @@ -105,7 +105,9 @@ STATIC mp_obj_t bleio_adapter_get_address(mp_obj_t self) {
105
105
MP_DEFINE_CONST_FUN_OBJ_1 (bleio_adapter_get_address_obj , bleio_adapter_get_address );
106
106
107
107
STATIC mp_obj_t bleio_adapter_set_address (mp_obj_t self , mp_obj_t new_address ) {
108
- common_hal_bleio_adapter_set_address (self , new_address );
108
+ if (!common_hal_bleio_adapter_set_address (self , new_address )) {
109
+ mp_raise_bleio_BluetoothError (translate ("Could not set address" ));
110
+ }
109
111
return mp_const_none ;
110
112
}
111
113
MP_DEFINE_CONST_FUN_OBJ_2 (bleio_adapter_set_address_obj , bleio_adapter_set_address );
Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ extern bool common_hal_bleio_adapter_get_enabled(bleio_adapter_obj_t *self);
42
42
extern void common_hal_bleio_adapter_set_enabled (bleio_adapter_obj_t * self , bool enabled );
43
43
extern bool common_hal_bleio_adapter_get_connected (bleio_adapter_obj_t * self );
44
44
extern bleio_address_obj_t * common_hal_bleio_adapter_get_address (bleio_adapter_obj_t * self );
45
- extern uint32_t common_hal_bleio_adapter_set_address (bleio_adapter_obj_t * self , bleio_address_obj_t * address );
45
+ extern bool common_hal_bleio_adapter_set_address (bleio_adapter_obj_t * self , bleio_address_obj_t * address );
46
46
47
47
extern mp_obj_str_t * common_hal_bleio_adapter_get_name (bleio_adapter_obj_t * self );
48
48
extern void common_hal_bleio_adapter_set_name (bleio_adapter_obj_t * self , const char * name );
You can’t perform that action at this time.
0 commit comments