BLE code for touch signal

Dependencies:   BLE_API mbed nRF51822

Fork of BLE_GATT_Example by Bluetooth Low Energy

Revision:
2:e84c13abc479
Parent:
1:94152e7d8b5c
Child:
3:0fb60f81f693
--- a/main.cpp	Sat Feb 14 06:49:01 2015 +0000
+++ b/main.cpp	Sat Feb 14 14:48:29 2015 +0000
@@ -12,6 +12,21 @@
 const static char     DEVICE_NAME[]        = "MyDeviceName"; // change this
 static const uint16_t uuid16_list[]        = {0xFF}; //Custom UUID, FF is reserved for development
 
+// Set Up Characteristics
+static uint8_t readValue[1] = {0x00};
+GattCharacteristic readChar(0xAAAA /* read char UUID*/, readValue, sizeof(readValue), sizeof(readValue),
+                        GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ | GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY);
+
+static uint8_t writeValue[1] = {0x00};
+GattCharacteristic writeChar(0xBBBB /*write char UUID*/, writeValue, sizeof(writeValue), sizeof(writeValue),
+                            GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_WRITE | GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY);
+
+GattCharacteristic *characteristics[] = {&readChar, &writeChar};
+
+// Set up custom service
+GattService        customService(0x221D /*Service UUID*/, characteristics, sizeof(characteristics) / sizeof(GattCharacteristic *));
+
+
 // Restart advertising when phone app disconnects
 void disconnectionCallback(Gap::Handle_t handle, Gap::DisconnectionReason_t reason)
 {
@@ -23,7 +38,21 @@
 main(void)
 {
     led = 0;    // turn LED off
-    ble.init(); // initialize BLE
+    ble.init();
+    ble.onDisconnection(disconnectionCallback);
+
+    /* setup advertising */
+    ble.accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED);
+    ble.setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED);
+    ble.setAdvertisingInterval(160); /* 100ms; in multiples of 0.625ms. */
+    ble.startAdvertising(); // start advertising
+
+    ble.addService(customService); // Add our custom service to device
+
+    while (true) {
+        ble.waitForEvent(); //Save power
+    }
+    
     
     // TODO: impliment the rest of triggering for LED based on Write of characteristic.
     // TODO: impliment a read characteristic that sends text back to app