/**@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; utils_setup(); softdevice_setup(); ant_state_indicator_init( m_ant_hrm.channel_number, HRM_TX_CHANNEL_TYPE); profile_setup(); 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; utils_setup(); softdevice_setup(); ant_state_indicator_init(m_ant_bpwr.channel_number, BPWR_DISP_CHANNEL_TYPE); profile_setup(); for (;; ) { if (NRF_LOG_PROCESS() == false) { err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } } }