zephyr/doc/connectivity/bluetooth/api/mesh
Pavel Vasilyev 177e9b93bf Bluetooth: Mesh: Add API to store model's user data in settings work
Mesh models may have a data that needs to be stored persistently.
Currently, the models should call bt_mesh_model_data_store and the store
will happen in the calling context. Most likely that it will be called
in BT RX thread as this is the context from which model's opcodes
handlers are called. Thus, the thread will be blocked until the store is
finished.

Another issues is that some models may have states that changes
frequently. Triggering the store on every state change may wear out
flash. Therefore, the models need to implement some postpone mechanism
to reduce the flash wear out.

The mesh stack has already implemented the mechanism of deferred store
with its own settings. The models could use it instead of implementing
their own mechanism.

In combination with the mesh settings workqueue, the models can store
their data without blocking the stack work.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-05-08 09:58:21 +02:00
..
images Bluetooth: Mesh: DFU models 2023-03-06 13:52:15 +01:00
access.rst Bluetooth: Mesh: Add API to store model's user data in settings work 2023-05-08 09:58:21 +02:00
blob_cli.rst Bluetooth: Mesh: BLOB models 2023-03-06 13:52:15 +01:00
blob_flash.rst Bluetooth: Mesh: BLOB models 2023-03-06 13:52:15 +01:00
blob_srv.rst Bluetooth: Mesh: BLOB models 2023-03-06 13:52:15 +01:00
blob.rst Bluetooth: Mesh: BLOB models 2023-03-06 13:52:15 +01:00
cfg_cli.rst
cfg_srv.rst
cfg.rst
core.rst Bluetooth: Mesh: Use separate workq for storing mesh settings 2023-05-08 09:58:21 +02:00
dfd_srv.rst Bluetooth: Mesh: DFD Server model 2023-03-06 13:52:15 +01:00
dfu_cli.rst Bluetooth: Mesh: DFU models 2023-03-06 13:52:15 +01:00
dfu_srv.rst Bluetooth: Mesh: DFU models 2023-03-06 13:52:15 +01:00
dfu.rst Bluetooth: Mesh: DFU models 2023-03-06 13:52:15 +01:00
health_cli.rst
health_srv.rst
heartbeat.rst
models.rst doc: Bluetooth: Mesh: update proxy solicitation docs 2023-04-28 20:37:45 +02:00
msg.rst
od_cli.rst doc: Bluetooth: Mesh: update proxy solicitation docs 2023-04-28 20:37:45 +02:00
od_srv.rst doc: Bluetooth: Mesh: update proxy solicitation docs 2023-04-28 20:37:45 +02:00
op_agg_cli.rst Bluetooth: Mesh: Add support for Opcodes Aggregator models 2023-03-06 13:52:15 +01:00
op_agg_srv.rst Bluetooth: Mesh: Add support for Opcodes Aggregator models 2023-03-06 13:52:15 +01:00
priv_beacon_cli.rst Bluetooth: Mesh: Private Beacons 2023-03-06 13:52:15 +01:00
priv_beacon_srv.rst Bluetooth: Mesh: Private Beacons 2023-03-06 13:52:15 +01:00
provisioning.rst Bluetooth: Mesh: enhanced provisioning authentication 2023-03-06 13:52:15 +01:00
proxy.rst doc: Bluetooth: Mesh: update proxy solicitation docs 2023-04-28 20:37:45 +02:00
rpr_cli.rst Doc: Bluetooth: Mesh: Add RPR docs 2023-03-23 15:43:29 +01:00
rpr_srv.rst Doc: Bluetooth: Mesh: Add RPR docs 2023-03-23 15:43:29 +01:00
shell.rst doc: Bluetooth: Mesh: update proxy solicitation docs 2023-04-28 20:37:45 +02:00
srpl_cli.rst doc: Bluetooth: Mesh: update proxy solicitation docs 2023-04-28 20:37:45 +02:00
srpl_srv.rst doc: Bluetooth: Mesh: update proxy solicitation docs 2023-04-28 20:37:45 +02:00