Skip to content

Commit

Permalink
Merge pull request #5321 from tannewt/fix_scan_after_p_bond
Browse files Browse the repository at this point in the history
Fix scanning after a peripheral bond has been made
  • Loading branch information
dhalbert authored Sep 9, 2021
2 parents cfc4ed1 + 2b4fdcd commit 8cef3d2
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions ports/nrf/common-hal/_bleio/Adapter.c
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,16 @@ mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t
}
self->scan_results = NULL;
}
// Check to see if advertising is going already.
if (self->current_advertising_data != NULL && self->current_advertising_data == self->advertising_data) {
check_nrf_error(NRF_ERROR_BUSY);
}

// If the current advertising data isn't owned by the adapter then it must be an internal
// advertisement that we should stop.
if (self->current_advertising_data != NULL) {
common_hal_bleio_adapter_stop_advertising(self);
}
self->scan_results = shared_module_bleio_new_scanresults(buffer_size, prefixes, prefix_length, minimum_rssi);
size_t max_packet_size = extended ? BLE_GAP_SCAN_BUFFER_EXTENDED_MAX_SUPPORTED : BLE_GAP_SCAN_BUFFER_MAX;
uint8_t *raw_data = m_malloc(sizeof(ble_data_t) + max_packet_size, false);
Expand Down

0 comments on commit 8cef3d2

Please sign in to comment.