x

Dependencies:   BLE_API mbed-dev-bin nRF51822

Fork of microbit-dal by Lancaster University

Revision:
48:34d1adb6771c
Parent:
37:b624ae5e94a5
diff -r 69f452b1a5c9 -r 34d1adb6771c source/drivers/MicroBitStorage.cpp
--- a/source/drivers/MicroBitStorage.cpp	Wed Jul 13 12:18:26 2016 +0100
+++ b/source/drivers/MicroBitStorage.cpp	Wed Jul 13 12:18:27 2016 +0100
@@ -223,6 +223,16 @@
     if(keySize > (int)sizeof(pair.key) || dataSize > (int)sizeof(pair.value) || dataSize < 0)
         return MICROBIT_INVALID_PARAMETER;
 
+    KeyValuePair *currentValue = get(key);
+
+    int upToDate = currentValue && (memcmp(currentValue->value, data, dataSize) == 0);
+
+    if(currentValue)
+        delete currentValue;
+
+    if(upToDate)
+        return MICROBIT_OK;
+
     memcpy(pair.key, key, keySize);
     memcpy(pair.value, data, dataSize);