nRF51 SDK - S110 SoftDevice
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
DFU BLE packet handling in Application

DFU BLE packet handling for application. More...

Typedefs

typedef void(* dfu_app_reset_prepare_t )(void)
 DFU Application reset prepare function. This function is a callback which allows the application to prepare for an upcoming application reset.
 

Functions

void dfu_app_on_dfu_evt (ble_dfu_t *p_dfu, ble_dfu_evt_t *p_evt)
 Function for handling of ble_dfu_evt_t from DFU Service. More...
 
void dfu_app_reset_prepare_set (dfu_app_reset_prepare_t reset_prepare_func)
 Function for registering for reset prepare calls. More...
 
void dfu_app_set_dm_handle (dm_handle_t const *p_dm_handle)
 Function for setting Device manager handle for current BLE connection. More...
 

Detailed Description

DFU BLE packet handling for application.

This module implements handling of DFU packets transmitted over BLE for switching from application mode to Bootloader running full DFU service. This module only handles the StartDFU packet allowing for any BLE application to expose support for the DFU service. Actual DFU service will execute in dedicated environment after a BLE disconnect and reset of the nRF51 chip. The host must then reconnect and can continue the update procedure with access to full DFU service.

Note
The application must propagate dfu events to the DFU App handler module by calling dfu_app_on_dfu_evt() from the ble_dfu_evt_handler_t callback.

Function Documentation

void dfu_app_on_dfu_evt ( ble_dfu_t p_dfu,
ble_dfu_evt_t p_evt 
)

Function for handling of ble_dfu_evt_t from DFU Service.

The application must inject this function into the DFU service or propagate DFU events to dfu_app_handler module by calling this function in application specific DFU event handler.

Parameters
[in]p_dfuPointer to the DFU Service structure for which the include event relates.
[in]p_evtPointer to the DFU event.
void dfu_app_reset_prepare_set ( dfu_app_reset_prepare_t  reset_prepare_func)

Function for registering for reset prepare calls.

The function provided will be executed before reseting the system into Bootloader/DFU mode. By setting this function the caller will be notified prior to the reset and can thus prepare the application for reset. As example the application can gracefully disconnect any peers on BLE, turning of LEDS, ensure all pending flash operations has completed, etc.

Parameters
[in]reset_prepare_funcFunction to be execute prior to a reset.
void dfu_app_set_dm_handle ( dm_handle_t const *  p_dm_handle)

Function for setting Device manager handle for current BLE connection.

Parameters
[in]p_dm_handlePointer to device manager handle of current connection.