12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #include "hal_dfu.h"
- #include "system.h"
- #include "ble_dfu.h"
- #include "nrf_dfu_ble_svci_bond_sharing.h"
- #include "nrf_svci_async_function.h"
- #include "nrf_svci_async_handler.h"
- #if BLE_DFU_ENANBLE
- static void ble_dfu_evt_handler(ble_dfu_buttonless_evt_type_t event)
- {
- switch (event)
- {
- case BLE_DFU_EVT_BOOTLOADER_ENTER_PREPARE:
- {
- #if DEBUG_DFU_EN
- DEBUG_LOG("Device is preparing to enter bootloader mode.\n");
- #endif
- break;
- }
- case BLE_DFU_EVT_BOOTLOADER_ENTER:
- #if DEBUG_DFU_EN
- DEBUG_LOG("Device will enter bootloader mode.\n");
- #endif
- break;
- case BLE_DFU_EVT_BOOTLOADER_ENTER_FAILED:
- #if DEBUG_DFU_EN
- DEBUG_LOG("Request to enter bootloader mode failed asynchroneously.\n");
- #endif
- break;
- case BLE_DFU_EVT_RESPONSE_SEND_ERROR:
- #if DEBUG_DFU_EN
- DEBUG_LOG("Request to send a response to client failed.\n");
- #endif
- APP_ERROR_CHECK(false);
- break;
- default:
- #if DEBUG_DFU_EN
- DEBUG_LOG("Unknown event from ble_dfu_buttonless.\n");
- #endif
- break;
- }
- }
- void hal_dfu_init(void){
- ret_code_t err_code;
- err_code = ble_dfu_buttonless_async_svci_init();
- APP_ERROR_CHECK(err_code);
- }
-
- void hal_dfu_server_init(void){
- ret_code_t err_code;
- ble_dfu_buttonless_init_t dfus_init = {0}; //DFU
- dfus_init.evt_handler = ble_dfu_evt_handler;
- err_code = ble_dfu_buttonless_init(&dfus_init);
- APP_ERROR_CHECK(err_code);
-
- bsp_ble_dfu_process_Initialize();
- }
- #endif
|