/**@brief Button event handler. * * @param[in] pin_no The pin number of the button pressed. */ static void button_event_handler(uint8_t pin_no) { switch (pin_no) { case EVAL_BOARD_BUTTON_0: mlog_str("button 0 pressed\r\n"); if (connected) ble_oto_send_step_count(&m_oto, get_step_count()); motor_off(); led_stop(); break; case EVAL_BOARD_BUTTON_1: mlog_str("button 1 pressed\r\n"); if (!connected) advertising_start(); break; default: APP_ERROR_HANDLER(pin_no); } }
static void sync_timeout_handler(void * p_context) { mlog_str("sync_timout_handler\r\n"); if(get_measurement_count() > 1) { sync_steps(); } else { mlog_println("Step Nodes ", get_measurement_count()); } if(diff_get_measurement_count() > 1) { sync_hearts(); } else { mlog_println("Heart Nodes ", diff_get_measurement_count()); } }
/**@brief Application main function. */ int main(void) { uint32_t err_code; connected = false; mlog_init(); timers_init(); gpiote_init(); buttons_init(); step_counter_init(); motor_init(); led1_init(); mlog_str("Starting MAIN...\r\n"); bond_manager_init(); ble_stack_init(); radio_notification_init(); // Initialize Bluetooth Stack parameters gap_params_init(); advertising_init(); services_init(); conn_params_init(); sec_params_init(); // Actually start advertising //advertising_start(); app_button_enable(); // Enter main loop for (;;) { // Switch to a low power state until an event is available for the application err_code = sd_app_event_wait(); APP_ERROR_CHECK(err_code); } }