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: microbit_rubber_ducky microbit_mouse_BLE microbit_mouse_BLE_daybreak_version microbit_presenter
Fork of nRF51822 by
Diff: nRF51GattServer.h
- Revision:
- 367:baa35c3860e6
- Parent:
- 362:6fa0d4d555f6
- Child:
- 368:c272fec04dab
--- a/nRF51GattServer.h Thu Jul 02 09:08:45 2015 +0100
+++ b/nRF51GattServer.h Thu Jul 02 09:08:45 2015 +0100
@@ -44,6 +44,40 @@
const static unsigned BLE_TOTAL_CHARACTERISTICS = 20;
const static unsigned BLE_TOTAL_DESCRIPTORS = 8;
+private:
+ /**
+ * resolve a value attribute to its owning characteristic.
+ * @param valueHandle the value handle to be resolved.
+ * @return characteristic index if a resolution is found, else -1.
+ */
+ int resolveValueHandleToCharIndex(GattAttribute::Handle_t valueHandle) {
+ unsigned charIndex;
+ for (charIndex = 0; charIndex < characteristicCount; charIndex++) {
+ if (nrfCharacteristicHandles[charIndex].value_handle == valueHandle) {
+ return charIndex;
+ }
+ }
+
+ return -1;
+ }
+
+ /**
+ * resolve a CCCD attribute handle to its owning characteristic.
+ * @param cccdHandle the CCCD handle to be resolved.
+ * @return characteristic index if a resolution is found, else -1.
+ */
+ int resolveCCCDHandleToCharIndex(GattAttribute::Handle_t cccdHandle) {
+ unsigned charIndex;
+ for (charIndex = 0; charIndex < characteristicCount; charIndex++) {
+ if (nrfCharacteristicHandles[charIndex].cccd_handle == cccdHandle) {
+ return charIndex;
+ }
+ }
+
+ return -1;
+ }
+
+private:
GattCharacteristic *p_characteristics[BLE_TOTAL_CHARACTERISTICS];
ble_gatts_char_handles_t nrfCharacteristicHandles[BLE_TOTAL_CHARACTERISTICS];
GattAttribute *p_descriptors[BLE_TOTAL_DESCRIPTORS];
