This is the documentation for the latest (main) development branch of the Infuse-IoT platform. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

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.

API Reference

kv_store APIs