From d8de8b30155bd0d0393e599dfee14b0853c4a7a2 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Thu, 12 Oct 2023 11:25:54 -0300 Subject: [PATCH] sets BLEScanResults by reference --- libraries/BLE/examples/Beacon_Scanner/Beacon_Scanner.ino | 4 ++-- libraries/BLE/examples/Scan/Scan.ino | 4 ++-- libraries/BLE/src/BLEScan.cpp | 8 ++++---- libraries/BLE/src/BLEScan.h | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libraries/BLE/examples/Beacon_Scanner/Beacon_Scanner.ino b/libraries/BLE/examples/Beacon_Scanner/Beacon_Scanner.ino index ce36dd7ac4d..71864fb845c 100644 --- a/libraries/BLE/examples/Beacon_Scanner/Beacon_Scanner.ino +++ b/libraries/BLE/examples/Beacon_Scanner/Beacon_Scanner.ino @@ -111,9 +111,9 @@ void setup() void loop() { // put your main code here, to run repeatedly: - BLEScanResults foundDevices = pBLEScan->start(scanTime, false); + BLEScanResults *foundDevices = pBLEScan->start(scanTime, false); Serial.print("Devices found: "); - Serial.println(foundDevices.getCount()); + Serial.println(foundDevices->getCount()); Serial.println("Scan done!"); pBLEScan->clearResults(); // delete results fromBLEScan buffer to release memory delay(2000); diff --git a/libraries/BLE/examples/Scan/Scan.ino b/libraries/BLE/examples/Scan/Scan.ino index 094f7933ac7..fee31b76da9 100644 --- a/libraries/BLE/examples/Scan/Scan.ino +++ b/libraries/BLE/examples/Scan/Scan.ino @@ -31,9 +31,9 @@ void setup() { void loop() { // put your main code here, to run repeatedly: - BLEScanResults foundDevices = pBLEScan->start(scanTime, false); + BLEScanResults *foundDevices = pBLEScan->start(scanTime, false); Serial.print("Devices found: "); - Serial.println(foundDevices.getCount()); + Serial.println(foundDevices->getCount()); Serial.println("Scan done!"); pBLEScan->clearResults(); // delete results fromBLEScan buffer to release memory delay(2000); diff --git a/libraries/BLE/src/BLEScan.cpp b/libraries/BLE/src/BLEScan.cpp index 87d0deb2e47..5162d0b1852 100644 --- a/libraries/BLE/src/BLEScan.cpp +++ b/libraries/BLE/src/BLEScan.cpp @@ -426,11 +426,11 @@ bool BLEScan::start(uint32_t duration, void (*scanCompleteCB)(BLEScanResults), b * @param [in] duration The duration in seconds for which to scan. * @return The BLEScanResults. */ -BLEScanResults BLEScan::start(uint32_t duration, bool is_continue) { +BLEScanResults* BLEScan::start(uint32_t duration, bool is_continue) { if(start(duration, nullptr, is_continue)) { m_semaphoreScanEnd.wait("start"); // Wait for the semaphore to release. } - return m_scanResults; + return &m_scanResults; } // start @@ -500,8 +500,8 @@ BLEAdvertisedDevice BLEScanResults::getDevice(uint32_t i) { return dev; } -BLEScanResults BLEScan::getResults() { - return m_scanResults; +BLEScanResults* BLEScan::getResults() { + return &m_scanResults; } void BLEScan::clearResults() { diff --git a/libraries/BLE/src/BLEScan.h b/libraries/BLE/src/BLEScan.h index 1e35586f7be..4a00cafff4c 100644 --- a/libraries/BLE/src/BLEScan.h +++ b/libraries/BLE/src/BLEScan.h @@ -71,10 +71,10 @@ class BLEScan { void setInterval(uint16_t intervalMSecs); void setWindow(uint16_t windowMSecs); bool start(uint32_t duration, void (*scanCompleteCB)(BLEScanResults), bool is_continue = false); - BLEScanResults start(uint32_t duration, bool is_continue = false); + BLEScanResults* start(uint32_t duration, bool is_continue = false); void stop(); void erase(BLEAddress address); - BLEScanResults getResults(); + BLEScanResults* getResults(); void clearResults(); #ifdef SOC_BLE_50_SUPPORTED