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.
Dependencies: nrf51-sdk
Dependents: microbit-dal microbit-ble-open microbit-dal-eddystone microbit-dal-ble-accelerometer-example ... more
Diff: nRF51GattServer.cpp
- Revision:
- 88:fdb2b0db620e
- Parent:
- 87:f9516241903b
- Child:
- 89:c0dbd55614b2
--- a/nRF51GattServer.cpp	Wed Jan 21 10:01:16 2015 +0000
+++ b/nRF51GattServer.cpp	Wed Jan 21 10:01:16 2015 +0000
@@ -176,6 +176,7 @@
 ble_error_t nRF51GattServer::updateValue(uint16_t charHandle, uint8_t buffer[], uint16_t len, bool localOnly)
 {
     uint16_t gapConnectionHandle = nRF51Gap::getInstance().getConnectionHandle();
+    ble_error_t returnValue = BLE_ERROR_NONE;
 
     if (localOnly) {
         /* Only update locally regardless of notify/indicate */
@@ -212,13 +213,22 @@
                         sd_ble_gatts_value_set(nrfCharacteristicHandles[charHandle].value_handle, 0, &len, buffer),
                         BLE_ERROR_PARAM_OUT_OF_RANGE );
         }
+
+        /*  Notifications consume application buffers. The return value can 
+            be used for resending notifications.
+        */
+        if (error != ERROR_NONE)
+        {
+            returnValue = BLE_STACK_BUSY;
+        }
+
     } else {
         ASSERT_INT( ERROR_NONE,
                     sd_ble_gatts_value_set(nrfCharacteristicHandles[charHandle].value_handle, 0, &len, buffer),
                     BLE_ERROR_PARAM_OUT_OF_RANGE );
     }
 
-    return BLE_ERROR_NONE;
+    return returnValue;
 }
 
 /**************************************************************************/