mirror of
https://github.com/h2zero/esp-nimble-cpp.git
synced 2024-11-22 13:10:55 +01:00
Allow scan start from scan complete callback.
* Correct comment in scan start
This commit is contained in:
parent
a331cb05e9
commit
22103af037
2 changed files with 13 additions and 2 deletions
10
CHANGELOG.md
10
CHANGELOG.md
|
@ -2,6 +2,16 @@
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- `NimBLEClient::getCharacteristic(uint16_t handle)` Enabling the use of the characteristic handle to be used to find
|
||||||
|
the NimBLERemoteCharacteristic object.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- `NimBLEScan` When the scan ends the scan stopped flag is now set before calling the scan complete callback (if used)
|
||||||
|
this allows the starting of a new scan from the callback function.
|
||||||
|
|
||||||
## [1.0.2] - 2020-09-13
|
## [1.0.2] - 2020-09-13
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
@ -125,11 +125,12 @@ NimBLEScan::~NimBLEScan() {
|
||||||
NIMBLE_LOGD(LOG_TAG, "discovery complete; reason=%d",
|
NIMBLE_LOGD(LOG_TAG, "discovery complete; reason=%d",
|
||||||
event->disc_complete.reason);
|
event->disc_complete.reason);
|
||||||
|
|
||||||
|
pScan->m_stopped = true;
|
||||||
|
|
||||||
if (pScan->m_scanCompleteCB != nullptr) {
|
if (pScan->m_scanCompleteCB != nullptr) {
|
||||||
pScan->m_scanCompleteCB(pScan->m_scanResults);
|
pScan->m_scanCompleteCB(pScan->m_scanResults);
|
||||||
}
|
}
|
||||||
|
|
||||||
pScan->m_stopped = true;
|
|
||||||
if(pScan->m_pTaskData != nullptr) {
|
if(pScan->m_pTaskData != nullptr) {
|
||||||
pScan->m_pTaskData->rc = event->disc_complete.reason;
|
pScan->m_pTaskData->rc = event->disc_complete.reason;
|
||||||
xTaskNotifyGive(pScan->m_pTaskData->task);
|
xTaskNotifyGive(pScan->m_pTaskData->task);
|
||||||
|
@ -263,7 +264,7 @@ bool NimBLEScan::start(uint32_t duration, void (*scanCompleteCB)(NimBLEScanResul
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we are already scanning don't start again or we will get stuck on the semaphore.
|
// If we are already scanning don't start again
|
||||||
if(!m_stopped || ble_gap_disc_active()) { // double check - can cause host reset.
|
if(!m_stopped || ble_gap_disc_active()) { // double check - can cause host reset.
|
||||||
NIMBLE_LOGE(LOG_TAG, "Scan already in progress");
|
NIMBLE_LOGE(LOG_TAG, "Scan already in progress");
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in a new issue