From 850b180bf50aa25fecb2d923e53d13b4ab21955c Mon Sep 17 00:00:00 2001 From: Pablo Sun Date: Thu, 4 Jan 2018 16:46:25 +0800 Subject: [PATCH] Reverse UUID in iBeacon packet --- .../arduino/mt7697/libraries/LBLE/src/LBLECentral.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/middleware/third_party/arduino/hardware/arduino/mt7697/libraries/LBLE/src/LBLECentral.cpp b/middleware/third_party/arduino/hardware/arduino/mt7697/libraries/LBLE/src/LBLECentral.cpp index c524d32..75dde0a 100644 --- a/middleware/third_party/arduino/hardware/arduino/mt7697/libraries/LBLE/src/LBLECentral.cpp +++ b/middleware/third_party/arduino/hardware/arduino/mt7697/libraries/LBLE/src/LBLECentral.cpp @@ -188,8 +188,12 @@ bool LBLEAdvertisements::getIBeaconInfo(LBLEUuid& uuid, uint16_t& major, uint16_ if(0x15 != beaconLength) break; + // note that iBeacon UUID are reversed w.r.t. our BT system bt_uuid_t tmpUuid; - memcpy(tmpUuid.uuid, iBeaconBuffer, 16); + for(int i = 0; i < 16; ++i) + { + tmpUuid.uuid[i] = iBeaconBuffer[15-i]; + } uuid = tmpUuid; iBeaconBuffer += 16;