Key-Value Store
The Infuse-IoT platform implements a type layer over the top of either the Zephyr NVS or Zephyr ZMS filesystems. Which filesystem is used by default depends on the SoC non-volatile storage technology, for more details see the ZMS documentation.
Callbacks
Application code can be notified of changes to configuration values by
subscribing to events with kv_store_register_callback()
.
Value Reflection
Value reflection is the mechanism through which the Infuse cloud service can detect automatically when a key value has changed on the device.
By compressing relevant KV store values into a single global CRC, the Infuse cloud service can automatically detect when a key value has changed on the device, triggering a re-synchronisation.
The current CRC value can be accessed through kv_store_reflect_crc()
,
and is present in the standard tdf_announce
structure.
User-defined Slots
Infuse-IoT also allows custom user-defined TDFs to be integrated with the framework with
CONFIG_INFUSE_DEFS_GENERATED_DOWNSTREAM
. See Extending Infuse-IoT Definitions
for more details.