From f1a71a30c15d51863ae8b5096f774dd90d7e6e9f Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 8 Feb 2024 15:53:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=B5=E6=9E=81=E6=8E=89?= =?UTF-8?q?=E8=90=BD=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 11 ++++++----- app/src/board/board_beep_ctrl.c | 4 +++- app/src/device_ctrl_service.c | 9 +++++++++ app/src/heart_wave_sample_service.c | 11 +++++++++-- app/src/heart_wave_sample_service.h | 2 +- 5 files changed, 28 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 9bcf31d..ae285ee 100644 --- a/README.md +++ b/README.md @@ -24,23 +24,24 @@ 1.如果蓝牙断开,停止采集(临时代码),切换到mainPage OK ,通过ENABLE_AUTO_STOP_WHEN_BLE_DISCONNECTED使能 2.如果蓝牙5分钟内没有收到任何消息,切换到mainPage OK 3.如果采集超时时间超过设定时间,停止采集,切换到mainPage OK + 4.导联断开连接后,蜂鸣器一直报警。OK MainPage: 1. 如果蓝牙断开,进入休眠 OK 2. 如果蓝牙5分钟内没有收到任何消息,进入休眠 OK 添加一条新的开始采集指令,支持定时参数。(或者使用旧的开始采集指令)OK - -导联断开检测触发后,上报事件(不停止采集)。 -导联断开连接后,蜂鸣器一直报警。 +导联断开检测触发后,上报事件(不停止采集)。OK 电量过低上报低电量事件。电量不足%1时,设备自动断开连接,并关机。 -低电量进入关机模式 -添加指令上传最新一条记录 Final: 修改休眠周期为30秒 +TODO2: + 添加指令上传最新一条记录 + + ... 设备充电时不进入休眠(无法实现,无法检测当前设备是否正在充电) OK diff --git a/app/src/board/board_beep_ctrl.c b/app/src/board/board_beep_ctrl.c index ae8a43f..078189c 100644 --- a/app/src/board/board_beep_ctrl.c +++ b/app/src/board/board_beep_ctrl.c @@ -14,7 +14,7 @@ static nrf_pwm_sequence_t const m_beep_pwm0_seq = { static nrf_drv_pwm_config_t const m_beep_pwm0_config0 = { .output_pins = { - BEEP_PIN , // + BEEP_PIN, // NRF_DRV_PWM_PIN_NOT_USED, NRF_DRV_PWM_PIN_NOT_USED, NRF_DRV_PWM_PIN_NOT_USED, @@ -92,6 +92,8 @@ void BoardBeepCtrl_set(uint8_t state) { } void BoardBeepCtrl_setEffect(BoardBeepEffect_t effect) { + if (m_beep_effect == effect) return; + m_beep_effect = effect; app_timer_stop(m_beep_tmr); diff --git a/app/src/device_ctrl_service.c b/app/src/device_ctrl_service.c index 9df5377..1e7c7b5 100644 --- a/app/src/device_ctrl_service.c +++ b/app/src/device_ctrl_service.c @@ -206,6 +206,15 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) { // SampleDataMgr_write(m_sample_data_fd, (uint8_t*)event->val.block_sensor_data.data, event->val.block_sensor_data.len); } + uint8_t dropdata0 = hwss_get_drop_state0(); + uint8_t dropdata1 = hwss_get_drop_state1(); + + if (dropdata0 || dropdata1) { + BoardBeepCtrl_setEffect(kBoardBeepEffect_continuousShortBeep); + }else{ + BoardBeepCtrl_setEffect(kBoardBeepEffect_none); + } + bool stopcapture = false; if (SampleDataMgr_getFileSizeByFd(m_sample_data_fd) > SDCARD_MAX_FILE_SIZE) { ZLOGI("stop sample because file size is too large"); diff --git a/app/src/heart_wave_sample_service.c b/app/src/heart_wave_sample_service.c index 0fb6fa9..674aae1 100644 --- a/app/src/heart_wave_sample_service.c +++ b/app/src/heart_wave_sample_service.c @@ -372,8 +372,15 @@ static void ads1293_init() { ads1293_spi_writereg(&m_ads1293_0, TI_ADS1293_CONFIG_REG, 0); - ads1293_load_cfg(&m_ads1293_0); - ads1293_load_cfg(&m_ads1293_1); + // ads1293_load_cfg(&m_ads1293_0); + // ads1293_load_cfg(&m_ads1293_1); + + for (uint16_t i = 0; i < ZARRAY_SIZE(m_prvads0cfg); i++) { + ads1293_spi_writereg_and_check(&m_ads1293_0, m_prvads0cfg[i].add, m_prvads0cfg[i].data); + } + for (uint16_t i = 0; i < ZARRAY_SIZE(m_prvads1cfg); i++) { + ads1293_spi_writereg_and_check(&m_ads1293_1, m_prvads1cfg[i].add, m_prvads1cfg[i].data); + } /** * @brief READY引脚中断初始化 diff --git a/app/src/heart_wave_sample_service.h b/app/src/heart_wave_sample_service.h index 72753b5..a6d4d1b 100644 --- a/app/src/heart_wave_sample_service.h +++ b/app/src/heart_wave_sample_service.h @@ -34,4 +34,4 @@ bool hwss_is_capturing(void); uint32_t hwss_started_has_passed_s(void); uint8_t hwss_get_drop_state0(); -uint8_t hwss_get_drop_state1(); \ No newline at end of file +uint8_t hwss_get_drop_state1();