Beacon demo for the BLE API using the nRF51822 native mode drivers
Dependencies: BLE_API mbed nRF51822 X_NUCLEO_IDB0XA1
Fork of BLE_iBeacon by
Diff: main.cpp
- Revision:
- 55:b9616b70d6a3
- Parent:
- 54:3a655a9fce9a
- Child:
- 56:56bc0cab3916
--- a/main.cpp Thu Feb 12 22:43:20 2015 +0000 +++ b/main.cpp Fri Feb 13 16:44:04 2015 +0000 @@ -15,47 +15,24 @@ */ #include "mbed.h" +#include "BLEDevice.h" #include "iBeaconService.h" -/** - * For this demo application, populate the beacon advertisement payload - * with 2 AD structures: FLAG and MSD (manufacturer specific data). - * - * Reference: - * Bluetooth Core Specification 4.0 (Vol. 3), Part C, Section 11, 18 - */ - BLEDevice ble; -/** - * The Beacon payload has the following composition: - * 128-Bit / 16byte UUID = E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 - * Major/Minor = 0x1122 / 0x3344 - * Tx Power = 0xC8 = 200, 2's compliment is 256-200 = (-56dB) - * - * Note: please remember to calibrate your beacons - * TX Power for more accurate results. - */ -uint8_t uuid[] = {0xE2, 0x0A, 0x39, 0xF4, 0x73, 0xF5, 0x4B, 0xC4, - 0xA1, 0x2F, 0x17, 0xD1, 0xAD, 0x07, 0xA9, 0x61 - }; -uint16_t majorNumber = 1122; -uint16_t minorNumber = 3344; -uint16_t txPower = 0xC8; - int main(void) { - // Initialize BLE baselayer ble.init(); - // Initialize ibeacon - iBeaconService ibeacon(ble, uuid, majorNumber, minorNumber, txPower); + const uint8_t uuid[] = {0xE2, 0x0A, 0x39, 0xF4, 0x73, 0xF5, 0x4B, 0xC4, + 0xA1, 0x2F, 0x17, 0xD1, 0xAD, 0x07, 0xA9, 0x61}; + iBeaconService ibeacon(ble, uuid, 0x1122 /* majorNumber */, 0x3344 /* minorNumber */, 0xC8 /* 2's complement of the Tx power (-56dB) */); // Set advertising time ble.setAdvertisingInterval(160); /* 100ms; in multiples of 0.625ms. */ ble.startAdvertising(); - while(1) { - ble.waitForEvent(); // allows or low power operation + for (;;) { + ble.waitForEvent(); } }