From 70c993dff40fb80a7aa35674bec6f9d7f962933a Mon Sep 17 00:00:00 2001 From: Darrell Date: Wed, 3 Aug 2022 19:50:22 -0400 Subject: [PATCH] Ignore annoying echo dot lost iBeacons (#571) --- lib/BleFingerprint/BleFingerprint.cpp | 2 +- lib/BleFingerprint/BleFingerprint.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/BleFingerprint/BleFingerprint.cpp b/lib/BleFingerprint/BleFingerprint.cpp index 8cd96ad..5042631 100644 --- a/lib/BleFingerprint/BleFingerprint.cpp +++ b/lib/BleFingerprint/BleFingerprint.cpp @@ -391,8 +391,8 @@ void BleFingerprint::fingerprintManufactureData(NimBLEAdvertisedDevice *advertis { BLEBeacon oBeacon = BLEBeacon(); oBeacon.setData(strManufacturerData); - setId(Sprintf("iBeacon:%s-%u-%u", std::string(oBeacon.getProximityUUID()).c_str(), ENDIAN_CHANGE_U16(oBeacon.getMajor()), ENDIAN_CHANGE_U16(oBeacon.getMinor())), ID_TYPE_IBEACON); calRssi = oBeacon.getSignalPower(); + setId(Sprintf("iBeacon:%s-%u-%u", std::string(oBeacon.getProximityUUID()).c_str(), ENDIAN_CHANGE_U16(oBeacon.getMajor()), ENDIAN_CHANGE_U16(oBeacon.getMinor())), calRssi != 3 ? ID_TYPE_IBEACON : ID_TYPE_ECHO_LOST ); } else if (strManufacturerData.length() >= 4 && strManufacturerData[2] == 0x10) { diff --git a/lib/BleFingerprint/BleFingerprint.h b/lib/BleFingerprint/BleFingerprint.h index 9279e2d..0cbcbed 100644 --- a/lib/BleFingerprint/BleFingerprint.h +++ b/lib/BleFingerprint/BleFingerprint.h @@ -15,6 +15,8 @@ #define NO_RSSI (-32768) #define ID_TYPE_TX_POW short(1) + +#define ID_TYPE_ECHO_LOST short(-10) #define ID_TYPE_MISC_APPLE short(-5) #define ID_TYPE_MAC short(0)