@@ -333,6 +333,10 @@ STATIC void bleio_adapter_reset_name(bleio_adapter_obj_t *self) {
333
333
common_hal_bleio_adapter_set_name (self , (char * )default_ble_name );
334
334
}
335
335
336
+
337
+ // The nRF SD 6.1.0 can only do one concurrent advertisement so share the advertising handle.
338
+ uint8_t adv_handle = BLE_GAP_ADV_SET_HANDLE_NOT_SET ;
339
+
336
340
void common_hal_bleio_adapter_set_enabled (bleio_adapter_obj_t * self , bool enabled ) {
337
341
const bool is_enabled = common_hal_bleio_adapter_get_enabled (self );
338
342
@@ -386,6 +390,14 @@ bool common_hal_bleio_adapter_get_enabled(bleio_adapter_obj_t *self) {
386
390
return is_enabled ;
387
391
}
388
392
393
+ void common_hal_bleio_adapter_set_tx_power (bleio_adapter_obj_t * self , mp_int_t tx_power ) {
394
+ self -> tx_power = tx_power ;
395
+ }
396
+
397
+ mp_int_t common_hal_bleio_adapter_get_tx_power (bleio_adapter_obj_t * self ) {
398
+ return self -> tx_power ;
399
+ }
400
+
389
401
bleio_address_obj_t * common_hal_bleio_adapter_get_address (bleio_adapter_obj_t * self ) {
390
402
common_hal_bleio_adapter_set_enabled (self , true);
391
403
@@ -619,8 +631,6 @@ mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_addre
619
631
return mp_const_none ;
620
632
}
621
633
622
- // The nRF SD 6.1.0 can only do one concurrent advertisement so share the advertising handle.
623
- uint8_t adv_handle = BLE_GAP_ADV_SET_HANDLE_NOT_SET ;
624
634
625
635
STATIC void check_data_fit (size_t data_len , bool connectable ) {
626
636
if (data_len > BLE_GAP_ADV_SET_DATA_SIZE_EXTENDED_MAX_SUPPORTED ||
@@ -725,7 +735,10 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
725
735
}
726
736
727
737
ble_drv_add_event_handler (advertising_on_ble_evt , self );
728
-
738
+ err_code = sd_ble_gap_tx_power_set (BLE_GAP_TX_POWER_ROLE_ADV , adv_handle , self -> tx_power );
739
+ if (err_code != NRF_SUCCESS ) {
740
+ return err_code ;
741
+ }
729
742
vm_used_ble = true;
730
743
err_code = sd_ble_gap_adv_start (adv_handle , BLE_CONN_CFG_TAG_CUSTOM );
731
744
if (err_code != NRF_SUCCESS ) {
0 commit comments