From 03400cdeffd6ba9ea3ba8a7b99ce640ae899b4c5 Mon Sep 17 00:00:00 2001 From: Nick Ward Date: Thu, 4 Jun 2026 00:23:55 -0600 Subject: [PATCH] Fix BLE discovery sketch for current NimBLE API --- .../esp32_ble_discover/esp32_ble_discover.ino | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/tools/esp32_ble_discover/esp32_ble_discover.ino b/tools/esp32_ble_discover/esp32_ble_discover.ino index cc0f60b..113fcdb 100644 --- a/tools/esp32_ble_discover/esp32_ble_discover.ino +++ b/tools/esp32_ble_discover/esp32_ble_discover.ino @@ -14,7 +14,7 @@ void setup() { NimBLEDevice::init("XterraESP32"); NimBLEDevice::setPower(ESP_PWR_LVL_P9); - NimBLEAddress address(TARGET_ADDRESS); + NimBLEAddress address(std::string(TARGET_ADDRESS), BLE_ADDR_PUBLIC); NimBLEClient* client = NimBLEDevice::createClient(); Serial.println("Connecting..."); @@ -28,29 +28,19 @@ void setup() { Serial.println("Connected."); Serial.println("Discovering services..."); - std::vector* services = client->getServices(true); - - if (!services) { - Serial.println("No services found."); - client->disconnect(); - return; - } + const std::vector& services = client->getServices(true); Serial.print("Service count: "); - Serial.println(services->size()); + Serial.println(services.size()); - for (auto service : *services) { + for (NimBLERemoteService* service : services) { Serial.print("Service UUID: "); Serial.println(service->getUUID().toString().c_str()); - std::vector* chars = + const std::vector& chars = service->getCharacteristics(true); - if (!chars) { - continue; - } - - for (auto ch : *chars) { + for (NimBLERemoteCharacteristic* ch : chars) { Serial.print(" Characteristic UUID: "); Serial.print(ch->getUUID().toString().c_str());