BLE iBeacon Scan example for NNN40

Dependencies:   BLE_API BLE_iBeacon_Scan mbed-dev nRF51822

BLE iBeacon Scan example for NNN40

Committer:
marcusC
Date:
Thu Nov 26 06:05:32 2015 +0000
Revision:
0:17c37c570285
BLE iBeacon Scan example for NNN40

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marcusC 0:17c37c570285 1 #include "mbed.h"
marcusC 0:17c37c570285 2 #include "BLE.h"
marcusC 0:17c37c570285 3 #include "iBeaconScan.h"
marcusC 0:17c37c570285 4
marcusC 0:17c37c570285 5 Serial pc(TX_PIN_NUMBER, RX_PIN_NUMBER);
marcusC 0:17c37c570285 6 DigitalOut led1(LED1);
marcusC 0:17c37c570285 7 union unionType u;
marcusC 0:17c37c570285 8
marcusC 0:17c37c570285 9 void AdvertisementReportCallback(const Gap::AdvertisementCallbackParams_t *params)
marcusC 0:17c37c570285 10 {
marcusC 0:17c37c570285 11 led1 = !led1;
marcusC 0:17c37c570285 12 uint8_t i;
marcusC 0:17c37c570285 13
marcusC 0:17c37c570285 14 if (memcmp(params->advertisingData,iBeaconPrefix,sizeof(iBeaconPrefix)) != 0)
marcusC 0:17c37c570285 15 return;
marcusC 0:17c37c570285 16
marcusC 0:17c37c570285 17 memset(u.rawData, 0 , sizeof(u.rawData));
marcusC 0:17c37c570285 18 memcpy(u.rawData, params->advertisingData,params->advertisingDataLen);
marcusC 0:17c37c570285 19
marcusC 0:17c37c570285 20 pc.printf("uuid:");
marcusC 0:17c37c570285 21 for( i = 0; i < 16; i++)
marcusC 0:17c37c570285 22 pc.printf("%02x ",u.iBeaconPayload_m.uuid[i]);
marcusC 0:17c37c570285 23 pc.printf("\r\n");
marcusC 0:17c37c570285 24 pc.printf("majorNumber:%02x %02x\r\n",u.iBeaconPayload_m.majorNumber[0], u.iBeaconPayload_m.majorNumber[1]);
marcusC 0:17c37c570285 25 pc.printf("minorNumber:%02x %02x\r\n",u.iBeaconPayload_m.minorNumber[0], u.iBeaconPayload_m.minorNumber[1]);
marcusC 0:17c37c570285 26 pc.printf("txPower:%02x\r\n",u.iBeaconPayload_m.txPower);
marcusC 0:17c37c570285 27 }
marcusC 0:17c37c570285 28
marcusC 0:17c37c570285 29 int main(void)
marcusC 0:17c37c570285 30 {
marcusC 0:17c37c570285 31 led1 = 0;
marcusC 0:17c37c570285 32 pc.baud(115200);
marcusC 0:17c37c570285 33 pc.printf("Hello\n");
marcusC 0:17c37c570285 34
marcusC 0:17c37c570285 35 iBeaconInit();
marcusC 0:17c37c570285 36 iBeaconStartScan();
marcusC 0:17c37c570285 37 wait(10);
marcusC 0:17c37c570285 38 iBeaconStopScan();
marcusC 0:17c37c570285 39
marcusC 0:17c37c570285 40 while(1) {
marcusC 0:17c37c570285 41 }
marcusC 0:17c37c570285 42 }