/**@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); } }
void ascc_init(void) { uint32_t err_code; #ifdef BLE_STACK_SUPPORT_REQD // Configure the ble stack and callback ble_stack_init(); // Initialize the ble phone connection cntrldevice_initialize(); #endif err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); // Configure the network key for our chosen netowrk number err_code = sd_ant_network_address_set(ANT_PUBLIC_NETWORK_NUMBER, m_ant_public_network_key); APP_ERROR_CHECK(err_code); // Initialise and start the asc, ascmm, and phone modules ascm_init(&m_asc_parameters); ascmm_init(&m_ascmm_discovery_parameters, &m_ascmm_connection_parameters, DEVICE_NUMBER); phc_init(&m_phone_parameters); ascm_turn_on(); ascmm_turn_on(); phc_turn_on(); }
/* 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); } }
/**@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 setting up the ANT module to be ready for RX broadcast. * * The following commands are issued in this order: * - assign channel * - set channel ID * - open channel */ static void ant_channel_rx_broadcast_setup(void) { uint32_t err_code; // configure ant stack resources err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); // Set Channel Number. err_code = sd_ant_channel_assign(CHANNEL_0, CHANNEL_TYPE_SLAVE_RX_ONLY, ANT_CHANNEL_DEFAULT_NETWORK, CHANNEL_0_ANT_EXT_ASSIGN); APP_ERROR_CHECK(err_code); // Set Channel ID. err_code = sd_ant_channel_id_set(CHANNEL_0, CHANNEL_0_CHAN_ID_DEV_NUM, CHANNEL_0_CHAN_ID_DEV_TYPE, CHANNEL_0_CHAN_ID_TRANS_TYPE); APP_ERROR_CHECK(err_code); // Open channel. err_code = sd_ant_channel_open(CHANNEL_0); APP_ERROR_CHECK(err_code); }
/**@brief Function for application main entry. Does not return. */ int main(void) { // ANT event message buffer. static ANT_MESSAGE ant_message_buffer; // Enable SoftDevice. uint32_t err_code; #if defined(S212) || defined(S332) err_code = sd_softdevice_enable(NRF_CLOCK_LFCLKSRC_XTAL_50_PPM, softdevice_assert_callback, ANT_LICENSE_KEY); #else err_code = sd_softdevice_enable(NRF_CLOCK_LFCLKSRC_XTAL_50_PPM, softdevice_assert_callback); #endif APP_ERROR_CHECK(err_code); // Set application IRQ to lowest priority. err_code = sd_nvic_SetPriority(SD_EVT_IRQn, NRF_APP_PRIORITY_LOW); APP_ERROR_CHECK(err_code); // Enable application IRQ (triggered from protocol). err_code = sd_nvic_EnableIRQ(SD_EVT_IRQn); APP_ERROR_CHECK(err_code); // Configure ant stack regards used channels. err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); // Setup channel ant_channel_tx_broadcast_setup(); uint8_t event; uint8_t ant_channel; // Main loop. for (;;) { // Put CPU in sleep if possible. err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); // Extract and process all pending ANT events as long as there are any left. do { // Fetch the event. err_code = sd_ant_event_get(&ant_channel, &event, ant_message_buffer.aucMessage); if (err_code == NRF_SUCCESS) { // Handle event channel_event_handle(event, &ant_message_buffer); } } while (err_code == NRF_SUCCESS); } }
/**@brief Function for application main entry, does not return. * * @details The main function will do all necessary initalization. This includes sdm rx module * and SoftDevice. */ int main(void) { uint32_t err_code; #if defined(TRACE_UART) app_uart_comm_params_t comm_params = { RX_PIN_NUMBER, TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, APP_UART_FLOW_CONTROL_DISABLED, false, UART_BAUDRATE_BAUDRATE_Baud38400 }; APP_UART_FIFO_INIT(&comm_params, UART_RX_BUF_SIZE, UART_TX_BUF_SIZE, uart_error_handle, APP_IRQ_PRIORITY_LOW, err_code); APP_ERROR_CHECK(err_code); #endif // TRACE_UART #if defined(TRACE_GPIO) // Initialize timer module. APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_MAX_TIMERS, APP_TIMER_OP_QUEUE_SIZE, false); err_code = bsp_init(BSP_INIT_LED, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), NULL); APP_ERROR_CHECK(err_code); #endif // TRACE_GPIO // In case of logging enabled, we enable sdm_rx module first. err_code = sdm_rx_init(); APP_ERROR_CHECK(err_code); // Enable SoftDevice. err_code = sd_softdevice_enable(NRF_CLOCK_LFCLKSRC_XTAL_50_PPM, softdevice_assert_callback); APP_ERROR_CHECK(err_code); // Set application IRQ to lowest priority. err_code = sd_nvic_SetPriority(SD_EVT_IRQn, NRF_APP_PRIORITY_LOW); APP_ERROR_CHECK(err_code); // Enable application IRQ (triggered from protocol). err_code = sd_nvic_EnableIRQ(SD_EVT_IRQn); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); // Setup Channel_0 as a SDM RX. ant_channel_sdm_rx_setup(); sdm_main_loop(); }
/**@brief Function for ANT stack initialization. * * @details Initializes the SoftDevice and the ANT event interrupt. */ static void softdevice_setup(void) { ret_code_t err_code; nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC; 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); }
/**@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, NULL, 0, NULL); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); // set ant resource 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_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 configuring and setting up the SoftDevice. */ static __INLINE void softdevice_setup(void) { printf("+softdevice_setup\n"); uint32_t err_code = sd_softdevice_enable(NRF_CLOCK_LFCLKSRC_XTAL_50_PPM, softdevice_assert_callback); APP_ERROR_CHECK(err_code); // Configure application-specific interrupts. Set application IRQ to lowest priority and enable // application IRQ (triggered from ANT protocol stack). err_code = sd_nvic_SetPriority(SD_EVT_IRQn, NRF_APP_PRIORITY_LOW); APP_ERROR_CHECK(err_code); err_code = sd_nvic_EnableIRQ(SD_EVT_IRQn); 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; 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 Function for configuring and setting up the SoftDevice. */ static __INLINE void softdevice_setup(void) { printf("softdevice_setup\n"); nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC; uint32_t err_code = sd_softdevice_enable(&clock_lf_cfg, softdevice_assert_callback, ANT_LICENSE_KEY); APP_ERROR_CHECK(err_code); // Configure application-specific interrupts. Set application IRQ to lowest priority and enable // application IRQ (triggered from ANT protocol stack). err_code = sd_nvic_SetPriority(SD_EVT_IRQn, APP_IRQ_PRIORITY_LOW); APP_ERROR_CHECK(err_code); err_code = sd_nvic_EnableIRQ(SD_EVT_IRQn); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); }
/**@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); }
/**@brief Function for configuring and setting up the SoftDevice. */ static __INLINE void softdevice_setup(void) { printf("softdevice_setup\n"); #if defined(S212) || defined(S332) uint32_t err_code = sd_softdevice_enable(NRF_CLOCK_LFCLKSRC, softdevice_assert_callback, ANT_LICENSE_KEY); #else uint32_t err_code = sd_softdevice_enable(NRF_CLOCK_LFCLKSRC, softdevice_assert_callback); #endif APP_ERROR_CHECK(err_code); // Configure application-specific interrupts. Set application IRQ to lowest priority and enable // application IRQ (triggered from ANT protocol stack). err_code = sd_nvic_SetPriority(SD_EVT_IRQn, NRF_APP_PRIORITY_LOW); APP_ERROR_CHECK(err_code); err_code = sd_nvic_EnableIRQ(SD_EVT_IRQn); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); }
/**@brief Function for application main entry. Does not return. */ int main(void) { // ANT event message buffer. static ant_evt_t ant_event; // Configure LEDs as outputs. nrf_gpio_range_cfg_output(BSP_LED_0, BSP_LED_1); // Set LED_0 and LED_1 high to indicate that the application is running. LEDS_ON(BSP_LED_0_MASK); LEDS_ON(BSP_LED_1_MASK); // Enable SoftDevice. uint32_t err_code; err_code = sd_softdevice_enable(NRF_CLOCK_LFCLKSRC_XTAL_50_PPM, softdevice_assert_callback); APP_ERROR_CHECK(err_code); // Set application IRQ to lowest priority. err_code = sd_nvic_SetPriority(SD_EVT_IRQn, NRF_APP_PRIORITY_LOW); APP_ERROR_CHECK(err_code); // Enable application IRQ (triggered from protocol). err_code = sd_nvic_EnableIRQ(SD_EVT_IRQn); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); // Setup Channel_0 as a TX Master Only. ant_channel_setup(); // Set LED_0 and LED_1 low to indicate that stack is enabled. LEDS_OFF(BSP_LED_0_MASK); LEDS_OFF(BSP_LED_1_MASK); button_init(); // Main loop. for (;;) { // Put CPU in sleep if possible. err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); // Extract and process all pending ANT events as long as there are any left. do { // Fetch the event. err_code = sd_ant_event_get(&ant_event.channel, &ant_event.event, ant_event.evt_buffer); if (err_code == NRF_SUCCESS) { switch(ant_event.channel) { case ANT_RELAY_MASTER_CHANNEL: { ant_process_relay_master(&ant_event); break; } case ANT_RELAY_SLAVE_CHANNEL: { ant_process_relay_slave(&ant_event); break; } case ANT_MOBILE_CHANNEL: { ant_process_mobile(&ant_event); break; } default: { break; } } } } while (err_code == NRF_SUCCESS); } }
#if defined(S212) || defined(S332) err_code = sd_softdevice_enable(NRF_CLOCK_LFCLKSRC, softdevice_assert_callback, ANT_LICENSE_KEY); #else err_code = sd_softdevice_enable(NRF_CLOCK_LFCLKSRC, softdevice_assert_callback); #endif APP_ERROR_CHECK(err_code); // Set application IRQ to lowest priority. err_code = sd_nvic_SetPriority(SD_EVT_IRQn, NRF_APP_PRIORITY_LOW); APP_ERROR_CHECK(err_code); // Enable application IRQ (triggered from protocol). err_code = sd_nvic_EnableIRQ(SD_EVT_IRQn); APP_ERROR_CHECK(err_code); err_code = ant_stack_static_config(); APP_ERROR_CHECK(err_code); // Setup Channel_0 as a TX Master Only. ant_channel_setup(); // Set LED_0 and LED_1 low to indicate that stack is enabled. LEDS_OFF(BSP_LED_0_MASK); LEDS_OFF(BSP_LED_1_MASK); button_init(); // Main loop. for (;;) { // Put CPU in sleep if possible.