BLE FORK

Dependencies:   BLE_API mbed nRF51822

Fork of BLE_HeartRate by Bluetooth Low Energy

Files at this revision

API Documentation at this revision

Comitter:
Rohit Grover
Date:
Wed Jun 11 14:45:05 2014 +0100
Parent:
18:8a2e313f49cb
Child:
20:58bff62d0f7a
Commit message:
make use of the new GattService constructor which takes in an array of pointers to Characteristics

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Wed Jun 11 14:02:16 2014 +0100
+++ b/main.cpp	Wed Jun 11 14:45:05 2014 +0100
@@ -36,7 +36,10 @@
 uint8_t            batt      = 72; /* Battery level */
 GattCharacteristic battLevel   (GattCharacteristic::UUID_BATTERY_LEVEL_CHAR, &batt, sizeof(batt), sizeof(batt),
                                 GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY | GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ);
-GattService        battService (GattService::UUID_BATTERY_SERVICE);
+GattCharacteristic *battChars[] = {
+    &battLevel,
+};
+GattService        battService (GattService::UUID_BATTERY_SERVICE, battChars, sizeof(battChars) / sizeof(GattCharacteristic *));
 
 /* Heart Rate Service */
 /* Service:  https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.heart_rate.xml */
@@ -49,14 +52,21 @@
 GattCharacteristic hrmLocation(GattCharacteristic::UUID_BODY_SENSOR_LOCATION_CHAR,
                                (uint8_t *)&location, sizeof(location), sizeof(location),
                                GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ);
-GattService        hrmService(GattService::UUID_HEART_RATE_SERVICE);
+GattCharacteristic *hrmChars[] = {
+    &hrmRate, &hrmLocation,
+};
+GattService        hrmService(GattService::UUID_HEART_RATE_SERVICE, hrmChars, sizeof(hrmChars) / sizeof(GattCharacteristic *));
 
 /* Device Information service */
 static const uint8_t deviceName[] = {'m', 'b', 'e', 'd'};
 GattCharacteristic deviceManufacturer (GattCharacteristic::UUID_MANUFACTURER_NAME_STRING_CHAR,
                                        (uint8_t *)deviceName, sizeof(deviceName), sizeof(deviceName),
                                        GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ);
-GattService        deviceInformationService (GattService::UUID_DEVICE_INFORMATION_SERVICE);
+GattCharacteristic *devInfoChars[] = {
+    &deviceManufacturer,
+};
+GattService        deviceInformationService (GattService::UUID_DEVICE_INFORMATION_SERVICE,
+                                             devInfoChars, sizeof(devInfoChars) / sizeof(GattCharacteristic *));
 
 static const uint16_t uuid16_list[] = {
     GattService::UUID_BATTERY_SERVICE,
@@ -149,17 +159,8 @@
     ble.setAdvertisingInterval(160); /* 100ms; in multiples of 0.625ms. */
     ble.startAdvertising();
 
-    /* Add the Device Information service */
-    deviceInformationService.addCharacteristic(deviceManufacturer);
     ble.addService(deviceInformationService);
-
-    /* Add the Battery Level service */
-    battService.addCharacteristic(battLevel);
     ble.addService(battService);
-
-    /* Add the Heart Rate service */
-    hrmService.addCharacteristic(hrmRate);
-    hrmService.addCharacteristic(hrmLocation);
     ble.addService(hrmService);
 
     while (true) {