Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
Bluetooth Mesh BLOB model API

Data Structures

struct  bt_mesh_blob_block
 BLOB transfer data block. More...
 
struct  bt_mesh_blob_chunk
 BLOB data chunk. More...
 
struct  bt_mesh_blob_xfer
 BLOB transfer. More...
 
struct  bt_mesh_blob_io
 BLOB stream. More...
 

Macros

#define CONFIG_BT_MESH_BLOB_CHUNK_COUNT_MAX   0
 

Enumerations

enum  bt_mesh_blob_xfer_mode { BT_MESH_BLOB_XFER_MODE_NONE , BT_MESH_BLOB_XFER_MODE_PUSH , BT_MESH_BLOB_XFER_MODE_PULL , BT_MESH_BLOB_XFER_MODE_ALL }
 BLOB transfer mode. More...
 
enum  bt_mesh_blob_xfer_phase {
  BT_MESH_BLOB_XFER_PHASE_INACTIVE , BT_MESH_BLOB_XFER_PHASE_WAITING_FOR_START , BT_MESH_BLOB_XFER_PHASE_WAITING_FOR_BLOCK , BT_MESH_BLOB_XFER_PHASE_WAITING_FOR_CHUNK ,
  BT_MESH_BLOB_XFER_PHASE_COMPLETE , BT_MESH_BLOB_XFER_PHASE_SUSPENDED
}
 Transfer phase. More...
 
enum  bt_mesh_blob_status {
  BT_MESH_BLOB_SUCCESS , BT_MESH_BLOB_ERR_INVALID_BLOCK_NUM , BT_MESH_BLOB_ERR_INVALID_BLOCK_SIZE , BT_MESH_BLOB_ERR_INVALID_CHUNK_SIZE ,
  BT_MESH_BLOB_ERR_WRONG_PHASE , BT_MESH_BLOB_ERR_INVALID_PARAM , BT_MESH_BLOB_ERR_WRONG_BLOB_ID , BT_MESH_BLOB_ERR_BLOB_TOO_LARGE ,
  BT_MESH_BLOB_ERR_UNSUPPORTED_MODE , BT_MESH_BLOB_ERR_INTERNAL , BT_MESH_BLOB_ERR_INFO_UNAVAILABLE
}
 BLOB model status codes. More...
 
enum  bt_mesh_blob_io_mode { BT_MESH_BLOB_READ , BT_MESH_BLOB_WRITE }
 BLOB stream interaction mode. More...
 

Detailed Description

Macro Definition Documentation

◆ CONFIG_BT_MESH_BLOB_CHUNK_COUNT_MAX

#define CONFIG_BT_MESH_BLOB_CHUNK_COUNT_MAX   0

Enumeration Type Documentation

◆ bt_mesh_blob_io_mode

#include <include/zephyr/bluetooth/mesh/blob.h>

BLOB stream interaction mode.

Enumerator
BT_MESH_BLOB_READ 

Read data from the stream.

BT_MESH_BLOB_WRITE 

Write data to the stream.

◆ bt_mesh_blob_status

#include <include/zephyr/bluetooth/mesh/blob.h>

BLOB model status codes.

Enumerator
BT_MESH_BLOB_SUCCESS 

The message was processed successfully.

BT_MESH_BLOB_ERR_INVALID_BLOCK_NUM 

The Block Number field value is not within the range of blocks being transferred.

BT_MESH_BLOB_ERR_INVALID_BLOCK_SIZE 

The block size is smaller than the size indicated by the Min Block Size Log state or is larger than the size indicated by the Max Block Size Log state.

BT_MESH_BLOB_ERR_INVALID_CHUNK_SIZE 

The chunk size exceeds the size indicated by the Max Chunk Size state, or the number of chunks exceeds the number specified by the Max Total Chunks state.

BT_MESH_BLOB_ERR_WRONG_PHASE 

The operation cannot be performed while the server is in the current phase.

BT_MESH_BLOB_ERR_INVALID_PARAM 

A parameter value in the message cannot be accepted.

BT_MESH_BLOB_ERR_WRONG_BLOB_ID 

The message contains a BLOB ID value that is not expected.

BT_MESH_BLOB_ERR_BLOB_TOO_LARGE 

There is not enough space available in memory to receive the BLOB.

BT_MESH_BLOB_ERR_UNSUPPORTED_MODE 

The transfer mode is not supported by the BLOB Transfer Server model.

BT_MESH_BLOB_ERR_INTERNAL 

An internal error occurred on the node.

BT_MESH_BLOB_ERR_INFO_UNAVAILABLE 

The requested information cannot be provided while the server is in the current phase.

◆ bt_mesh_blob_xfer_mode

#include <include/zephyr/bluetooth/mesh/blob.h>

BLOB transfer mode.

Enumerator
BT_MESH_BLOB_XFER_MODE_NONE 

No valid transfer mode.

BT_MESH_BLOB_XFER_MODE_PUSH 

Push mode (Push BLOB Transfer Mode).

BT_MESH_BLOB_XFER_MODE_PULL 

Pull mode (Pull BLOB Transfer Mode).

BT_MESH_BLOB_XFER_MODE_ALL 

Both modes are valid.

◆ bt_mesh_blob_xfer_phase

#include <include/zephyr/bluetooth/mesh/blob.h>

Transfer phase.

Enumerator
BT_MESH_BLOB_XFER_PHASE_INACTIVE 

The BLOB Transfer Server is awaiting configuration.

BT_MESH_BLOB_XFER_PHASE_WAITING_FOR_START 

The BLOB Transfer Server is ready to receive a BLOB transfer.

BT_MESH_BLOB_XFER_PHASE_WAITING_FOR_BLOCK 

The BLOB Transfer Server is waiting for the next block of data.

BT_MESH_BLOB_XFER_PHASE_WAITING_FOR_CHUNK 

The BLOB Transfer Server is waiting for the next chunk of data.

BT_MESH_BLOB_XFER_PHASE_COMPLETE 

The BLOB was transferred successfully.

BT_MESH_BLOB_XFER_PHASE_SUSPENDED 

The BLOB transfer is paused.