nRF5 SDK for Mesh v5.0.0
Data Structures | Enumerations
Types

DFU type definitions. More...

Data Structures

struct  nrf_mesh_bootloader_id_t
 Bootloader ID structure. More...
 
struct  nrf_mesh_app_id_t
 Application ID structure. More...
 
union  nrf_mesh_fwid_t
 ID of a standalone firmware segment. More...
 
struct  nrf_mesh_dfu_transfer_t
 DFU transfer information structure. More...
 
struct  nrf_mesh_dfu_bank_info_t
 DFU Bank info structure. More...
 
struct  nrf_mesh_dfu_transfer_state_t
 Current state of a transfer. More...
 

Enumerations

enum  nrf_mesh_dfu_source_authority_t { NRF_MESH_DFU_SOURCE_AUTHORITY_WEAK_NODE = NRF_MESH_DFU_AUTH_LEVEL_MIN, NRF_MESH_DFU_SOURCE_AUTHORITY_STRONG_NODE = 4, NRF_MESH_DFU_SOURCE_AUTHORITY_GATEWAY = NRF_MESH_DFU_AUTH_LEVEL_MAX }
 Guiding authority values for sourcing a transfer. More...
 
enum  nrf_mesh_dfu_type_t {
  NRF_MESH_DFU_TYPE_INVALID = 0, NRF_MESH_DFU_TYPE_SOFTDEVICE = (1 << 0), NRF_MESH_DFU_TYPE_BOOTLOADER = (1 << 1), NRF_MESH_DFU_TYPE_APPLICATION = (1 << 2),
  NRF_MESH_DFU_TYPE_BL_INFO = (1 << 3), NRF_MESH_DFU_TYPE__LAST = NRF_MESH_DFU_TYPE_BL_INFO
}
 DFU transfer types. More...
 
enum  nrf_mesh_dfu_state_t {
  NRF_MESH_DFU_STATE_UNINITIALIZED, NRF_MESH_DFU_STATE_INITIALIZED, NRF_MESH_DFU_STATE_FIND_FWID, NRF_MESH_DFU_STATE_DFU_REQ,
  NRF_MESH_DFU_STATE_READY, NRF_MESH_DFU_STATE_TARGET, NRF_MESH_DFU_STATE_VALIDATE, NRF_MESH_DFU_STATE_STABILIZE,
  NRF_MESH_DFU_STATE_RELAY_CANDIDATE, NRF_MESH_DFU_STATE_RELAY, NRF_MESH_DFU_STATE__LAST = NRF_MESH_DFU_STATE_RELAY
}
 States of the DFU module. More...
 
enum  nrf_mesh_dfu_end_t {
  NRF_MESH_DFU_END_SUCCESS, NRF_MESH_DFU_END_FWID_VALID, NRF_MESH_DFU_END_APP_ABORT, NRF_MESH_DFU_END_ERROR_PACKET_LOSS,
  NRF_MESH_DFU_END_ERROR_UNAUTHORIZED, NRF_MESH_DFU_END_ERROR_NO_START, NRF_MESH_DFU_END_ERROR_TIMEOUT, NRF_MESH_DFU_END_ERROR_NO_MEM,
  NRF_MESH_DFU_END_ERROR_INVALID_PERSISTENT_STORAGE, NRF_MESH_DFU_END_ERROR_SEGMENT_VIOLATION, NRF_MESH_DFU_END_ERROR_MBR_CALL_FAILED, NRF_MESH_DFU_END_ERROR_INVALID_TRANSFER,
  NRF_MESH_DFU_END_ERROR_BANK_IN_BOOTLOADER_AREA, NRF_MESH_DFU_END_ERROR_BANK_AND_DESTINATION_OVERLAP, NRF_MESH_DFU_END_ERROR__LAST = NRF_MESH_DFU_END_ERROR_BANK_IN_BOOTLOADER_AREA
}
 Reasons for a DFU operation to end. More...
 
enum  nrf_mesh_dfu_role_t {
  NRF_MESH_DFU_ROLE_NONE, NRF_MESH_DFU_ROLE_TARGET, NRF_MESH_DFU_ROLE_RELAY, NRF_MESH_DFU_ROLE_SOURCE,
  NRF_MESH_DFU_ROLE__LAST = NRF_MESH_DFU_ROLE_SOURCE
}
 The various roles a device can play in a dfu transfer. More...
 

Detailed Description

DFU type definitions.

Enumeration Type Documentation

◆ nrf_mesh_dfu_source_authority_t

Guiding authority values for sourcing a transfer.

When picking a device to source a DFU, the target node prioritizes based on a priority parameter presented by each potential source. The source candidate presenting the highest authority gets to source the transfer.

Enumerator
NRF_MESH_DFU_SOURCE_AUTHORITY_WEAK_NODE 

Lowest authority level, for nodes that should only be chosen if no other option is available.

NRF_MESH_DFU_SOURCE_AUTHORITY_STRONG_NODE 

Authority level for nodes which are participating in the network, and have plenty of capacity to spare.

NRF_MESH_DFU_SOURCE_AUTHORITY_GATEWAY 

Authority level for gateway-type nodes, which are able to provide the DFU directly from the external source.

Definition at line 79 of file nrf_mesh_dfu.h.

◆ nrf_mesh_dfu_type_t

DFU transfer types.

Enumerator
NRF_MESH_DFU_TYPE_INVALID 

Invalid transfer type.

NRF_MESH_DFU_TYPE_SOFTDEVICE 

Softdevice transfer.

NRF_MESH_DFU_TYPE_BOOTLOADER 

Bootloader transfer.

NRF_MESH_DFU_TYPE_APPLICATION 

Application transfer.

NRF_MESH_DFU_TYPE_BL_INFO 

Bootloader info transfer.

Definition at line 102 of file nrf_mesh_dfu_types.h.

◆ nrf_mesh_dfu_state_t

States of the DFU module.

Enumerator
NRF_MESH_DFU_STATE_UNINITIALIZED 

The DFU module has not been initialized.

NRF_MESH_DFU_STATE_INITIALIZED 

The DFU module has been initialized, but not started.

NRF_MESH_DFU_STATE_FIND_FWID 

There's no DFU operation in progress.

NRF_MESH_DFU_STATE_DFU_REQ 

Beaconing requests for transfers.

NRF_MESH_DFU_STATE_READY 

Ready to receive a transfer.

NRF_MESH_DFU_STATE_TARGET 

Receiving a transfer.

NRF_MESH_DFU_STATE_VALIDATE 

Validating and finishing up a transfer.

NRF_MESH_DFU_STATE_STABILIZE 

Waiting for metadata about validated transfer to be written.

NRF_MESH_DFU_STATE_RELAY_CANDIDATE 

Beaconing intent to relay a transfer.

NRF_MESH_DFU_STATE_RELAY 

Passively relaying a transfer.

Definition at line 120 of file nrf_mesh_dfu_types.h.

◆ nrf_mesh_dfu_end_t

Reasons for a DFU operation to end.

Enumerator
NRF_MESH_DFU_END_SUCCESS 

The transfer ended successfully.

NRF_MESH_DFU_END_FWID_VALID 

The FWID was valid, and the bootloader stopped operation.

NRF_MESH_DFU_END_APP_ABORT 

The application requested to abort the transfer.

NRF_MESH_DFU_END_ERROR_PACKET_LOSS 

Too many packets were lost in the transfer.

NRF_MESH_DFU_END_ERROR_UNAUTHORIZED 

The signature check failed.

NRF_MESH_DFU_END_ERROR_NO_START 

Failed to receive the start packet.

NRF_MESH_DFU_END_ERROR_TIMEOUT 

Timed out waiting for packets.

NRF_MESH_DFU_END_ERROR_NO_MEM 

Not enough memory to handle transfer.

NRF_MESH_DFU_END_ERROR_INVALID_PERSISTENT_STORAGE 

Device page contained invalid or corrupted data.

NRF_MESH_DFU_END_ERROR_SEGMENT_VIOLATION 

The transfer fell outside its designated flash section.

NRF_MESH_DFU_END_ERROR_MBR_CALL_FAILED 

A call to the MBR failed.

NRF_MESH_DFU_END_ERROR_INVALID_TRANSFER 

The transfer does not meet its requirements.

NRF_MESH_DFU_END_ERROR_BANK_IN_BOOTLOADER_AREA 

The given bank address results in bootloader invalidation.

NRF_MESH_DFU_END_ERROR_BANK_AND_DESTINATION_OVERLAP 

When copying the finished bank to its intended destination, it will have to overwrite itself.

Definition at line 138 of file nrf_mesh_dfu_types.h.

◆ nrf_mesh_dfu_role_t

The various roles a device can play in a dfu transfer.

Enumerator
NRF_MESH_DFU_ROLE_NONE 

No role.

NRF_MESH_DFU_ROLE_TARGET 

The target role.

A receiver of a transfer.

NRF_MESH_DFU_ROLE_RELAY 

The relay role.

A passive forwarding role.

NRF_MESH_DFU_ROLE_SOURCE 

The source role.

The originator of a transfer.

Definition at line 160 of file nrf_mesh_dfu_types.h.


Documentation feedback | Developer Zone | Subscribe | Updated