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:353

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:44<Zephyr>/subsys/Kconfig:9<Zephyr>/subsys/bluetooth/Kconfig:199

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.)