CONFIG_BT_MESH_IVU_DIVIDER

Divider for IV Update state refresh timer

Type: int

Help

When the IV Update state enters Normal operation or IV Update in Progress, we need to keep track of how many hours has passed in the state, since the specification requires us to remain in the state at least for 96 hours (Update in Progress has an additional upper limit of 144 hours).

In order to fulfill the above requirement, even if the node might be powered off once in a while, we need to store persistently how many hours the node has been in the state. This doesn’t necessarily need to happen every hour (thanks to the flexible duration range). The exact cadence will depend a lot on the ways that the node will be used and what kind of power source it has.

Since there is no single optimal answer, this configuration option allows specifying a divider, i.e. how many intervals the 96 hour minimum gets split into. After each interval the duration that the node has been in the current state gets stored to flash. E.g. the default value of 4 means that the state is saved every 24 hours (96 / 4).

Direct dependencies

BT_MESH && BT

(Includes any dependencies from ifs and menus.)

Default

  • 4

Kconfig definition

At <Zephyr>/subsys/bluetooth/mesh/Kconfig:263

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:34<Zephyr>/subsys/Kconfig:9<Zephyr>/subsys/bluetooth/Kconfig:258

Menu path: (Top) → Sub Systems and OS Services → Bluetooth → Bluetooth Mesh support [EXPERIMENTAL]

config BT_MESH_IVU_DIVIDER
    int "Divider for IV Update state refresh timer"
    range 2 96
    default 4
    depends on BT_MESH && BT
    help
      When the IV Update state enters Normal operation or IV Update
      in Progress, we need to keep track of how many hours has passed
      in the state, since the specification requires us to remain in
      the state at least for 96 hours (Update in Progress has an
      additional upper limit of 144 hours).

      In order to fulfill the above requirement, even if the node might
      be powered off once in a while, we need to store persistently
      how many hours the node has been in the state. This doesn't
      necessarily need to happen every hour (thanks to the flexible
      duration range). The exact cadence will depend a lot on the
      ways that the node will be used and what kind of power source it
      has.

      Since there is no single optimal answer, this configuration
      option allows specifying a divider, i.e. how many intervals
      the 96 hour minimum gets split into. After each interval the
      duration that the node has been in the current state gets
      stored to flash. E.g. the default value of 4 means that the
      state is saved every 24 hours (96 / 4).

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)