Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: BLE_PowerBank_HeyFaradey
Fork of BLE_API by
Diff: ble/services/DeviceInformationService.h
- Revision:
- 1151:575efbdcc905
- Parent:
- 1052:b55e1ad3e1b3
- Child:
- 1152:1c10f851f4f9
diff -r 45226f13ae5c -r 575efbdcc905 ble/services/DeviceInformationService.h
--- a/ble/services/DeviceInformationService.h Wed Apr 06 19:14:18 2016 +0100
+++ b/ble/services/DeviceInformationService.h Wed Apr 06 19:14:19 2016 +0100
@@ -1,116 +1,116 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __BLE_DEVICE_INFORMATION_SERVICE_H__
-#define __BLE_DEVICE_INFORMATION_SERVICE_H__
-
-#include "ble/BLE.h"
-
-/**
-* @class DeviceInformationService
-* @brief BLE Device Information Service
-* Service: https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.device_information.xml
-* Manufacturer Name String Char: https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.manufacturer_name_string.xml
-*/
-class DeviceInformationService {
-public:
- /**
- * @brief Device Information Service Constructor: copies device-specific information
- * into the BLE stack.
- *
- * @param[ref] _ble
- * BLE object for the underlying controller.
- * @param[in] manufacturersName
- * The name of the manufacturer of the device.
- * @param[in] modelNumber
- * The model number that is assigned by the device vendor.
- * @param[in] serialNumber
- * The serial number for a particular instance of the device.
- * @param[in] hardwareRevision
- * The hardware revision for the hardware within the device.
- * @param[in] firmwareRevision
- * The device's firmware version.
- * @param[in] softwareRevision
- * The device's software version.
- */
- DeviceInformationService(BLE &_ble,
- const char *manufacturersName = NULL,
- const char *modelNumber = NULL,
- const char *serialNumber = NULL,
- const char *hardwareRevision = NULL,
- const char *firmwareRevision = NULL,
- const char *softwareRevision = NULL) :
- ble(_ble),
- manufacturersNameStringCharacteristic(GattCharacteristic::UUID_MANUFACTURER_NAME_STRING_CHAR,
- (uint8_t *)manufacturersName,
- (manufacturersName != NULL) ? strlen(manufacturersName) : 0, /* Min length */
- (manufacturersName != NULL) ? strlen(manufacturersName) : 0, /* Max length */
- GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ),
- modelNumberStringCharacteristic(GattCharacteristic::UUID_MODEL_NUMBER_STRING_CHAR,
- (uint8_t *)modelNumber,
- (modelNumber != NULL) ? strlen(modelNumber) : 0, /* Min length */
- (modelNumber != NULL) ? strlen(modelNumber) : 0, /* Max length */
- GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ),
- serialNumberStringCharacteristic(GattCharacteristic::UUID_SERIAL_NUMBER_STRING_CHAR,
- (uint8_t *)serialNumber,
- (serialNumber != NULL) ? strlen(serialNumber) : 0, /* Min length */
- (serialNumber != NULL) ? strlen(serialNumber) : 0, /* Max length */
- GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ),
- hardwareRevisionStringCharacteristic(GattCharacteristic::UUID_HARDWARE_REVISION_STRING_CHAR,
- (uint8_t *)hardwareRevision,
- (hardwareRevision != NULL) ? strlen(hardwareRevision) : 0, /* Min length */
- (hardwareRevision != NULL) ? strlen(hardwareRevision) : 0, /* Max length */
- GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ),
- firmwareRevisionStringCharacteristic(GattCharacteristic::UUID_FIRMWARE_REVISION_STRING_CHAR,
- (uint8_t *)firmwareRevision,
- (firmwareRevision != NULL) ? strlen(firmwareRevision) : 0, /* Min length */
- (firmwareRevision != NULL) ? strlen(firmwareRevision) : 0, /* Max length */
- GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ),
- softwareRevisionStringCharacteristic(GattCharacteristic::UUID_SOFTWARE_REVISION_STRING_CHAR,
- (uint8_t *)softwareRevision,
- (softwareRevision != NULL) ? strlen(softwareRevision) : 0, /* Min length */
- (softwareRevision != NULL) ? strlen(softwareRevision) : 0, /* Max length */
- GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ)
- {
- static bool serviceAdded = false; /* We only add the information service once. */
- if (serviceAdded) {
- return;
- }
-
- GattCharacteristic *charTable[] = {&manufacturersNameStringCharacteristic,
- &modelNumberStringCharacteristic,
- &serialNumberStringCharacteristic,
- &hardwareRevisionStringCharacteristic,
- &firmwareRevisionStringCharacteristic,
- &softwareRevisionStringCharacteristic};
- GattService deviceInformationService(GattService::UUID_DEVICE_INFORMATION_SERVICE, charTable,
- sizeof(charTable) / sizeof(GattCharacteristic *));
-
- ble.addService(deviceInformationService);
- serviceAdded = true;
- }
-
-protected:
- BLE &ble;
- GattCharacteristic manufacturersNameStringCharacteristic;
- GattCharacteristic modelNumberStringCharacteristic;
- GattCharacteristic serialNumberStringCharacteristic;
- GattCharacteristic hardwareRevisionStringCharacteristic;
- GattCharacteristic firmwareRevisionStringCharacteristic;
- GattCharacteristic softwareRevisionStringCharacteristic;
-};
-
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __BLE_DEVICE_INFORMATION_SERVICE_H__
+#define __BLE_DEVICE_INFORMATION_SERVICE_H__
+
+#include "ble/BLE.h"
+
+/**
+* @class DeviceInformationService
+* @brief BLE Device Information Service
+* Service: https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.device_information.xml
+* Manufacturer Name String Char: https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.manufacturer_name_string.xml
+*/
+class DeviceInformationService {
+public:
+ /**
+ * @brief Device Information Service Constructor: copies device-specific information
+ * into the BLE stack.
+ *
+ * @param[ref] _ble
+ * BLE object for the underlying controller.
+ * @param[in] manufacturersName
+ * The name of the manufacturer of the device.
+ * @param[in] modelNumber
+ * The model number that is assigned by the device vendor.
+ * @param[in] serialNumber
+ * The serial number for a particular instance of the device.
+ * @param[in] hardwareRevision
+ * The hardware revision for the hardware within the device.
+ * @param[in] firmwareRevision
+ * The device's firmware version.
+ * @param[in] softwareRevision
+ * The device's software version.
+ */
+ DeviceInformationService(BLE &_ble,
+ const char *manufacturersName = NULL,
+ const char *modelNumber = NULL,
+ const char *serialNumber = NULL,
+ const char *hardwareRevision = NULL,
+ const char *firmwareRevision = NULL,
+ const char *softwareRevision = NULL) :
+ ble(_ble),
+ manufacturersNameStringCharacteristic(GattCharacteristic::UUID_MANUFACTURER_NAME_STRING_CHAR,
+ (uint8_t *)manufacturersName,
+ (manufacturersName != NULL) ? strlen(manufacturersName) : 0, /* Min length */
+ (manufacturersName != NULL) ? strlen(manufacturersName) : 0, /* Max length */
+ GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ),
+ modelNumberStringCharacteristic(GattCharacteristic::UUID_MODEL_NUMBER_STRING_CHAR,
+ (uint8_t *)modelNumber,
+ (modelNumber != NULL) ? strlen(modelNumber) : 0, /* Min length */
+ (modelNumber != NULL) ? strlen(modelNumber) : 0, /* Max length */
+ GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ),
+ serialNumberStringCharacteristic(GattCharacteristic::UUID_SERIAL_NUMBER_STRING_CHAR,
+ (uint8_t *)serialNumber,
+ (serialNumber != NULL) ? strlen(serialNumber) : 0, /* Min length */
+ (serialNumber != NULL) ? strlen(serialNumber) : 0, /* Max length */
+ GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ),
+ hardwareRevisionStringCharacteristic(GattCharacteristic::UUID_HARDWARE_REVISION_STRING_CHAR,
+ (uint8_t *)hardwareRevision,
+ (hardwareRevision != NULL) ? strlen(hardwareRevision) : 0, /* Min length */
+ (hardwareRevision != NULL) ? strlen(hardwareRevision) : 0, /* Max length */
+ GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ),
+ firmwareRevisionStringCharacteristic(GattCharacteristic::UUID_FIRMWARE_REVISION_STRING_CHAR,
+ (uint8_t *)firmwareRevision,
+ (firmwareRevision != NULL) ? strlen(firmwareRevision) : 0, /* Min length */
+ (firmwareRevision != NULL) ? strlen(firmwareRevision) : 0, /* Max length */
+ GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ),
+ softwareRevisionStringCharacteristic(GattCharacteristic::UUID_SOFTWARE_REVISION_STRING_CHAR,
+ (uint8_t *)softwareRevision,
+ (softwareRevision != NULL) ? strlen(softwareRevision) : 0, /* Min length */
+ (softwareRevision != NULL) ? strlen(softwareRevision) : 0, /* Max length */
+ GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ)
+ {
+ static bool serviceAdded = false; /* We only add the information service once. */
+ if (serviceAdded) {
+ return;
+ }
+
+ GattCharacteristic *charTable[] = {&manufacturersNameStringCharacteristic,
+ &modelNumberStringCharacteristic,
+ &serialNumberStringCharacteristic,
+ &hardwareRevisionStringCharacteristic,
+ &firmwareRevisionStringCharacteristic,
+ &softwareRevisionStringCharacteristic};
+ GattService deviceInformationService(GattService::UUID_DEVICE_INFORMATION_SERVICE, charTable,
+ sizeof(charTable) / sizeof(GattCharacteristic *));
+
+ ble.addService(deviceInformationService);
+ serviceAdded = true;
+ }
+
+protected:
+ BLE &ble;
+ GattCharacteristic manufacturersNameStringCharacteristic;
+ GattCharacteristic modelNumberStringCharacteristic;
+ GattCharacteristic serialNumberStringCharacteristic;
+ GattCharacteristic hardwareRevisionStringCharacteristic;
+ GattCharacteristic firmwareRevisionStringCharacteristic;
+ GattCharacteristic softwareRevisionStringCharacteristic;
+};
+
#endif /* #ifndef __BLE_DEVICE_INFORMATION_SERVICE_H__*/
\ No newline at end of file
