|
|
@ -3,6 +3,7 @@ |
|
|
|
#include "app_event.h" |
|
|
|
#include "basic/zble_module.h" |
|
|
|
#include "basic/zdatachannel_service.h" |
|
|
|
#include "ble_cmd_process_service.h" |
|
|
|
#include "config.h" |
|
|
|
#include "display_manager.h" |
|
|
|
#include "heart_wave_sample_service.h" |
|
|
@ -56,22 +57,24 @@ static void m_plod_state_event_detect_tmr_cb(void* p_context) { // |
|
|
|
connecte_state_trigger_cnt = 0; |
|
|
|
} |
|
|
|
|
|
|
|
if (connecte_state_trigger_cnt == 15) { |
|
|
|
if (!m_plod_state_connected_state && connecte_state_trigger_cnt >= 10) { |
|
|
|
// 连接事件 |
|
|
|
appevent.eventType = kplod_connected_event; |
|
|
|
m_plod_state_connected_state = true; |
|
|
|
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb); |
|
|
|
} else if (connecte_state_trigger_cnt_last_val >= 5 && connecte_state_trigger_cnt == 0) { |
|
|
|
} else if (m_plod_state_connected_state && connecte_state_trigger_cnt == 0) { |
|
|
|
// 断开事件 |
|
|
|
appevent.eventType = kplod_disconnected_event; |
|
|
|
m_plod_state_connected_state = false; |
|
|
|
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb); |
|
|
|
} else if (connecte_state_trigger_cnt >= 10 && connecte_state_trigger_cnt % 10 == 0) { |
|
|
|
// 连接持续事件 |
|
|
|
appevent.eventType = kplod_connecting_event; |
|
|
|
appevent.val.plod_connected_accumulation_time = connecte_state_trigger_cnt / 10; |
|
|
|
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb); |
|
|
|
} |
|
|
|
|
|
|
|
// else if (connecte_state_trigger_cnt >= 10 && connecte_state_trigger_cnt % 10 == 0) { |
|
|
|
// // 连接持续事件 |
|
|
|
// appevent.eventType = kplod_connecting_event; |
|
|
|
// appevent.val.plod_connected_accumulation_time = connecte_state_trigger_cnt / 10; |
|
|
|
// app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb); |
|
|
|
// } |
|
|
|
} |
|
|
|
|
|
|
|
static void m_charge_event_detect_tmr_cb(void* p_context) { // |
|
|
@ -118,7 +121,7 @@ static void power_on() { |
|
|
|
hwss_init(); |
|
|
|
sample_data_mgr_init(); |
|
|
|
dsp_mgr_init(); |
|
|
|
// zble_module_start_adv(); |
|
|
|
ble_cmder_start_adv(); |
|
|
|
|
|
|
|
m_poweronflag = true; |
|
|
|
ZERROR_CHECK(app_timer_start(m_state_machine_driver_tmr, APP_TIMER_TICKS(100), NULL)); // 200HZ采样 |
|
|
@ -133,7 +136,7 @@ static void power_off() { |
|
|
|
SingleLeadECG_led_deinit(); |
|
|
|
SingleLeadECG_beep_deinit(); |
|
|
|
SingleLeadECG_adc_module_deinit(); |
|
|
|
// zble_module_stop_adv(); |
|
|
|
ble_cmder_stop_adv(); |
|
|
|
ZERROR_CHECK(app_timer_stop(m_state_machine_driver_tmr)); |
|
|
|
} |
|
|
|
/******************************************************************************* |
|
|
@ -218,7 +221,10 @@ void app_event_process_cb(void* p_event_data, uint16_t event_size) { |
|
|
|
* 首页 * |
|
|
|
*******************************************************************************/ |
|
|
|
// 如果用户长时间不操作,自动切换到待机状态 |
|
|
|
if (!plod_state_is_connected() && plod_state_has_disconnected_ms() >= 3000 && ds_cur_state_haspassed_ms() >= 3000) { |
|
|
|
if (!zdatachannel_is_connected() && // |
|
|
|
!plod_state_is_connected() && // |
|
|
|
plod_state_has_disconnected_ms() >= 30000 && // |
|
|
|
ds_cur_state_haspassed_ms() >= 30000) { |
|
|
|
state_machine__change_to_standby_state(); |
|
|
|
} |
|
|
|
// 如果用户继续保持静止,切换到采集页面 |
|
|
@ -380,6 +386,10 @@ void one_conduction_main() { |
|
|
|
NRF_LOG_INFO("Version :%d", VERSION); |
|
|
|
NRF_LOG_INFO("Manufacturer :%s", MANUFACTURER_NAME); |
|
|
|
|
|
|
|
ztm_t tm; |
|
|
|
znordic_rtc_gettime(&tm); |
|
|
|
NRF_LOG_INFO("RTC time :%d-%d-%d %d:%d:%d", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec); |
|
|
|
|
|
|
|
static zble_module_cfg_t cfg = // |
|
|
|
{ |
|
|
|
.deviceName = BLE_NAME, |
|
|
|