blob: 5966fe3562be9f4755d0191ce79ad696397fe9e2 [file] [log] [blame]
.. _bluetooth_mesh_blob_flash:
BLOB Flash
##########
The BLOB Flash Readers and Writers implement BLOB reading to and writing from flash partitions
defined in the :ref:`flash map <flash_map_api>`.
BLOB Flash Reader
*****************
The BLOB Flash Reader interacts with the BLOB Transfer Client to read BLOB data directly from flash.
It must be initialized by calling :c:func:`bt_mesh_blob_flash_rd_init` before being passed to the
BLOB Transfer Client. Each BLOB Flash Reader only supports one transfer at the time.
BLOB Flash Writer
*****************
The BLOB Flash Writer interacts with the BLOB Transfer Server to write BLOB data directly to flash.
It must be initialized by calling :c:func:`bt_mesh_blob_flash_rd_init` before being passed to the
BLOB Transfer Server. Each BLOB Flash Writer only supports one transfer at the time, and requires a
block size that is a multiple of the flash page size. If a transfer is started with a block size
lower than the flash page size, the transfer will be rejected.
The BLOB Flash Writer copies chunk data into a buffer to accommodate chunks that are unaligned with
the flash write block size. The buffer data is padded with ``0xff`` if either the start or length of
the chunk is unaligned.
API Reference
*************
.. doxygengroup:: bt_mesh_blob_io_flash
:project: Zephyr