Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
dfu.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2020 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_DFU_H__
14#define ZEPHYR_INCLUDE_BLUETOOTH_MESH_DFU_H__
15
16#include <sys/types.h>
17
18#include <zephyr/kernel.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
30
31#ifndef CONFIG_BT_MESH_DFU_FWID_MAXLEN
32#define CONFIG_BT_MESH_DFU_FWID_MAXLEN 0
33#endif
34
35#ifndef CONFIG_BT_MESH_DFU_METADATA_MAXLEN
36#define CONFIG_BT_MESH_DFU_METADATA_MAXLEN 0
37#endif
38
39#ifndef CONFIG_BT_MESH_DFU_URI_MAXLEN
40#define CONFIG_BT_MESH_DFU_URI_MAXLEN 0
41#endif
42
43#ifndef CONFIG_BT_MESH_DFU_SLOT_CNT
44#define CONFIG_BT_MESH_DFU_SLOT_CNT 0
45#endif
46
82
83
112
132
141
148 const void *fwid;
149
151 size_t fwid_len;
152
154 const char *uri;
155};
156
170
172
173#ifdef __cplusplus
174}
175#endif
176
177#endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_DFU_H__ */
Header file for the Bluetooth Mesh BLOB Transfer model API.
bt_mesh_dfu_iter
Action for DFU iteration callbacks.
Definition dfu.h:134
#define CONFIG_BT_MESH_DFU_METADATA_MAXLEN
Definition dfu.h:36
bt_mesh_dfu_phase
DFU transfer phase.
Definition dfu.h:48
bt_mesh_dfu_status
DFU status.
Definition dfu.h:85
#define CONFIG_BT_MESH_DFU_FWID_MAXLEN
Definition dfu.h:32
bt_mesh_dfu_effect
Expected effect of a DFU transfer.
Definition dfu.h:114
@ BT_MESH_DFU_ITER_CONTINUE
Continue iterating.
Definition dfu.h:139
@ BT_MESH_DFU_ITER_STOP
Stop iterating.
Definition dfu.h:136
@ BT_MESH_DFU_PHASE_TRANSFER_ACTIVE
The Receive Firmware procedure is being executed.
Definition dfu.h:56
@ BT_MESH_DFU_PHASE_UNKNOWN
Phase of a node was not yet retrieved.
Definition dfu.h:80
@ BT_MESH_DFU_PHASE_VERIFY
The Verify Firmware procedure is being executed.
Definition dfu.h:59
@ BT_MESH_DFU_PHASE_IDLE
Ready to start a Receive Firmware procedure.
Definition dfu.h:50
@ BT_MESH_DFU_PHASE_TRANSFER_ERR
The Transfer BLOB procedure failed.
Definition dfu.h:53
@ BT_MESH_DFU_PHASE_APPLY_FAIL
Firmware applying failed.
Definition dfu.h:77
@ BT_MESH_DFU_PHASE_APPLY_SUCCESS
Firmware applying succeeded.
Definition dfu.h:74
@ BT_MESH_DFU_PHASE_VERIFY_OK
The Verify Firmware procedure completed successfully.
Definition dfu.h:62
@ BT_MESH_DFU_PHASE_APPLYING
The Apply New Firmware procedure is being executed.
Definition dfu.h:68
@ BT_MESH_DFU_PHASE_VERIFY_FAIL
The Verify Firmware procedure failed.
Definition dfu.h:65
@ BT_MESH_DFU_PHASE_TRANSFER_CANCELED
Firmware transfer has been canceled.
Definition dfu.h:71
@ BT_MESH_DFU_ERR_WRONG_PHASE
The operation cannot be performed while the Server is in the current phase.
Definition dfu.h:95
@ BT_MESH_DFU_ERR_FW_IDX
The message contains a firmware index value that is not expected.
Definition dfu.h:101
@ BT_MESH_DFU_ERR_INTERNAL
An internal error occurred on the node.
Definition dfu.h:98
@ BT_MESH_DFU_ERR_TEMPORARILY_UNAVAILABLE
The Server cannot start a firmware update.
Definition dfu.h:107
@ BT_MESH_DFU_ERR_METADATA
The metadata check failed.
Definition dfu.h:104
@ BT_MESH_DFU_ERR_RESOURCES
Insufficient resources on the node.
Definition dfu.h:90
@ BT_MESH_DFU_ERR_BLOB_XFER_BUSY
Another BLOB transfer is in progress.
Definition dfu.h:110
@ BT_MESH_DFU_SUCCESS
The message was processed successfully.
Definition dfu.h:87
@ BT_MESH_DFU_EFFECT_COMP_CHANGE
Node Composition Data changed, and remote provisioning is supported.
Definition dfu.h:127
@ BT_MESH_DFU_EFFECT_UNPROV
Node will be unprovisioned after the update.
Definition dfu.h:130
@ BT_MESH_DFU_EFFECT_COMP_CHANGE_NO_RPR
Node Composition Data changed and the node does not support remote provisioning.
Definition dfu.h:121
@ BT_MESH_DFU_EFFECT_NONE
No changes to node Composition Data.
Definition dfu.h:116
Public kernel APIs.
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
DFU image instance.
Definition dfu.h:146
const char * uri
Update URI, or NULL.
Definition dfu.h:154
size_t fwid_len
Length of the firmware ID.
Definition dfu.h:151
const void * fwid
Firmware ID.
Definition dfu.h:148
DFU image slot for DFU distribution.
Definition dfu.h:158
size_t size
Size of the firmware in bytes.
Definition dfu.h:160
size_t fwid_len
Length of the firmware ID.
Definition dfu.h:162
uint8_t fwid[0]
Firmware ID.
Definition dfu.h:166
uint8_t metadata[0]
Metadata.
Definition dfu.h:168
size_t metadata_len
Length of the metadata.
Definition dfu.h:164