diff --git a/README.md b/README.md index 32bde89..8a63093 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,12 @@ TODO 5. 充电中,限制用户操作 ,充电时,不测量,但没有任何提示。OK 7. 开机时进行低电量检测 OK 3. 修改心率采样ADC参考电压 OK -8. 记录上传添加校验和 -9. 5分钟蓝牙未发送任何消息,自动断开蓝牙连接 +8. 记录上传添加校验和 OK +9. 5分钟蓝牙未发送任何消息,自动断开蓝牙连接 OK +12. 添加看门狗 OK + +11. 添加心率检测 + diff --git a/app/src/ble_cmd_process_service.c b/app/src/ble_cmd_process_service.c index 447b9bf..b176d2e 100644 --- a/app/src/ble_cmd_process_service.c +++ b/app/src/ble_cmd_process_service.c @@ -207,7 +207,7 @@ int ble_start_upload_record(sample_data_filename_t* recordid) { return kifyhrs_ecode_no_record_find; } - ZERROR_CHECK(app_timer_start(m_record_upload_tmr, APP_TIMER_TICKS(2), NULL)); + ZERROR_CHECK(app_timer_start(m_record_upload_tmr, APP_TIMER_TICKS(15), NULL)); m_isupload_data_state = true; m_remaindatalen = 0; m_report_data_sumcheckcode = 0; diff --git a/app/src/board/board.h b/app/src/board/board.h index c603d7a..95ef75e 100644 --- a/app/src/board/board.h +++ b/app/src/board/board.h @@ -47,3 +47,4 @@ #define APP_LOW_BATTERY_WARNING_LIMIT 20 // #define LOW_BATTERY_REMINDER_DELAY_MS 3000 +#define BLE_UNCONNECTED_OVERTIME_S 300 \ No newline at end of file diff --git a/app/src/one_conduction_main.c b/app/src/one_conduction_main.c index d1e07aa..8b14942 100644 --- a/app/src/one_conduction_main.c +++ b/app/src/one_conduction_main.c @@ -49,6 +49,7 @@ static sample_data_filename_t sampledata_file_name; static void state_machine_driver_tmr_cb(void* p_context) { // static app_event_t appevent; appevent.eventType = kevent_tmr_scheduler_event; + wd_feed(); AppEvent_pushEvent(&appevent); } /******************************************************************************* @@ -234,6 +235,11 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) { // 低电量,设备进入待机模式 else if (BoardBattery_get_battery_level() < APP_AUTO_STANDY_BATTERY_LEVEL && ds_cur_state_haspassed_ms() > 3000) { state_machine__change_to_standby_state(); + } // + + else if (zble_module_is_connected() && zdatachannel_last_rx_data_haspassed_s() >= BLE_UNCONNECTED_OVERTIME_S) { + ZLOGI("auto sleep because ble unconnected"); + state_machine__change_to_standby_state(); } // ZLOGI("bt:%d plod:%d has_disc:%d state:%d", zdatachannel_is_connected(), BoardEcgSensor_plod_get_connected_state_after_filter(), plod_state_has_disconnected_ms(), ds_cur_state_haspassed_ms()); } @@ -415,6 +421,8 @@ void one_conduction_main() { } #endif + wd_init(); + ZERROR_CHECK(app_timer_create(&m_state_machine_driver_tmr, APP_TIMER_MODE_REPEATED, state_machine_driver_tmr_cb)); ZERROR_CHECK(app_timer_start(m_state_machine_driver_tmr, APP_TIMER_TICKS(300), NULL));