An example of creating and updating a simple GATT Service using the BLE_API

Dependencies:   BLE_API mbed nRF51822 X_NUCLEO_IDB0XA1

This example creates and updates a standard Battery Level service, and a single GATT characteristic that contains the battery level.

Revision:
3:288b2baffd14
Parent:
2:a872df2e051e
Child:
4:5b64235d1b85
--- a/main.cpp	Thu Jan 09 16:43:18 2014 +0000
+++ b/main.cpp	Thu Jan 16 22:31:47 2014 +0000
@@ -1,31 +1,31 @@
 #include "mbed.h"
-#include "UUID.h"
-#include "nRF51822.h"
+#include "blecommon.h"
+#include "hw/nRF51822s/nRF51822s.h"
 
-/* Radio HW */
-nRF51822 radio(p9, p10, p30, p29);   // tx, rx, rts, cts
+nRF51822s          nrf         ( p9, p10, p30, p29 ); /* (tx, rx, rts, cts) */
+GattService        battService ( 0x180F );
+GattCharacteristic battLevel   ( 0x2A19, 1, 1, 
+                                 GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY | 
+                                 GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ);
 
 int main(void)
 {
-    GattService        battService ( 0x180F );
-    GattCharacteristic battLevel   ( 0x2A19, 1, 1, BLE_GATT_CHAR_PROPERTIES_NOTIFY | BLE_GATT_CHAR_PROPERTIES_READ);
-
-    /* Make sure we get a clean start */    
-    radio.reset();
+    /* Make sure we get a clean start */
+    nrf.reset();
     
     /* Add the characteristic to our service */
     battService.addCharacteristic(battLevel);
     
     /* Pass the service into the radio */
-    radio.addService(battService);
+    nrf.getGattServer().addService(battService);
     
     /* Configure the radio and start advertising with default values */
     /* Make sure you've added all of your services before calling this function! */
-    radio.start();
+    nrf.getGap().startAdvertising();
 
     /* Now that we're live, update the battery level characteristic */
     uint8_t batt = 72;
-    radio.writeCharacteristic(battLevel.handle, (uint8_t*)&batt, sizeof(batt));
+    nrf.getGattServer().updateValue(battLevel.handle, (uint8_t*)&batt, sizeof(batt));
     
     while(1);
 }