/** * @brief Function for application main entry. */ int main(void) { uint32_t err_code; //Initialize. app_trace_init(); leds_init(); timers_init(); ble_stack_init(); advertising_init(); ip_stack_init (); udp_port_setup(); //Start execution. advertising_start(); //Enter main loop. for (;;) { //Sleep waiting for an application event. err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } }
uint32_t socket_init(void) { if (!m_initialization_state) { app_trace_init(); memset(m_socket_table, 0, sizeof(m_socket_table)); uint32_t err_code = nrf_mem_init(); APP_ERROR_CHECK(err_code); #if SOCKET_MEDIUM_ENABLE == 1 err_code = socket_medium_init(); #endif APP_ERROR_CHECK(err_code); portdb_init(); #if SOCKET_IPV6_ENABLE == 1 || SOCKET_LWIP_ENABLE == 1 transport_handler_init(); #endif #if SOCKET_MEDIUM_ENABLE == 1 socket_medium_start(); #endif m_initialization_state = true; } return NRF_SUCCESS; }
/**@brief Function for application main entry. */ int main(void) { bool erase_bonds; // Initialize. app_trace_init(); timers_init(); buttons_leds_init(&erase_bonds); ble_stack_init(); adc_configure(); device_manager_init(erase_bonds); gap_params_init(); advertising_init(BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE); services_init(); conn_params_init(); // Start execution. advertising_start(); // Enter main loop. for (;;) { power_manage(); } }
/** * @brief Function for application main entry. */ int main(void) { uint32_t err_code; // Initialize. app_trace_init(); leds_init(); timers_init(); gpiote_init(); err_code = ipv6_transport_init(); APP_ERROR_CHECK(err_code); // Initialize IP Stack. ip_stack_init(); APPL_LOG("\r\n"); APPL_LOG("[APPL]: Init complete.\r\n"); // Start execution. advertising_start(); // Enter main loop. for (;;) { /* Sleep waiting for an application event. */ err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } }
/** * @brief Function for application main entry. */ int main(void) { uint32_t err_code; //Initialize. app_trace_init(); leds_init(); scheduler_init(); timers_init(); iot_timer_init(); button_init(); ble_stack_init(); advertising_init(); ip_stack_init (); //Start execution. advertising_start(); //Enter main loop. for (;;) { //Execute event schedule. app_sched_execute(); //Sleep waiting for an application event. err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } }
/**@brief Function for application main entry. */ int main(void) { uint32_t err_code; bool erase_bonds; #ifdef ENABLE_DEBUG_LOG_SUPPORT app_trace_init(); #endif APPL_LOG("START\r\n"); // Initialize. timers_init(); buttons_leds_init(&erase_bonds); adc_config(); ble_stack_init(); device_manager_init(erase_bonds); gap_params_init(); advertising_init(); services_init(); conn_params_init(); // Start execution. err_code = ble_advertising_start(BLE_ADV_MODE_FAST); APP_ERROR_CHECK(err_code); APPL_LOG("start advertising : %u\n", err_code); // Enter main loop. for (;;) { power_manage(); } }
/**@brief Function for application main entry. */ int main(void) { uint32_t err_code; bool erase_bonds; // Initialize app_trace_init(); timers_init(); uart_init(); printf("CTS Start!\n"); buttons_leds_init(&erase_bonds); ble_stack_init(); device_manager_init(erase_bonds); db_discovery_init(); scheduler_init(); gap_params_init(); advertising_init(); services_init(); conn_params_init(); // Start execution err_code = ble_advertising_start(BLE_ADV_MODE_FAST); APP_ERROR_CHECK(err_code); // Enter main loop for (;;) { app_sched_execute(); power_manage(); } }
/**@brief Function for application main entry. */ int main(void) { // Initialize. app_trace_init(); leds_init(); buttons_init(); timers_init(); ble_stack_init(); device_manager_init(); gap_params_init(); advertising_init(); services_init(); sensor_sim_init(); conn_params_init(); // Start execution. application_timers_start(); advertising_start(); // Enter main loop. for (;;) { power_manage(); } }
/** * @brief Function for setup all thinks not directly associated witch ANT stack/protocol. * @desc Initialization of: @n * - app_tarce for debug. * - app_timer, presetup for bsp and ant pulse simulation. * - bsp for signaling leds and user buttons (if use button is enabled in example). * - ant pulse simulate for task of filling hrm profile data. */ static void utils_setup(void) { uint32_t err_code; app_trace_init(); // Initialize and start a single continuous mode timer, which is used to update the event time // on the main data page. APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE, NULL); #if (MODIFICATION_TYPE == MODIFICATION_TYPE_BUTTON) /** @snippet [ANT Pulse simulator button init] */ err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), bsp_evt_handler); /** @snippet [ANT Pulse simulator button init] */ #else err_code = bsp_init(BSP_INIT_LED, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), NULL); APP_ERROR_CHECK(err_code); #endif err_code = app_timer_create(&m_tick_timer, APP_TIMER_MODE_REPEATED, app_tick_handler); APP_ERROR_CHECK(err_code); // Schedule a timeout event every 2 seconds err_code = app_timer_start(m_tick_timer, APP_TICK_EVENT_INTERVAL, NULL); APP_ERROR_CHECK(err_code); }
/**@brief Function for application main entry. */ int main(void) { uint32_t err_code; // Initialize. app_trace_init(); ble_stack_init(); device_manager_init(); timers_init(); APP_GPIOTE_INIT(APP_GPIOTE_MAX_USERS); err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), NULL); APP_ERROR_CHECK(err_code); gap_params_init(); advertising_init(); services_init(); sensor_simulator_init(); conn_params_init(); // Start execution. application_timers_start(); advertising_start(); // Enter main loop. for (;; ) { power_manage(); } }
/**@brief Function for application main entry. */ int main(void) { bool erase_bonds; uint32_t err_code; // Initialize. app_trace_init(); timers_init(); uart_init(); buttons_leds_init(&erase_bonds); ble_stack_init(); APP_SCHED_INIT(SCHED_MAX_EVENT_DATA_SIZE, SCHED_QUEUE_SIZE); printf("BLE ANCS\n"); device_manager_init(erase_bonds); db_discovery_init(); scheduler_init(); gap_params_init(); service_init(); advertising_init(); conn_params_init(); // Start execution. err_code = ble_advertising_start(BLE_ADV_MODE_FAST); APP_ERROR_CHECK(err_code); // Enter main loop. for (;;) { app_sched_execute(); power_manage(); } }
/**@brief Function for application main entry. */ int main(void) { uint32_t err_code; bool erase_bonds; app_trace_init(); // Initialize. timers_init(); buttons_leds_init(&erase_bonds); ble_stack_init(); device_manager_init(erase_bonds); gap_params_init(); advertising_init(); services_init(); conn_params_init(); // Start execution. application_timers_start(); APPL_LOG("Start Advertising \r\n"); printf("Dhavaltest\r\n"); SEGGER_RTT_WriteString(0, "SEGGER Real-Time-Terminal Sample\r\n"); err_code = ble_advertising_start(BLE_ADV_MODE_FAST); APP_ERROR_CHECK(err_code); // Enter main loop. for (;;) { power_manage(); } }
/**@brief Function for application main entry. */ int main(void) { uint32_t err_code; // Initialize. app_trace_init(); timers_init(); bool erase_bonds; buttons_leds_init(&erase_bonds); device_manager_init(erase_bonds); ble_stack_init(); gap_params_init(); advertising_init(); services_init(); sensor_simulator_init(); conn_params_init(); // Start execution. application_timers_start(); err_code = ble_advertising_start(BLE_ADV_MODE_FAST); APP_ERROR_CHECK(err_code); // Enter main loop. for (;;) { power_manage(); } }
/**@brief Function for application main entry. */ int main(void) { // Initialize app_trace_init(); leds_init(); timers_init(); buttons_init(); ipv6_transport_init(); ip_stack_init(); uint32_t err_code = coap_init(17); APP_ERROR_CHECK(err_code); coap_endpoints_init(); iot_timer_init(); APPL_LOG("\r\n"); APPL_LOG("[APPL]: Init complete.\r\n"); // Start execution advertising_start(); // Enter main loop for (;;) { power_manage(); } }
/**@brief Function for the timer, tracer, and BSP initialization. */ static void utils_setup(bool * p_erase_bonds) { uint32_t err_code; bsp_event_t startup_event; app_trace_init(); APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE, false); //bsp init ant err_code = bsp_init(BSP_INIT_LED, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), NULL); //FROM BLE uint32_t err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS,APP_TIMER_TICKS(100, APP_TIMER_PRESCALER),bsp_event_handler); APP_ERROR_CHECK(err_code); // Create timers for BLE err_code = app_timer_create(&m_battery_timer_id, APP_TIMER_MODE_REPEATED, battery_level_meas_timeout_handler); APP_ERROR_CHECK(err_code); // Create battery timer. err_code = app_timer_create(&m_rsc_meas_timer_id, APP_TIMER_MODE_REPEATED, rsc_meas_timeout_handler); APP_ERROR_CHECK(err_code); err_code = bsp_btn_ble_init(NULL, &startup_event); APP_ERROR_CHECK(err_code); *p_erase_bonds = (startup_event == BSP_EVENT_CLEAR_BONDING_DATA); }
/**@brief Function for initializing the UART. */ static void uart_init(void) { uint32_t err_code; const app_uart_comm_params_t comm_params = { RX_PIN_NUMBER, TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, APP_UART_FLOW_CONTROL_ENABLED, 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); app_trace_init(); }
/**@brief main */ int main(void) { int ret; // 初期化 dev_init(); RCS730_init(); m_rcs730_cbtbl.pUserData = NULL; m_rcs730_cbtbl.pCbRxHTRDone = rcs730cb_read; m_rcs730_cbtbl.pCbRxHTWDone = rcs730cb_write; RCS730_setCallbackTable(&m_rcs730_cbtbl); ret = RCS730_initFTMode(RCS730_OPMODE_PLUG); if (ret != 0) { APP_ERROR_HANDLER(ret); } ST7032I_init(); app_trace_init(); app_trace_log("START\r\n"); // 処理開始 //timers_start(); ble_adv_start(); ST7032I_writeString("(^_^);"); // メインループ while (1) { dev_event_exec(); } }
/**@brief Function for application main entry. */ int main(void) { uint32_t err_code; // Initialize. app_trace_init(); timers_init(); gpiote_init(); err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), button_event_handler); APP_ERROR_CHECK(err_code); ble_stack_init(); adc_configure(); device_manager_init(); gap_params_init(); advertising_init(BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE); services_init(); conn_params_init(); // Start execution. advertising_start(); // Enter main loop. for (;;) { power_manage(); } }
/**@brief Function for application main entry. */ int main(void) { uint32_t err_code; // Initialize app_trace_init(); leds_init(); #ifdef COMMISSIONING_ENABLED err_code = pstorage_init(); APP_ERROR_CHECK(err_code); #endif // COMMISSIONING_ENABLED timers_init(); buttons_init(); static ipv6_medium_init_params_t ipv6_medium_init_params; memset(&ipv6_medium_init_params, 0x00, sizeof(ipv6_medium_init_params)); ipv6_medium_init_params.ipv6_medium_evt_handler = on_ipv6_medium_evt; ipv6_medium_init_params.ipv6_medium_error_handler = on_ipv6_medium_error; ipv6_medium_init_params.use_scheduler = false; #ifdef COMMISSIONING_ENABLED ipv6_medium_init_params.commissioning_id_mode_cb = commissioning_id_mode_cb; ipv6_medium_init_params.commissioning_power_off_cb = commissioning_power_off_cb; #endif // COMMISSIONING_ENABLED err_code = ipv6_medium_init(&ipv6_medium_init_params, \ IPV6_MEDIUM_ID_BLE, \ &m_ipv6_medium); APP_ERROR_CHECK(err_code); eui48_t ipv6_medium_eui48; err_code = ipv6_medium_eui48_get(m_ipv6_medium.ipv6_medium_instance_id, \ &ipv6_medium_eui48); ipv6_medium_eui48.identifier[EUI_48_SIZE - 1] = 0x00; err_code = ipv6_medium_eui48_set(m_ipv6_medium.ipv6_medium_instance_id, \ &ipv6_medium_eui48); APP_ERROR_CHECK(err_code); ip_stack_init(); ip_stack_timer_init(); dns_client_init(); APPL_LOG("\r\n"); APPL_LOG("[APPL]: Init complete.\r\n"); // Start execution connectable_mode_enter(); // Enter main loop for (;;) { power_manage(); } }
/** * @brief Function for application main entry. */ int main(void) { uint32_t err_code; //Initialize. app_trace_init(); leds_init(); timers_init(); iot_timer_init(); #ifdef COMMISSIONING_ENABLED err_code = pstorage_init(); APP_ERROR_CHECK(err_code); buttons_init(); #endif // COMMISSIONING_ENABLED static ipv6_medium_init_params_t ipv6_medium_init_params; memset(&ipv6_medium_init_params, 0x00, sizeof(ipv6_medium_init_params)); ipv6_medium_init_params.ipv6_medium_evt_handler = on_ipv6_medium_evt; ipv6_medium_init_params.ipv6_medium_error_handler = on_ipv6_medium_error; ipv6_medium_init_params.use_scheduler = false; #ifdef COMMISSIONING_ENABLED ipv6_medium_init_params.commissioning_id_mode_cb = commissioning_id_mode_cb; ipv6_medium_init_params.commissioning_power_off_cb = commissioning_power_off_cb; #endif // COMMISSIONING_ENABLED err_code = ipv6_medium_init(&ipv6_medium_init_params, \ IPV6_MEDIUM_ID_BLE, \ &m_ipv6_medium); APP_ERROR_CHECK(err_code); eui48_t ipv6_medium_eui48; err_code = ipv6_medium_eui48_get(m_ipv6_medium.ipv6_medium_instance_id, \ &ipv6_medium_eui48); ipv6_medium_eui48.identifier[EUI_48_SIZE - 1] = 0x00; err_code = ipv6_medium_eui48_set(m_ipv6_medium.ipv6_medium_instance_id, \ &ipv6_medium_eui48); APP_ERROR_CHECK(err_code); ip_stack_init(); udp_port_setup(); //Start execution. connectable_mode_enter(); //Enter main loop. for (;;) { //Sleep waiting for an application event. err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } }
/**@brief Function for application main entry. */ int main(void) { uint32_t err_code; // Initialize. app_trace_init(); timers_init(); APP_GPIOTE_INIT(1); const app_uart_comm_params_t comm_params = { RX_PIN_NUMBER, TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, APP_UART_FLOW_CONTROL_ENABLED, 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); err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), button_event_handler); APP_ERROR_CHECK(err_code); ble_stack_init(); device_manager_init(); gap_params_init(); advertising_init(); services_init(); sensor_simulator_init(); conn_params_init(); // Start execution. application_timers_start(); advertising_start(); // Enter main loop. for (;;) { power_manage(); } }
/** * @brief Function for setup all thinks not directly associated with ANT stack/protocol. * @desc Initialization of: @n * - app_tarce for debug. * - app_timer, pre-setup for bsp. * - bsp for signaling LEDs and user buttons. */ static void utils_setup(void) { uint32_t err_code; app_trace_init(); APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE, false); err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), bsp_evt_handler); APP_ERROR_CHECK(err_code); err_code = bsp_btn_ant_init(); APP_ERROR_CHECK(err_code); }
/** * @brief Function for setup all thinks not directly associated with ANT stack/protocol. * @desc Initialization of: @n * - app_tarce for debug. * - app_timer, pre-setup for bsp. * - bsp for signaling LEDs and user buttons. */ static void utils_setup(void) { uint32_t err_code; app_trace_init(); // Initialize and start a single continuous mode timer, which is used to update the event time // on the main data page. APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE, NULL); err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), bsp_evt_handler); APP_ERROR_CHECK(err_code); }
/**@brief Function for the timer, tracer, and BSP initialization. */ static void utils_setup(void) { uint32_t err_code; app_trace_init(); APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE, false); #if MODIFICATION_TYPE == MODIFICATION_TYPE_AUTO err_code = bsp_init(BSP_INIT_LED, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), NULL); #else err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER), bsp_evt_handler); #endif APP_ERROR_CHECK(err_code); }
int main(void) { // Initialization of various modules. uint32_t err_code; const app_uart_comm_params_t comm_params = { RX_PIN_NUMBER, TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, APP_UART_FLOW_CONTROL_ENABLED, 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); app_trace_init(); APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_MAX_TIMERS, APP_TIMER_OP_QUEUE_SIZE, NULL); APP_GPIOTE_INIT(1); err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, APP_TIMER_TICKS(100, APP_TIMER_PRESCALER),NULL); APP_ERROR_CHECK(err_code); printf("Heart rate collector example\r\n"); ble_stack_init(); device_manager_init(); db_discovery_init(); hrs_c_init(); bas_c_init(); // Start scanning for peripherals and initiate connection // with devices that advertise Heart Rate UUID. scan_start(); for (;; ) { power_manage(); } }
/**@brief Function for application main entry. */ int main(void) { system_HFCLK_init(); // uart init simple_uart_config(RTS_PIN_NUMBER, TX_PIN_NUMBER, CTS_PIN_NUMBER, RX_PIN_NUMBER, 0); xprintf("APP start up..\r\n"); mcu_bootloader_check(); // Initialize. app_trace_init(); leds_init(); buttons_init(); ble_stack_init(); device_manager_init(); timers_init(); gap_params_init(); advertising_init(); services_init(); sensor_sim_init(); conn_params_init(); //I2C and sensor initial system_I2C_init(); OLED_Init(); sensor_init(); enter_pedo_mode(); GPIO_HiToLo_INT_config(BUTTON_2); // Test battery if(!battery_self_detect()) { system_low_battery(); } // Start execution. application_timers_start(); advertising_start(); // Enter main loop. for (;;) { power_manage(); } }
/**@brief Function for application main entry. */ int main(void) { // Initialize app_trace_init(); simple_uart_putstring((const uint8_t*) "trace init\r\n"); leds_init(); simple_uart_putstring((const uint8_t*) "leds init\r\n"); timers_init(); simple_uart_putstring((const uint8_t*) "timers init\r\n"); gpiote_init(); simple_uart_putstring((const uint8_t*) "gpiote init\r\n"); buttons_init(); simple_uart_putstring((const uint8_t*) "buttons init\r\n"); ble_stack_init(); simple_uart_putstring((const uint8_t*) "stack init\r\n"); scheduler_init(); simple_uart_putstring((const uint8_t*) "schedler init\r\n"); gap_params_init(); simple_uart_putstring((const uint8_t*) "gap init\r\n"); advertising_init(); simple_uart_putstring((const uint8_t*) "adv init\r\n"); services_init(); simple_uart_putstring((const uint8_t*) "services init\r\n"); conn_params_init(); simple_uart_putstring((const uint8_t*) "conn init\r\n"); sec_params_init(); simple_uart_putstring((const uint8_t*) "sec init\r\n"); ext_sensors_init(); simple_uart_putstring((const uint8_t*) "ext init\r\n"); // lfclk_config(); // simple_uart_putstring((const uint8_t*) "lfk init\r\n"); // Start execution timers_start(); advertising_start(); simple_uart_putstring((const uint8_t*) "main\r\n"); // Enter main loop for (;;) { app_sched_execute(); power_manage(); } }
/**@brief Function for application main entry. */ int main(void) { // Initialization of various modules. app_trace_init(); LEDS_CONFIGURE(LEDS_MASK); LEDS_OFF(LEDS_MASK); buttons_init(); ble_stack_init(); client_handling_init(); device_manager_init(); // Start scanning for devices. scan_start(); for (;;) { power_manage(); } }
/** * @brief Function for application main entry. */ int main(void) { uint32_t err_code; //Initialize. app_trace_init(); leds_init(); low_feq_clock_start(); timers_init(); const iot_timer_client_t list_of_clients[] = { {iot_timer_client_one_callback, IOT_TIMER_CLIENT_ONE_CB_INTERVAL}, {iot_timer_client_two_callback, IOT_TIMER_CLIENT_TWO_CB_INTERVAL}, {iot_timer_client_three_callback, IOT_TIMER_CLIENT_THREE_CB_INTERVAL}, {iot_timer_client_four_callback, IOT_TIMER_CLIENT_FOUR_CB_INTERVAL}, }; //The list of IoT Timer clients is declared as a constant. const iot_timer_clients_list_t iot_timer_clients = { (sizeof(list_of_clients) / sizeof(iot_timer_client_t)), &(list_of_clients[0]), }; //Passing the list of clients to the IoT Timer module. err_code = iot_timer_client_list_set(&iot_timer_clients); APP_ERROR_CHECK(err_code); //Starting the app timer instance that is the tick source for the IoT Timer. err_code = app_timer_start(m_iot_timer_tick_src_id, \ APP_TIMER_TICKS(IOT_TIMER_RESOLUTION_IN_MS, APP_TIMER_PRESCALER), \ NULL); APP_ERROR_CHECK(err_code); //Enter main loop. for (;;) { //Do nothing. } }
/** * @brief Function for setup all thinks not directly associated witch ANT stack/protocol. * @desc Initialization of: @n * - app_tarce for debug. * - app_timer, presetup for bsp and optionaly needed for ant pulse simulation. * - GPIO, presetup for bsp (if use button is enabled in example). * - bsp for signaling leds and user buttons (if use button is enabled in example). * - ant pulse simulate for task of filling hrm profile data. */ static void utils_setup(void) { uint32_t err_code; app_trace_init(); // Initialize and start a single continuous mode timer, which is used to update the event time // on the main data page. APP_TIMER_INIT(RTC_PRESCALER, USED_APP_TIMER_NUMBER, 4u, NULL); #if (HEART_BEAT_MODIFICATION == HEART_BEAT_MODIFICATION_BUTTON) // Initialize GPIOTE module. /** @snippet [ANT Pulse simulator buton init] */ err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, APP_TIMER_TICKS(100, RTC_PRESCALER), button_event_handler); /** @snippet [ANT Pulse simulator buton init] */ #else err_code = bsp_init(BSP_INIT_LED, APP_TIMER_TICKS(100, RTC_PRESCALER), NULL); APP_ERROR_CHECK(err_code); #endif app_timer_id_t timer_id; #if (HEART_BEAT_MODIFICATION == HEART_BEAT_MODIFICATION_AUTO) puls_simulate_init( &m_ant_hrm, HEART_BEAT_PER_MINUTE, true); #else /** @snippet [ANT Pulse simulate init] */ puls_simulate_init( &m_ant_hrm, HEART_BEAT_PER_MINUTE, false); /** @snippet [ANT Pulse simulate init] */ #endif err_code = app_timer_create(&timer_id, APP_TIMER_MODE_REPEATED, app_tick_handler ); APP_ERROR_CHECK(err_code); // Schedule a timeout event every 2 seconds err_code = app_timer_start(timer_id, APP_TICK_EVENT_INTERVAL, NULL); APP_ERROR_CHECK(err_code); }