Heart Rate Monitor example for the BLE API using nRF51822 native mode drivers
Dependencies: BLE_API mbed nRF51822 X_NUCLEO_IDB0XA1
Fork of BLE_HeartRate by
Diff: main.cpp
- Revision:
- 26:e6ad33b227c6
- Parent:
- 22:299658c5fa3c
- Child:
- 27:97adf2b76b9c
--- a/main.cpp Thu Jun 26 14:11:57 2014 +0000 +++ b/main.cpp Thu Jul 03 11:44:59 2014 +0100 @@ -30,6 +30,14 @@ #define DEBUG(...) /* nothing */ #endif /* #if NEED_CONSOLE_OUTPUT */ +/* Device Information service */ +const char 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); +GattCharacteristic *deviceInformationChars[] = {&deviceManufacturer}; +GattService deviceInformationService(GattService::UUID_DEVICE_INFORMATION_SERVICE, deviceInformationChars, + sizeof(deviceInformationChars) / sizeof(GattCharacteristic *)); + /* Heart Rate Service */ /* Service: https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.heart_rate.xml */ /* HRM Char: https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.heart_rate_measurement.xml */ @@ -89,6 +97,7 @@ ble.setAdvertisingInterval(160); /* 100ms; in multiples of 0.625ms. */ ble.startAdvertising(); + ble.addService(deviceInformationService); ble.addService(hrmService); while (true) {