Browse Source

添加电极掉落检测

V13
zhaohe 1 year ago
parent
commit
f1a71a30c1
  1. 11
      README.md
  2. 4
      app/src/board/board_beep_ctrl.c
  3. 9
      app/src/device_ctrl_service.c
  4. 11
      app/src/heart_wave_sample_service.c
  5. 2
      app/src/heart_wave_sample_service.h

11
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

4
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);

9
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");

11
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Òý½ÅÖÐϳõʼ»¯

2
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();
uint8_t hwss_get_drop_state1();
Loading…
Cancel
Save