File tree Expand file tree Collapse file tree 3 files changed +18
-2
lines changed
ports/nrf/common-hal/_bleio Expand file tree Collapse file tree 3 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -386,6 +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
+ {
391
+ ble_gap_addr_t local_address ;
392
+ 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
+ }
397
+
389
398
mp_obj_str_t * common_hal_bleio_adapter_get_name (bleio_adapter_obj_t * self ) {
390
399
uint16_t len = 0 ;
391
400
sd_ble_gap_device_name_get (NULL , & len );
Original file line number Diff line number Diff line change @@ -96,18 +96,24 @@ const mp_obj_property_t bleio_adapter_enabled_obj = {
96
96
};
97
97
98
98
//| address: Address
99
- //| """MAC address of the BLE adapter. (read-only) """
99
+ //| """MAC address of the BLE adapter."""
100
100
//|
101
101
STATIC mp_obj_t bleio_adapter_get_address (mp_obj_t self ) {
102
102
return MP_OBJ_FROM_PTR (common_hal_bleio_adapter_get_address (self ));
103
103
104
104
}
105
105
MP_DEFINE_CONST_FUN_OBJ_1 (bleio_adapter_get_address_obj , bleio_adapter_get_address );
106
106
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 );
109
+ return mp_const_none ;
110
+ }
111
+ MP_DEFINE_CONST_FUN_OBJ_2 (bleio_adapter_set_address_obj , bleio_adapter_set_address );
112
+
107
113
const mp_obj_property_t bleio_adapter_address_obj = {
108
114
.base .type = & mp_type_property ,
109
115
.proxy = { (mp_obj_t )& bleio_adapter_get_address_obj ,
110
- (mp_obj_t )& mp_const_none_obj ,
116
+ (mp_obj_t )& bleio_adapter_set_address_obj ,
111
117
(mp_obj_t )& mp_const_none_obj },
112
118
};
113
119
Original file line number Diff line number Diff line change @@ -42,6 +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
46
46
47
extern mp_obj_str_t * common_hal_bleio_adapter_get_name (bleio_adapter_obj_t * self );
47
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