softdevice 6.0.0
SDK15.0.0
How do I use ble_app_hrs sample code add buttonless_dfu function?
I flow the steps, but I am fail.
1.
In ble_app_hrs project...
add nRF_DFU folder
<sdk>\components\ble\ble_services\ble_dfu\ble_dfu.c
<sdk>\components\ble\ble_services\ble_dfu\ble_dfu_bonded.c
<sdk>\components\ble\ble_services\ble_dfu\ble_dfu_unbonded.c
<sdk>\components\libraries\bootloader\dfu\nrf_dfu_svci.c
2.
User Include Directories...
..\..\..\..\..\..\components\libraries\bootloader
..\..\..\..\..\..\components\libraries\bootloader\ble_dfu
..\..\..\..\..\..\components\libraries\bootloader\dfu
..\..\..\..\..\..\components\libraries\svc
3.
sdk_config.h...
BLE_DFU_ENABLED 1
NRF_SDH_BLE_VS_UUID_COUNT 1
4.
main.c include file
#include “nrf_dfu_ble_svci_bond_sharing.h”
#include “nrf_svci_async_function.h”
#include “nrf_svci_async_handler.h”
#include “ble_dfu.h”
#include “nrf_power.h”
#include “nrf_bootloader_info.h”
and source code
static bool app_shutdown_handler(nrf_pwr_mgmt_evt_t event){};
NRF_PWR_MGMT_HANDLER_REGISTER(app_shutdown_handler, 0);
static void buttonless_dfu_sdh_state_observer(nrf_sdh_state_evt_t state, void * p_context){};
NRF_SDH_STATE_OBSERVER(m_buttonless_dfu_state_obs, 0) = {};
static void ble_dfu_evt_handler(ble_dfu_buttonless_evt_type_t event){};
5.
main.c/services_init
ble_dfu_buttonless_init_t dfus_init = {0};
// Initialize the async SVCI interface to bootloader.
err_code = ble_dfu_buttonless_async_svci_init();
APP_ERROR_CHECK(err_code);
dfus_init.evt_handler = ble_dfu_evt_handler;
err_code = ble_dfu_buttonless_init(&dfus_init);
APP_ERROR_CHECK(err_code);