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