1.. _bluetooth_mesh_blob_flash:
2
3BLOB Flash
4##########
5
6The BLOB Flash Readers and Writers implement BLOB reading to and writing from flash partitions
7defined in the :ref:`flash map <flash_map_api>`.
8
9
10BLOB Flash Reader
11*****************
12
13The BLOB Flash Reader interacts with the BLOB Transfer Client to read BLOB data directly from flash.
14It must be initialized by calling :c:func:`bt_mesh_blob_flash_rd_init` before being passed to the
15BLOB Transfer Client. Each BLOB Flash Reader only supports one transfer at the time.
16
17
18BLOB Flash Writer
19*****************
20
21The BLOB Flash Writer interacts with the BLOB Transfer Server to write BLOB data directly to flash.
22It must be initialized by calling :c:func:`bt_mesh_blob_flash_rd_init` before being passed to the
23BLOB Transfer Server. Each BLOB Flash Writer only supports one transfer at the time, and requires a
24block size that is a multiple of the flash page size. If a transfer is started with a block size
25lower than the flash page size, the transfer will be rejected.
26
27The BLOB Flash Writer copies chunk data into a buffer to accommodate chunks that are unaligned with
28the flash write block size. The buffer data is padded with ``0xff`` if either the start or length of
29the chunk is unaligned.
30
31API Reference
32*************
33
34.. doxygengroup:: bt_mesh_blob_io_flash
35   :project: Zephyr
36