Smart Remote 3 nRF52 v1.2
Data Structures | Enumerations | Functions
Request handling

Data Structures

struct  nrf_dfu_req_t
 Definition of a DFU request sent from the transport layer. More...
 
struct  nrf_dfu_res_t
 Response used during DFU operations. More...
 

Enumerations

enum  nrf_dfu_obj_type_t { NRF_DFU_OBJ_TYPE_INVALID, NRF_DFU_OBJ_TYPE_COMMAND, NRF_DFU_OBJ_TYPE_DATA }
 DFU object types. More...
 
enum  nrf_dfu_req_op_t {
  NRF_DFU_OBJECT_OP_NONE = 0, NRF_DFU_OBJECT_OP_CREATE = 1, NRF_DFU_OBJECT_OP_WRITE = 2, NRF_DFU_OBJECT_OP_EXECUTE = 3,
  NRF_DFU_OBJECT_OP_CRC = 4, NRF_DFU_OBJECT_OP_SELECT = 6, NRF_DFU_OBJECT_OP_OTHER = 7
}
 DFU request operation codes. More...
 

Functions

ret_code_t nrf_dfu_req_handler_init (void)
 Function for initializing the request handling module. More...
 
ret_code_t nrf_dfu_req_handler_on_req (void const *p_context, nrf_dfu_req_t const *p_req, nrf_dfu_req_callback p_callback)
 Function type for handling a DFU request. More...
 
void nrf_dfu_req_handler_reset_if_dfu_complete (void)
 Function for resetting the device when the DFU process has completed. More...
 

Detailed Description

Enumeration Type Documentation

DFU object types.

Enumerator
NRF_DFU_OBJ_TYPE_INVALID 

Invalid object type.

NRF_DFU_OBJ_TYPE_COMMAND 

Command object packet.

NRF_DFU_OBJ_TYPE_DATA 

Data object.

DFU request operation codes.

The DFU transport layer creates request events of these types. The implementation of nrf_dfu_req_handler_on_req handles requests of these types.

Enumerator
NRF_DFU_OBJECT_OP_NONE 

No operation set.

NRF_DFU_OBJECT_OP_CREATE 

Create operation. The length of the request indicates the required size. When called, the created object is selected.

NRF_DFU_OBJECT_OP_WRITE 

Write operation. When called, offset and CRC of the selected object are reported back.

NRF_DFU_OBJECT_OP_EXECUTE 

Execute operation. When called, the selected object is executed.

NRF_DFU_OBJECT_OP_CRC 

Calculate checksum operation. When called, offset and CRC of the selected object are reported back.

NRF_DFU_OBJECT_OP_SELECT 

Select operation. When called, the object of the given type is selected, and information about the object is reported back.

NRF_DFU_OBJECT_OP_OTHER 

A user-defined DFU request type. The application must define how to interpret the request.

Function Documentation

ret_code_t nrf_dfu_req_handler_init ( void  )

Function for initializing the request handling module.

This function initializes the flash with or without the SoftDevice, depending on the project configuration.

Return values
NRF_SUCCESSIf the operation was successful.
NRF_ERROR_INVALID_STATEIf the fstorage module could not be initiated or the SoftDevice could not set the event handler.
ret_code_t nrf_dfu_req_handler_on_req ( void const *  p_context,
nrf_dfu_req_t const *  p_req,
nrf_dfu_req_callback  p_callback 
)

Function type for handling a DFU request.

Parameters
[in]p_contextContext pointer.
[in]p_reqPointer to the structure holding the DFU request.
p_callbackPointer to function that is called when operation is completed.
Returns
NRF_SUCCESS if the command request was executed successfully. Any other error code indicates that the request could not be handled.
void nrf_dfu_req_handler_reset_if_dfu_complete ( void  )

Function for resetting the device when the DFU process has completed.

Function should be called on data transfer completion. It checks if all DFU transfers are done. If so it will close all transports and trigger a reset.


Documentation feedback | Developer Zone | Subscribe | Updated