a fork to test out advertising process

Dependencies:   BLE_API TxIR mbed nRF51822

Fork of ir-puck by Nordic Pucks

Revision:
1:6ba27220d1da
Parent:
0:c94311378ec1
--- a/main.cpp	Wed Jul 02 10:48:58 2014 +0000
+++ b/main.cpp	Tue Jul 08 09:38:31 2014 +0000
@@ -7,9 +7,14 @@
 
 DigitalOut myled(LED1);
 DigitalOut yourled(LED2);
-nRF51822n nrf;
 
-Serial py(USBTX, USBRX);
+#define DEBUG 1
+#ifdef DEBUG
+    Serial py(USBTX, USBRX);
+    #define LOG(args...)    py.printf(args)
+#else
+    #define LOG(args...)
+#endif
 
 const static uint8_t beaconPayload[] = {
     0x00, 0x4C, // Company identifier code (0x004C == Apple)
@@ -18,7 +23,7 @@
     0xE2, 0x0A, 0x39, 0xF4, 0x73, 0xF5, 0x4B, 0xC4, // UUID
     0xA1, 0x2F, 0x17, 0xD1, 0xAD, 0x07, 0xA9, 0x61,
     0x13, 0x37, // the major value to differenciate a location
-    0xFA, 0xCE, // the minor value to differenciate a location
+    0xBA, 0xCE, // the minor value to differenciate a location
     0xC8        // 2's complement of the Tx power (-56dB)
 };
 
@@ -27,7 +32,7 @@
 
 void onDataWritten(uint16_t handle)
 {
-    py.printf("Data written! %i\n", handle);
+    LOG("Data written! %i\n", handle);
     for (int i = 0; i < ir_service.getCharacteristicCount(); i++) {
         GattCharacteristic* characteristic = ir_service.getCharacteristic(i);
         characteristic->getMaxLength();
@@ -45,19 +50,19 @@
 
 void disconnectionCallback(void)
 {
-    py.printf("Disconnected!\n");
-    py.printf("Restarting the advertising process\n");
+    LOG("Disconnected!\n");
+    LOG("Restarting the advertising process\n");
     ble.startAdvertising();
 }
 
 void connectionCallback(void)
 {
-    py.printf("Connected!\n");    
+    LOG("Connected!\n");
 }
 
 void onDataSent(uint16_t data)
 {
-    py.printf("onDataSent!\n");
+    LOG("onDataSent!\n");
 }
 
 int main() {
@@ -70,17 +75,20 @@
     ble.setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED);
     ble.setAdvertisingInterval(160); /* 100ms; in multiples of 0.625ms. */
     
+    uint8_t uuid_array_service[16]   = {'b', 'f', 't', 'j', ' ', 'i', 'r', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '};
+    ble.accumulateAdvertisingPayload(GapAdvertisingData::INCOMPLETE_LIST_128BIT_SERVICE_IDS,
+                                        uuid_array_service, sizeof(uuid_array_service));
     
     ble.accumulateAdvertisingPayload(GapAdvertisingData::MANUFACTURER_SPECIFIC_DATA,
                     beaconPayload, sizeof(beaconPayload));
     
     ble.startAdvertising();
-
+    
     ble.addService(ir_service);
     
     myled = 1;
     
-    py.printf("Starting up.\n");
+    LOG("Starting up.\n");
     
     
 
@@ -88,5 +96,4 @@
         ble.waitForEvent();
         myled = !myled;
     }
-    
 }
\ No newline at end of file