|
StorageHelperRK
|
Class for persistent data stored in retained memory. More...
#include <StorageHelperRK.h>
Public Member Functions | |
| PersistentDataRetained (SavedDataHeader *savedDataHeader, size_t savedDataSize, uint32_t savedDataMagic, uint16_t savedDataVersion) | |
| Class for persistent data saved in retained memory. More... | |
Public Member Functions inherited from StorageHelperRK::PersistentDataBase | |
| PersistentDataBase (SavedDataHeader *savedDataHeader, size_t savedDataSize, uint32_t savedDataMagic, uint16_t savedDataVersion) | |
| Base class for persistent data saved in file or RAM. More... | |
| PersistentDataBase & | withSaveDelayMs (uint32_t value) |
| Sets the wait to save delay. Default is 1000 milliseconds. More... | |
| virtual void | setup () |
| Initialize this object for use in StorageHelperRK. More... | |
| virtual bool | load () |
| Load the persistent data file. You normally do not need to call this; it will be loaded automatically. More... | |
| virtual void | save () |
| Save the persistent data file. You normally do not need to call this; it will be saved automatically. More... | |
| virtual void | flush (bool force) |
| Write the settings to disk if changed and the wait to save time has expired. More... | |
| virtual void | saveOrDefer () |
| Either saves data or immediately, or defers until later, based on saveDelayMs. More... | |
| template<class T > | |
| T | getValue (size_t offset) const |
| Templated class for getting integral values (uint32_t, float, double, etc.) More... | |
| template<class T > | |
| void | setValue (size_t offset, T value) |
| Templated class for setting integral values (uint32_t, float, double, etc.) More... | |
| bool | getValueString (size_t offset, size_t size, String &value) const |
| Get the value of a string. More... | |
| bool | setValueString (size_t offset, size_t size, const char *value) |
| Set the value of a string. More... | |
| uint32_t | getHash () const |
| Get the hash valid for data integrity checking. | |
Public Member Functions inherited from StorageHelperRK::CustomRecursiveMutex | |
| CustomRecursiveMutex (os_mutex_recursive_t handle) | |
| Construct a CustomRecursiveMutex wrapper object from an existing recursive mutex. More... | |
| CustomRecursiveMutex () | |
| Default constructor with no mutex - one will be created on first lock. | |
| ~CustomRecursiveMutex () | |
| Destroys the underlying mutex object. | |
| void | dispose () |
| Destroys the mutex object. | |
| void | lock () const |
| Locks the mutex. Creates a new recursive mutex object if it does not exist yet. More... | |
| bool | trylock () const |
| Attempts to lock the mutex. Creates a new recursive mutex object if it does not exist yet. More... | |
| bool | try_lock () const |
| Attempts to lock the mutex. Creates a new recursive mutex object if it does not exist yet. More... | |
| void | unlock () const |
| Unlocks the mutex. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from StorageHelperRK::PersistentDataBase | |
| static const uint32_t | HASH_SEED = 0x851c2a3f |
| Murmur32 hash seed value (randomly generated) | |
Protected Member Functions inherited from StorageHelperRK::PersistentDataBase | |
| PersistentDataBase (const PersistentDataBase &)=delete | |
| PersistentDataBase & | operator= (const PersistentDataBase &)=delete |
| virtual bool | validate (size_t dataSize) |
| Used to validate the saved data structure. Used internally by load(). More... | |
| virtual void | initialize () |
| Used to allow subclasses to initialize the saved data structure. Called internally by load(). More... | |
Protected Attributes inherited from StorageHelperRK::PersistentDataBase | |
| SavedDataHeader * | savedDataHeader = 0 |
| Pointer to the saved data header, which is followed by the data. | |
| uint32_t | savedDataSize = 0 |
| Size of the saved data (header + actual data) | |
| uint32_t | savedDataMagic |
| Magic bytes for the saved data. | |
| uint16_t | savedDataVersion |
| Version number for the saved data. | |
| uint32_t | lastUpdate = 0 |
| Last time the file was updated. 0 = file has not changed since writing to disk. | |
| uint32_t | saveDelayMs = 1000 |
| How long to wait to save before writing file to disk. Set to 0 to write immediately. | |
Class for persistent data stored in retained memory.
Retained memory (backup RAM, SRAM) is supported on Gen 2 and Gen 3 devices and is around 3K bytes in size. It's preserved across system reset and sometimes across flashing new code. On some Gen 2 devices an external battery or supercap can be added to preserve data on power-down.
Retained memory is not supported on the P2 or Photon 2.
|
inline |
Class for persistent data saved in retained memory.
| savedDataHeader | Pointer to the saved data header in retained memory (backup RAM, SRAM) |
| savedDataSize | size of the whole structure, including the user data after it |
| savedDataMagic | Magic bytes to use for this data |
| savedDataVersion | Version to use for this data |