Browse Source

update

master
zhaohe 1 year ago
parent
commit
cca8da4046
  1. 24
      README.md
  2. 2
      app/src/board/board.h
  3. 2
      app/src/board/board_battery_state.c
  4. 2
      app/src/board/board_light_ctrl.c
  5. 16
      app/src/device_ctrl_service.c
  6. 8
      app/src/heart_wave_sample_service.c
  7. 20
      app/src/heart_wave_sample_service_cfg.h
  8. 2
      libznordic

24
README.md

@ -33,15 +33,14 @@ MainPage:
添加一条新的开始采集指令,支持定时参数。(或者使用旧的开始采集指令)OK 添加一条新的开始采集指令,支持定时参数。(或者使用旧的开始采集指令)OK
导联断开检测触发后,上报事件(不停止采集)。OK 导联断开检测触发后,上报事件(不停止采集)。OK
电量过低上报低电量事件。电量不足%1时,设备自动断开连接,并关机。
电量过低上报低电量事件。电量不足%1时,设备自动断开连接,并关机。 OK
Final: Final:
修改休眠周期为30秒
修改休眠周期为30秒 OK
TODO2: TODO2:
添加指令上传最新一条记录 添加指令上传最新一条记录
... ...
设备充电时不进入休眠(无法实现,无法检测当前设备是否正在充电) OK 设备充电时不进入休眠(无法实现,无法检测当前设备是否正在充电) OK
@ -49,6 +48,25 @@ TODO2:
``` ```
```
1. 30s自动休眠 OK
2. 开机低电量检测 OK
3. 按下按键唤醒设备 OK
4. 充电插入唤醒设备 OK
5. 蓝牙连接 OK
6. 指令测试 OK
7. 采集中导联脱落蜂鸣器响 OK
8. 采集中导联脱落事件上报 OK
2. 采集上报测试 (OK1/2)
3. 未采集,蓝牙断开,自动休眠测试
3. 蓝牙连接,5分钟没有收到任何消息,自动休眠
4. 电池电量检测测试
5. 记录读取测试
```
``` ```
规范: 规范:

2
app/src/board/board.h

@ -76,6 +76,6 @@
#define APP_LOW_BATTERY_POWER_ON_LIMIT 8 // 是否能开机判定阈值 #define APP_LOW_BATTERY_POWER_ON_LIMIT 8 // 是否能开机判定阈值
#define APP_LOW_BATTERY_WARNING_LIMIT 10 // 低电量事件上报阈值 #define APP_LOW_BATTERY_WARNING_LIMIT 10 // 低电量事件上报阈值
#define BLE_UNCONNECTED_OVERTIME_S 300 // 蓝牙未连接_心跳超时判定时间
#define BLE_UNCONNECTED_OVERTIME_S 300 // 蓝牙未连接_心跳超时判定时间 300s
#define ENABLE_AUTO_STOP_WHEN_BLE_DISCONNECTED 1 // 蓝牙断开自动停止采集 #define ENABLE_AUTO_STOP_WHEN_BLE_DISCONNECTED 1 // 蓝牙断开自动停止采集

2
app/src/board/board_battery_state.c

@ -47,6 +47,6 @@ int16_t BoardBattery_get_battery_level() {
// } else { // } else {
// percent_int = percent_int / 10 * 10; // percent_int = percent_int / 10 * 10;
// } // }
return 10;
return percent_int;
// return percent_int; // return percent_int;
} }

2
app/src/board/board_light_ctrl.c

@ -6,7 +6,7 @@
#define BLINK_CNT 1 #define BLINK_CNT 1
#define BLINK_PERIOD_MS (100) #define BLINK_PERIOD_MS (100)
#define QUICK_BLINK_PERIOD_MS (100) #define QUICK_BLINK_PERIOD_MS (100)
#define SLOW_BLINK_PERIOD_MS (3000)
#define SLOW_BLINK_PERIOD_MS (2000)
#define LIGHT_PWM_DRIVER 1 #define LIGHT_PWM_DRIVER 1
// LED_GREEN_PIN // LED_GREEN_PIN

16
app/src/device_ctrl_service.c

@ -69,12 +69,12 @@ static void poweroff() {
// hwss_unload(); // hwss_unload();
DeviceCtrl_change_to_state(kdevice_state_standby); DeviceCtrl_change_to_state(kdevice_state_standby);
zble_module_stop_adv(); zble_module_stop_adv();
zble_module_disconnect();
// sd_ble_gap_disconnect()
BoardLight_setGreenLightEffect(kLightEffect_close); BoardLight_setGreenLightEffect(kLightEffect_close);
app_timer_stop_all();
// 使 // 使
BoardButton_enable_sense(); BoardButton_enable_sense();
app_timer_stop_all();
//
sd_power_system_off(); sd_power_system_off();
NVIC_SystemReset(); NVIC_SystemReset();
m_ispoweron = false; m_ispoweron = false;
@ -163,7 +163,9 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) { //
*******************************************************************************/ *******************************************************************************/
// ZLOGI("state %d", m_device_state); // ZLOGI("state %d", m_device_state);
if (m_device_state == kdevice_state_standby) { if (m_device_state == kdevice_state_standby) {
//
if (DeviceCtrl_cur_state_haspassed_ms() > 1500) {
}
NVIC_SystemReset();
} }
// //
@ -261,9 +263,9 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) { //
} }
} }
void DeviceCtrl_startSample(int duration_ms) {
ZLOGI("start sample %d", duration_ms);
m_sample_duration_ms = duration_ms;
void DeviceCtrl_startSample(int duration_s) {
ZLOGI("start sample %d", duration_s);
m_sample_duration_ms = duration_s * 1000;
static app_event_t event; static app_event_t event;
event.eventType = kevent_start_sample_cmd_event; event.eventType = kevent_start_sample_cmd_event;
AppEvent_pushEvent(&event); AppEvent_pushEvent(&event);

8
app/src/heart_wave_sample_service.c

@ -17,10 +17,10 @@
#define SENSOR_LOD_ERROR_OFF_00 0 #define SENSOR_LOD_ERROR_OFF_00 0
#define SENSOR_LOD_ERROR_OFF_01 1 #define SENSOR_LOD_ERROR_OFF_01 1
#define SENSOR_LOD_ERROR_OFF_10 8
#define SENSOR_LOD_ERROR_OFF_11 9
#define SENSOR_LOD_ERROR_OFF_20 10
#define SENSOR_LOD_ERROR_OFF_21 11
#define SENSOR_LOD_ERROR_OFF_10 2
#define SENSOR_LOD_ERROR_OFF_11 3
#define SENSOR_LOD_ERROR_OFF_20 8
#define SENSOR_LOD_ERROR_OFF_21 9
#define FRAME_FILTER_INDEX_NUM 10 // 过滤帧数,每次启动采集后,过滤掉的帧数 #define FRAME_FILTER_INDEX_NUM 10 // 过滤帧数,每次启动采集后,过滤掉的帧数
#define GPIO_IRQ_TRIGGER_MODE 1 #define GPIO_IRQ_TRIGGER_MODE 1

20
app/src/heart_wave_sample_service_cfg.h

@ -5,12 +5,16 @@ typedef struct {
uint8_t data; uint8_t data;
} adscfg_t; } adscfg_t;
static adscfg_t m_prvads0cfg[] = {{0x00, 0x00}, {0x01, 0x19}, {0x02, 0x11}, {0x03, 0x00}, {0x04, 0x00}, {0x05, 0x00}, {0x06, 0x00}, {0x07, 0x0f}, {0x08, 0xff}, {0x09, 0x00}, {0x0a, 0x07}, {0x0b, 0x07}, {0x0c, 0x74}, {0x0d, 0x01}, {0x0e, 0x02}, {0x0f, 0x03}, {0x10, 0x04},
{0x11, 0x00}, {0x12, 0x05}, {0x13, 0x39}, {0x14, 0x36}, {0x15, 0x06}, {0x16, 0x00}, {0x17, 0x05}, {0x18, 0x00}, {0x19, 0x00}, {0x1a, 0x00}, {0x1b, 0x00}, {0x1c, 0x00}, {0x1d, 0x00}, {0x21, 0x01}, {0x22, 0x20}, {0x23, 0x20}, {0x24, 0x02},
{0x25, 0x00}, {0x26, 0x00}, {0x27, 0x08}, {0x28, 0x08}, {0x29, 0x00}, {0x2a, 0x00}, {0x2b, 0x00}, {0x2c, 0x00}, {0x2d, 0x00}, {0x2e, 0x33}, {0x2f, 0x30}, {0x30, 0x00}, {0x31, 0x00}, {0x32, 0x00}, {0x33, 0x00}, {0x34, 0x00}, {0x35, 0x00},
{0x36, 0x00}, {0x37, 0x00}, {0x38, 0x00}, {0x39, 0x00}, {0x3a, 0x00}, {0x3b, 0x00}, {0x3c, 0x00}, {0x3d, 0x00}, {0x3e, 0x00}, {0x3f, 0x00}, {0x40, 0xff}, {0x50, 0x00}, {0x60, 0x00}, {0x62, 0x00}};
static adscfg_t m_prvads0cfg[] = {
{0x00, 0x00}, {0x01, 0x19}, {0x02, 0x11}, {0x03, 0x00}, {0x04, 0x00}, {0x05, 0x00}, {0x06, 0x00}, {0x07, 0x0f}, {0x08, 0x01}, {0x09, 0x00}, {0x0a, 0x07}, {0x0b, 0x07}, {0x0c, 0x74}, {0x0d, 0x01}, {0x0e, 0x02}, {0x0f, 0x03}, {0x10, 0x04},
{0x11, 0x00}, {0x12, 0x05}, {0x13, 0x39}, {0x14, 0x36}, {0x15, 0x06}, {0x16, 0x00}, {0x17, 0x05}, {0x18, 0x00}, {0x19, 0x00}, {0x1a, 0x00}, {0x1b, 0x00}, {0x1c, 0x00}, {0x1d, 0x00}, {0x21, 0x01}, {0x22, 0x20}, {0x23, 0x20}, {0x24, 0x02},
{0x25, 0x00}, {0x26, 0x06}, {0x27, 0x08}, {0x28, 0x08}, {0x29, 0x00}, {0x2a, 0x00}, {0x2b, 0x00}, {0x2c, 0x00}, {0x2d, 0x00}, {0x2e, 0x33}, {0x2f, 0x30}, {0x30, 0x00}, {0x31, 0x00}, {0x32, 0x00}, {0x33, 0x00}, {0x34, 0x00}, {0x35, 0x00},
{0x36, 0x00}, {0x37, 0x00}, {0x38, 0x00}, {0x39, 0x00}, {0x3a, 0x00}, {0x3b, 0x00}, {0x3c, 0x00}, {0x3d, 0x00}, {0x3e, 0x00}, {0x3f, 0x00}, {0x40, 0xff}, {0x50, 0x00}, {0x60, 0x00}, {0x62, 0x00},
};
static adscfg_t m_prvads1cfg[] = {{0x00, 0x00}, {0x01, 0x0c}, {0x02, 0x14}, {0x03, 0x00}, {0x04, 0x00}, {0x05, 0x00}, {0x06, 0x00}, {0x07, 0x0f}, {0x08, 0xff}, {0x09, 0x00}, {0x0a, 0x00}, {0x0b, 0x07}, {0x0c, 0x78}, {0x0d, 0x00}, {0x0e, 0x00}, {0x0f, 0x00}, {0x10, 0x04},
{0x11, 0x00}, {0x12, 0x07}, {0x13, 0x3b}, {0x14, 0x24}, {0x15, 0x04}, {0x16, 0x00}, {0x17, 0x05}, {0x18, 0x00}, {0x19, 0x00}, {0x1a, 0x00}, {0x1b, 0x00}, {0x1c, 0x00}, {0x1d, 0x00}, {0x21, 0x01}, {0x22, 0x20}, {0x23, 0x20}, {0x24, 0x02},
{0x25, 0x00}, {0x26, 0x00}, {0x27, 0x08}, {0x28, 0x40}, {0x29, 0x00}, {0x2a, 0x00}, {0x2b, 0x00}, {0x2c, 0x00}, {0x2d, 0x00}, {0x2e, 0x33}, {0x2f, 0x30}, {0x30, 0x00}, {0x31, 0x00}, {0x32, 0x00}, {0x33, 0x00}, {0x34, 0x00}, {0x35, 0x00},
{0x36, 0x00}, {0x37, 0x00}, {0x38, 0x00}, {0x39, 0x00}, {0x3a, 0x00}, {0x3b, 0x00}, {0x3c, 0x00}, {0x3d, 0x00}, {0x3e, 0x00}, {0x3f, 0x00}, {0x40, 0xff}, {0x50, 0x00}, {0x60, 0x00}, {0x62, 0x00}};
static adscfg_t m_prvads1cfg[] = {
{0x00, 0x00}, {0x01, 0x0c}, {0x02, 0x14}, {0x03, 0x00}, {0x04, 0x00}, {0x05, 0x00}, {0x06, 0x00}, {0x07, 0x03}, {0x08, 0x01}, {0x09, 0x00}, {0x0a, 0x00}, {0x0b, 0x07}, {0x0c, 0x78}, {0x0d, 0x00}, {0x0e, 0x00}, {0x0f, 0x00}, {0x10, 0x04},
{0x11, 0x00}, {0x12, 0x07}, {0x13, 0x3b}, {0x14, 0x24}, {0x15, 0x04}, {0x16, 0x00}, {0x17, 0x05}, {0x18, 0x00}, {0x19, 0x00}, {0x1a, 0x00}, {0x1b, 0x00}, {0x1c, 0x00}, {0x1d, 0x00}, {0x21, 0x01}, {0x22, 0x20}, {0x23, 0x20}, {0x24, 0x02},
{0x25, 0x00}, {0x26, 0x04}, {0x27, 0x00}, {0x28, 0x40}, {0x29, 0x00}, {0x2a, 0x00}, {0x2b, 0x00}, {0x2c, 0x00}, {0x2d, 0x00}, {0x2e, 0x33}, {0x2f, 0x30}, {0x30, 0x00}, {0x31, 0x00}, {0x32, 0x00}, {0x33, 0x00}, {0x34, 0x00}, {0x35, 0x00},
{0x36, 0x00}, {0x37, 0x00}, {0x38, 0x00}, {0x39, 0x00}, {0x3a, 0x00}, {0x3b, 0x00}, {0x3c, 0x00}, {0x3d, 0x00}, {0x3e, 0x00}, {0x3f, 0x00}, {0x40, 0xff}, {0x50, 0x00}, {0x60, 0x00}, {0x62, 0x00},
};

2
libznordic

@ -1 +1 @@
Subproject commit a0a8566a64d4a417f93884b8cd28089a8dc03262
Subproject commit 1263772874368d62efa76fe69a2af9e34ee3f608
Loading…
Cancel
Save