Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API mbed nRF51822
Fork of BLE_iBeacon by
Revision 56:56bc0cab3916, committed 2015-02-14
- Comitter:
- mbedAustin
- Date:
- Sat Feb 14 04:53:29 2015 +0000
- Parent:
- 55:b9616b70d6a3
- Child:
- 57:9782cb35c494
- Commit message:
- changed example code for clarity
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Fri Feb 13 16:44:04 2015 +0000
+++ b/main.cpp Sat Feb 14 04:53:29 2015 +0000
@@ -15,24 +15,47 @@
*/
#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();
- 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) */);
+ // Initialize ibeacon
+ iBeaconService ibeacon(ble, uuid, majorNumber, minorNumber, txPower);
// Set advertising time
ble.setAdvertisingInterval(160); /* 100ms; in multiples of 0.625ms. */
ble.startAdvertising();
- for (;;) {
- ble.waitForEvent();
+ while(1) {
+ ble.waitForEvent(); // allows or low power operation
}
}
