This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

create ble_dfu_c - triggering enter bootloader doesn't work

Hello everybody,

i currently develop two devices, one master and one slave (sensor). Both devices have the dfu service completly working.

My problem is that the master should trigger the slave to enter bootloader so that the app could load the new firmware.

So i wrote the ble_dfu_c component to enable indication and enter bootloader.

The slave is responding with 0x20 0x01 0x01, which is the same response doing it over the nrf connect app (over the nrf connect app everything is working).

Is there something i forgot?

NRF52832

SDK: 15.2.0 - S132

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
* Device Firmware Update Service Client
*/
#include "sdk_common.h"
#if NRF_MODULE_ENABLED(BLE_DFU_C)
#include "ble_dfu_c.h"
#include <string.h>
#define NRF_LOG_MODULE_NAME ble_dfu_c
#include "nrf_log.h"
NRF_LOG_MODULE_REGISTER();
#define MAX_CTRL_POINT_RESP_PARAM_LEN 3 /**< Max length of the responses. */
#define BLE_DFU_SERVICE_UUID 0xFE59 /**< The 16-bit UUID of the Secure DFU Service. */
/**@brief Function that is called if no event handler is provided.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ble_dfu_c.h