File tree Expand file tree Collapse file tree
ports/nrf/common-hal/_bleio Expand file tree Collapse file tree Original file line number Diff line number Diff line change 88msgstr ""
99"Project-Id-Version : PACKAGE VERSION\n "
1010"Report-Msgid-Bugs-To : \n "
11- "POT-Creation-Date : 2020-08-11 15:37-0500 \n "
11+ "POT-Creation-Date : 2020-08-14 09:36-0400 \n "
1212"PO-Revision-Date : YEAR-MO-DA HO:MI+ZONE\n "
1313"Last-Translator : FULL NAME <EMAIL@ADDRESS>\n "
1414"Language-Team : LANGUAGE <LL@li.org>\n "
@@ -641,6 +641,10 @@ msgstr ""
641641msgid "Could not restart PWM"
642642msgstr ""
643643
644+ #: shared-bindings/_bleio/Adapter.c
645+ msgid "Could not set address"
646+ msgstr ""
647+
644648#: ports/stm/common-hal/pulseio/PWMOut.c
645649msgid "Could not start PWM"
646650msgstr ""
Original file line number Diff line number Diff line change @@ -386,6 +386,17 @@ bleio_address_obj_t *common_hal_bleio_adapter_get_address(bleio_adapter_obj_t *s
386386 return address ;
387387}
388388
389+ bool common_hal_bleio_adapter_set_address (bleio_adapter_obj_t * self , bleio_address_obj_t * address ) {
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+ }
395+ local_address .addr_type = address -> type ;
396+ memcpy (local_address .addr , bufinfo .buf , NUM_BLEIO_ADDRESS_BYTES );
397+ return sd_ble_gap_addr_set (& local_address ) == NRF_SUCCESS ;
398+ }
399+
389400mp_obj_str_t * common_hal_bleio_adapter_get_name (bleio_adapter_obj_t * self ) {
390401 uint16_t len = 0 ;
391402 sd_ble_gap_device_name_get (NULL , & len );
Original file line number Diff line number Diff line change @@ -96,18 +96,26 @@ const mp_obj_property_t bleio_adapter_enabled_obj = {
9696};
9797
9898//| address: Address
99- //| """MAC address of the BLE adapter. (read-only) """
99+ //| """MAC address of the BLE adapter."""
100100//|
101101STATIC mp_obj_t bleio_adapter_get_address (mp_obj_t self ) {
102102 return MP_OBJ_FROM_PTR (common_hal_bleio_adapter_get_address (self ));
103103
104104}
105105MP_DEFINE_CONST_FUN_OBJ_1 (bleio_adapter_get_address_obj , bleio_adapter_get_address );
106106
107+ STATIC mp_obj_t bleio_adapter_set_address (mp_obj_t self , mp_obj_t new_address ) {
108+ if (!common_hal_bleio_adapter_set_address (self , new_address )) {
109+ mp_raise_bleio_BluetoothError (translate ("Could not set address" ));
110+ }
111+ return mp_const_none ;
112+ }
113+ MP_DEFINE_CONST_FUN_OBJ_2 (bleio_adapter_set_address_obj , bleio_adapter_set_address );
114+
107115const mp_obj_property_t bleio_adapter_address_obj = {
108116 .base .type = & mp_type_property ,
109117 .proxy = { (mp_obj_t )& bleio_adapter_get_address_obj ,
110- (mp_obj_t )& mp_const_none_obj ,
118+ (mp_obj_t )& bleio_adapter_set_address_obj ,
111119 (mp_obj_t )& mp_const_none_obj },
112120};
113121
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);
4242extern void common_hal_bleio_adapter_set_enabled (bleio_adapter_obj_t * self , bool enabled );
4343extern bool common_hal_bleio_adapter_get_connected (bleio_adapter_obj_t * self );
4444extern bleio_address_obj_t * common_hal_bleio_adapter_get_address (bleio_adapter_obj_t * self );
45+ extern bool common_hal_bleio_adapter_set_address (bleio_adapter_obj_t * self , bleio_address_obj_t * address );
4546
4647extern mp_obj_str_t * common_hal_bleio_adapter_get_name (bleio_adapter_obj_t * self );
4748extern 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