/* Main function */ int main(void) { uint32_t err_code; nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC; utils_setup(); // Setup SoftDevice and events handler err_code = softdevice_ant_evt_handler_set(continuous_scan_event_handler); APP_ERROR_CHECK(err_code); err_code = softdevice_handler_init(&clock_lf_cfg, NULL, 0, NULL); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); continuous_scan_init(); err_code = app_timer_create(&m_scan_timer_id, APP_TIMER_MODE_SINGLE_SHOT, scan_timeout_event); APP_ERROR_CHECK(err_code); // Enter main loop for (;;) { err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } }
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; }
/**@brief Function for application main entry. Does not return. */ int main(void) { uint32_t err_code; nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC; // Setup buttons and timer utils_setup(); LEDS_CONFIGURE(LEDS_MASK); // Setup SoftDevice and events handler err_code = softdevice_ant_evt_handler_set(ant_async_tx_event_handler); APP_ERROR_CHECK(err_code); err_code = softdevice_handler_init(&clock_lf_cfg, NULL, 0, NULL); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); // Setup async tx channel ant_async_tx_setup(APP_TIMER_PRESCALER); // Enter main loop for (;;) { err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } }
/**@brief Function for application main entry. Does not return. */ int main(void) { uint32_t err_code; nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC; utils_setup(); // Enable SoftDevice. err_code = softdevice_ant_evt_handler_set(ant_evt_dispatch); APP_ERROR_CHECK(err_code); err_code = softdevice_handler_init(&clock_lf_cfg, NULL, 0, NULL); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); // Setup and open Channel_0 as a Bidirectional Master. app_channel_setup(); #ifdef INCLUDE_DEBUG_CHANNEL // Setup and open Debug Channel ad_init(); ad_register_custom_command_callback(app_custom_debug_command_handler); #endif // Enter main loop for (;;) { err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } }
/**@brief Function for ANT stack initialization. * * @details Initializes the SoftDevice and the ANT+BLE event interrupt. */ static void softdevice_and_stack_setup(void) { uint32_t err_code; SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, NULL); ant_state_indicator_init(m_ant_sdm.channel_number, SDM_SENS_CHANNEL_TYPE); // Initialize BLE stack ble_enable_params_t ble_enable_params; memset(&ble_enable_params, 0, sizeof(ble_enable_params)); ble_enable_params.gatts_enable_params.service_changed = IS_SRVC_CHANGED_CHARACT_PRESENT; err_code = sd_ble_enable(&ble_enable_params); APP_ERROR_CHECK(err_code); // Subscribe for BLE events. err_code = softdevice_ble_evt_handler_set(ble_evt_dispatch); APP_ERROR_CHECK(err_code); // Subscribe for ANT events. err_code = softdevice_ant_evt_handler_set(ant_evt_dispatch); APP_ERROR_CHECK(err_code); #ifdef BONDING_ENABLE // Register with the SoftDevice handler module for BLE events. err_code = softdevice_sys_evt_handler_set(sys_evt_dispatch); APP_ERROR_CHECK(err_code); #endif // BONDING_ENABLE err_code = ant_plus_key_set(ANTPLUS_NETWORK_NUMBER); APP_ERROR_CHECK(err_code); }
/**@brief Function for application main entry. Does not return. */ int main(void) { uint32_t err_code; nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC; utils_setup(); // Setup SoftDevice and events handler err_code = softdevice_ant_evt_handler_set(ant_io_tx_event_handler); APP_ERROR_CHECK(err_code); err_code = softdevice_handler_init(&clock_lf_cfg, NULL, 0, NULL); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); // Setup and start ANT channel ant_io_tx_setup(); // Enter main loop. for (;;) { err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } }
/**@brief Function for ANT stack initialization. * * @details Initializes the SoftDevice and the ANT event interrupt. */ static void softdevice_setup(void) { uint32_t err_code; err_code = softdevice_ant_evt_handler_set(ant_evt_dispatch); APP_ERROR_CHECK(err_code); err_code = softdevice_handler_init(NRF_CLOCK_LFCLKSRC, NULL, 0, NULL); APP_ERROR_CHECK(err_code); err_code = ant_plus_key_set(ANTPLUS_NETWORK_NUMBER); APP_ERROR_CHECK(err_code); }
/**@brief Function for ANT stack initialization. * * @details Initializes the SoftDevice and the ANT event interrupt. */ static void softdevice_setup(void) { uint32_t err_code; err_code = softdevice_ant_evt_handler_set(ant_evt_dispatch); APP_ERROR_CHECK(err_code); err_code = softdevice_handler_init(NRF_CLOCK_LFCLKSRC, NULL, 0, NULL); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); }
/** * @brief Function for ANT stack initialization. * * @details Initializes the SoftDevice and the ANT event interrupt. */ static void softdevice_setup(void) { uint32_t err_code; err_code = softdevice_ant_evt_handler_set(ant_evt_dispatch); APP_ERROR_CHECK(err_code); err_code = softdevice_handler_init(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, NULL, 0, NULL); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); // set ant resource APP_ERROR_CHECK(err_code); err_code = sd_ant_network_address_set(ANTPLUS_NETWORK_NUMBER, m_network_key); APP_ERROR_CHECK(err_code); }
/**@brief Function for ANT stack initialization. * * @details Initializes the SoftDevice and the ANT event interrupt. */ static void softdevice_setup(void) { uint32_t err_code; nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC; err_code = softdevice_ant_evt_handler_set(ant_evt_dispatch); APP_ERROR_CHECK(err_code); err_code = softdevice_handler_init(&clock_lf_cfg, NULL, 0, NULL); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); err_code = ant_plus_key_set(ANTPLUS_NETWORK_NUMBER); APP_ERROR_CHECK(err_code); }
/**@brief BLE + ANT stack initialization. * * @details Initializes the SoftDevice and the stack event interrupt. */ static void ble_ant_stack_init(void) { // Initialize SoftDevice SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, false); // Subscribe for BLE events. uint32_t err_code = softdevice_ble_evt_handler_set(ble_evt_dispatch); APP_ERROR_CHECK(err_code); // Subscribe for ANT events. err_code = softdevice_ant_evt_handler_set(on_ant_evt); APP_ERROR_CHECK(err_code); #ifdef BONDING_ENABLE // Register with the SoftDevice handler module for BLE events. err_code = softdevice_sys_evt_handler_set(sys_evt_dispatch); APP_ERROR_CHECK(err_code); #endif // BONDING_ENABLE }
/**@brief Function for initializing the BLE stack. * * @details Initializes the SoftDevice and the BLE event interrupt. */ static void ble_stack_init(void) { uint32_t err_code; // Initialize the SoftDevice handler module. SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, NULL); // Enable BLE stack. ble_enable_params_t ble_enable_params; memset(&ble_enable_params, 0, sizeof(ble_enable_params)); #ifdef S130 ble_enable_params.gatts_enable_params.attr_tab_size = BLE_GATTS_ATTR_TAB_SIZE_DEFAULT; #endif err_code = sd_ble_enable(&ble_enable_params); APP_ERROR_CHECK(err_code); // Register with the SoftDevice handler module for BLE events. err_code = softdevice_ble_evt_handler_set(ble_evt_dispatch); APP_ERROR_CHECK(err_code); // Register with the SoftDevice handler module for System events. err_code = softdevice_sys_evt_handler_set(sys_evt_dispatch); APP_ERROR_CHECK(err_code); err_code = softdevice_ant_evt_handler_set(ant_evt_dispatch); APP_ERROR_CHECK(err_code); // TODO check this err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); err_code = sd_ant_network_address_set(ANTPLUS_NETWORK_NUMBER, m_network_key); APP_ERROR_CHECK(err_code); }