15#ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_DFU_CLI_H__ 
   16#define ZEPHYR_INCLUDE_BLUETOOTH_MESH_DFU_CLI_H__ 
   36#define BT_MESH_DFU_CLI_INIT(_handlers)                                        \ 
   39                .blob = { .cb = &_bt_mesh_dfu_cli_blob_handlers },             \ 
   48#define BT_MESH_MODEL_DFU_CLI(_cli)                                            \ 
   49        BT_MESH_MODEL_BLOB_CLI(&(_cli)->blob),                                 \ 
   50        BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_DFU_CLI, _bt_mesh_dfu_cli_op, NULL,  \ 
   51                         _cli, &_bt_mesh_dfu_cli_cb) 
ZTEST_BMEM int timeout
Definition: main.c:31
 
bt_mesh_blob_xfer_mode
Definition: blob.h:29
 
int bt_mesh_dfu_cli_resume(struct bt_mesh_dfu_cli *cli)
Resume the suspended transfer.
 
uint8_t bt_mesh_dfu_cli_progress(struct bt_mesh_dfu_cli *cli)
Get progress as a percentage of completion.
 
int bt_mesh_dfu_cli_send(struct bt_mesh_dfu_cli *cli, const struct bt_mesh_blob_cli_inputs *inputs, const struct bt_mesh_blob_io *io, const struct bt_mesh_dfu_cli_xfer *xfer)
Start distributing a DFU.
 
int bt_mesh_dfu_cli_metadata_check(struct bt_mesh_dfu_cli *cli, struct bt_mesh_msg_ctx *ctx, uint8_t img_idx, const struct bt_mesh_dfu_slot *slot, struct bt_mesh_dfu_metadata_status *rsp)
Perform a metadata check for the given DFU image slot.
 
int bt_mesh_dfu_cli_apply(struct bt_mesh_dfu_cli *cli)
Apply the completed DFU transfer.
 
enum bt_mesh_dfu_iter(* bt_mesh_dfu_img_cb_t)(struct bt_mesh_dfu_cli *cli, struct bt_mesh_msg_ctx *ctx, uint8_t idx, uint8_t total, const struct bt_mesh_dfu_img *img, void *cb_data)
DFU image callback.
Definition: dfu_cli.h:125
 
int32_t bt_mesh_dfu_cli_timeout_get(void)
Get the current procedure timeout value.
 
int bt_mesh_dfu_cli_imgs_get(struct bt_mesh_dfu_cli *cli, struct bt_mesh_msg_ctx *ctx, bt_mesh_dfu_img_cb_t cb, void *cb_data, uint8_t max_count)
Perform a DFU image list request.
 
int bt_mesh_dfu_cli_cancel(struct bt_mesh_dfu_cli *cli, struct bt_mesh_msg_ctx *ctx)
Cancel a DFU transfer.
 
void bt_mesh_dfu_cli_timeout_set(int32_t timeout)
Set the procedure timeout value.
 
int bt_mesh_dfu_cli_suspend(struct bt_mesh_dfu_cli *cli)
Suspend a DFU transfer.
 
int bt_mesh_dfu_cli_status_get(struct bt_mesh_dfu_cli *cli, struct bt_mesh_msg_ctx *ctx, struct bt_mesh_dfu_target_status *rsp)
Get the status of a Target node.
 
bool bt_mesh_dfu_cli_is_busy(struct bt_mesh_dfu_cli *cli)
Check whether a DFU transfer is in progress.
 
int bt_mesh_dfu_cli_confirm(struct bt_mesh_dfu_cli *cli)
Confirm that the active transfer has been applied on the Target nodes.
 
bt_mesh_dfu_iter
Definition: dfu.h:128
 
bt_mesh_dfu_phase
Definition: dfu.h:38
 
bt_mesh_dfu_status
Definition: dfu.h:79
 
bt_mesh_dfu_effect
Definition: dfu.h:108
 
int target
Definition: main.c:68
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
__INT32_TYPE__ int32_t
Definition: stdint.h:74
 
__UINT64_TYPE__ uint64_t
Definition: stdint.h:91
 
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
 
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
 
Definition: blob_cli.h:190
 
Definition: blob_cli.h:289
 
Definition: blob_cli.h:49
 
Definition: dfu_cli.h:130
 
void(* confirmed)(struct bt_mesh_dfu_cli *cli)
DFU transfer confirmed on all active Target nodes.
Definition: dfu_cli.h:166
 
void(* applied)(struct bt_mesh_dfu_cli *cli)
DFU transfer applied on all active Target nodes.
Definition: dfu_cli.h:157
 
void(* ended)(struct bt_mesh_dfu_cli *cli, enum bt_mesh_dfu_status reason)
DFU ended.
Definition: dfu_cli.h:147
 
void(* lost_target)(struct bt_mesh_dfu_cli *cli, struct bt_mesh_dfu_target *target)
DFU Target node was lost.
Definition: dfu_cli.h:176
 
void(* suspended)(struct bt_mesh_dfu_cli *cli)
BLOB transfer is suspended.
Definition: dfu_cli.h:137
 
Definition: dfu_cli.h:215
 
uint16_t chunk_size
Definition: dfu_cli.h:219
 
uint8_t block_size_log
Definition: dfu_cli.h:217
 
Definition: dfu_cli.h:223
 
const struct bt_mesh_dfu_cli_xfer_blob_params * blob_params
Definition: dfu_cli.h:233
 
const struct bt_mesh_dfu_slot * slot
Definition: dfu_cli.h:227
 
enum bt_mesh_blob_xfer_mode mode
Definition: dfu_cli.h:229
 
uint64_t blob_id
Definition: dfu_cli.h:225
 
Definition: dfu_cli.h:184
 
const struct bt_mesh_dfu_cli_cb * cb
Definition: dfu_cli.h:186
 
const struct bt_mesh_blob_io * io
Definition: dfu_cli.h:197
 
uint8_t flags
Definition: dfu_cli.h:200
 
uint8_t type
Definition: dfu_cli.h:205
 
uint8_t ttl
Definition: dfu_cli.h:204
 
uint16_t addr
Definition: dfu_cli.h:207
 
struct bt_mesh_dfu_cli::@98 req
 
const struct bt_mesh_dfu_slot * slot
Definition: dfu_cli.h:196
 
struct bt_mesh_blob_cli blob
Definition: dfu_cli.h:188
 
uint32_t op
Definition: dfu_cli.h:192
 
bt_mesh_dfu_img_cb_t img_cb
Definition: dfu_cli.h:210
 
uint8_t img_cnt
Definition: dfu_cli.h:206
 
struct bt_mesh_dfu_cli::@97 xfer
 
void * params
Definition: dfu_cli.h:209
 
uint8_t state
Definition: dfu_cli.h:199
 
struct bt_mesh_model * mod
Definition: dfu_cli.h:193
 
struct k_sem sem
Definition: dfu_cli.h:208
 
uint16_t timeout_base
Definition: dfu_cli.h:105
 
enum bt_mesh_dfu_status status
Definition: dfu_cli.h:80
 
uint64_t blob_id
Definition: dfu_cli.h:86
 
uint8_t ttl
Definition: dfu_cli.h:90
 
enum bt_mesh_dfu_phase phase
Definition: dfu_cli.h:82
 
uint8_t img_idx
Definition: dfu_cli.h:88
 
enum bt_mesh_dfu_effect effect
Definition: dfu_cli.h:84
 
uint8_t effect
Definition: dfu_cli.h:60
 
uint8_t phase
Definition: dfu_cli.h:64
 
uint8_t status
Definition: dfu_cli.h:62
 
struct bt_mesh_blob_target blob
Definition: dfu_cli.h:56
 
uint8_t img_idx
Definition: dfu_cli.h:58