BLE Observer example for nucleo platform
Dependencies: BLE_API X_NUCLEO_IDB0XA1 mbed
Diff: main.cpp
- Revision:
- 6:1c20e1891e4b
- Parent:
- 5:346bcd62f251
- Child:
- 7:743f48384bdf
diff -r 346bcd62f251 -r 1c20e1891e4b main.cpp --- a/main.cpp Mon Nov 14 15:29:43 2016 +0000 +++ b/main.cpp Tue Nov 15 13:32:56 2016 +0000 @@ -37,9 +37,21 @@ void advertisementCallback(const Gap::AdvertisementCallbackParams_t *params) { +if (params->peerAddr[0] == 0x8C) { + + if (abs(params->rssi) <= 50) { + + printf("Beacon_1: [%02x %02x %02x %02x %02x %02x] rssi %d\r\n", + params->peerAddr[5], params->peerAddr[4], params->peerAddr[3], params->peerAddr[2], params->peerAddr[1], params->peerAddr[0], + params->rssi); + + beacon = 1; + } +} + if (params->peerAddr[0] == 0xB2) { - if (abs(params->rssi) <= 60) { + if (abs(params->rssi) <= 50) { printf("Beacon_1: [%02x %02x %02x %02x %02x %02x] rssi %d\r\n", params->peerAddr[5], params->peerAddr[4], params->peerAddr[3], params->peerAddr[2], params->peerAddr[1], params->peerAddr[0], @@ -51,7 +63,7 @@ if (params->peerAddr[0] == 0xA8) { - if (abs(params->rssi) <= 60) { + if (abs(params->rssi) <= 50) { printf("Beacon_2: [%02x %02x %02x %02x %02x %02x] rssi %d\r\n", params->peerAddr[5], params->peerAddr[4], params->peerAddr[3], params->peerAddr[2], params->peerAddr[1], params->peerAddr[0], params->rssi); @@ -62,7 +74,7 @@ if (params->peerAddr[0] == 0x46) { - if (abs(params->rssi) <= 60) { + if (abs(params->rssi) <= 50) { printf("Beacon_3: [%02x %02x %02x %02x %02x %02x] rssi %d\r\n", params->peerAddr[5], params->peerAddr[4], params->peerAddr[3], params->peerAddr[2], params->peerAddr[1], params->peerAddr[0], params->rssi); @@ -105,7 +117,7 @@ ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED); //Send out the advertising payload every 1000ms - ble.gap().setAdvertisingInterval(1000); + ble.gap().setAdvertisingInterval(100); } void bleScanInitComplete(BLE::InitializationCompleteCallbackContext *context) {