The Location Puck gives your smartphone context about its location. Built on the Puck IOT platform.

Dependencies:   Puck mbed

The location puck will give your smartphone context about the phone’s location. You can later set up rules for what should happen at different locations in the smartphone companion application (Puck Central).

A tutorial for the Location Puck is available on GitHub.

Tutorials and in-depth documentation for the Puck platform is available at the project's GitHub page

Revision:
6:306e898c274f
Parent:
5:8ccb1cd6694d
Child:
8:54535e2f4098
--- a/main.cpp	Thu Jun 19 10:40:25 2014 +0000
+++ b/main.cpp	Thu Jun 19 12:27:54 2014 +0000
@@ -1,7 +1,7 @@
 #include <mbed.h>
-#include <nRF51822n.h>
+#include "nRF51822n.h"
+
 #define DEBUG 1
-
 #ifdef DEBUG
     Serial pc(USBTX, USBRX);
     #define LOG(args...)    pc.printf(args)
@@ -17,36 +17,41 @@
  * Tx Power     = C8
  */
 const static uint8_t beaconPayload[] = {
-    0x4C, 0x00, // Company identifier code (0x004C == Apple)
+    0x00, 0x4C, // Company identifier code (0x004C == Apple)
     0x02,       // ID
     0x15,       // length of the remaining payload
     0xE2, 0x0A, 0x39, 0xF4, 0x73, 0xF5, 0x4B, 0xC4, // UUID
     0xA1, 0x2F, 0x17, 0xD1, 0xAD, 0x07, 0xA9, 0x61,
-    0x00, 0x00, // the major value to differenciate a location
-    0x00, 0x00, // the minor value to differenciate a location
+    0x13, 0x37, // the major value to differenciate a location
+    0x13, 0x38, // the minor value to differenciate a location
     0xC8        // 2's complement of the Tx power (-56dB)
 };
 
 nRF51822n nrf;
 DigitalOut led1(LED1);
-DigitalOut advertisingStateLed(LED2);
 
 GapAdvertisingData advData;
 GapAdvertisingData scanResponse;
 GapAdvertisingParams advParams(GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED);
 
 int main(void) {
+    led1 = 1;
 
+    LOG("Starting init\n");
     nrf.init();
     nrf.reset();
+    LOG("Init and reset nrf done\n");
 
     advData.addFlags(GapAdvertisingData::BREDR_NOT_SUPPORTED);
     advData.addData(GapAdvertisingData::MANUFACTURER_SPECIFIC_DATA,
                     beaconPayload, sizeof(beaconPayload));
     advData.addAppearance(GapAdvertisingData::UNKNOWN);
+
     nrf.getGap().setAdvertisingData(advData, scanResponse);
+    LOG("Set advertising data done!\n");
 
     nrf.getGap().startAdvertising(advParams);
+    LOG("Starting advertising!\n");
 
     for(;;) {
         led1 = !led1;