uint32_t dfu_transport_update_start(void) { uint32_t err_code; m_antfs_dfu_state = ANTFS_DFU_STATE_RESET; err_code = softdevice_ant_evt_handler_set(ant_evt_dispatch); if (err_code != NRF_SUCCESS) { return err_code; } // DFU flash activity call back. dfu_register_callback(dfu_cb_handler); // initialize mem_pools m_mem_pool_1.size = 0; m_mem_pool_2.size = 0; // It is expected that there was no ANTFS related activities before this point. // Check if flash is busy pre-initializing. // If Flash is still initializing wait until it is done. if (flash_busy()) { // Postpone services init and ANTFS init until flash is done. m_antfs_dfu_state = ANTFS_DFU_STATE_INIT_DELAYED; return NRF_SUCCESS; } // Start services right away if flash not busy services_init(); return NRF_SUCCESS; }
uint32_t dfu_transport_update_start() { uint32_t err_code; m_pkt_type = PKT_TYPE_INVALID; leds_init(); err_code = softdevice_ble_evt_handler_set(ble_evt_dispatch); if (err_code != NRF_SUCCESS) { return err_code; } dfu_register_callback(dfu_cb_handler); err_code = hci_mem_pool_open(); if (err_code != NRF_SUCCESS) { return err_code; } gap_params_init(); services_init(); advertising_init(); conn_params_init(); sec_params_init(); advertising_start(); return NRF_SUCCESS; }
uint32_t dfu_transport_update_start(void) { uint32_t err_code; // Initialize data buffer queue. data_queue_init(); dfu_register_callback(dfu_cb_handler); // Open transport layer. err_code = hci_transport_open(); APP_ERROR_CHECK(err_code); // Register callback to be run when commands have been received by the transport layer. err_code = hci_transport_evt_handler_reg(rpc_transport_event_handler); APP_ERROR_CHECK(err_code); return NRF_SUCCESS; }