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)