# three_lead_ecg_v2 ``` V101: 1. 修改每包上报数据长度,从4帧修改成25帧 2. 添加去基线算法,上位机收到数据后需减去8388607,即可得到基线为0的数据 V28: 1.优化电池电量 V27: 1.修复最大记录时间为 (72小时-1s)的BUG V26: 1.添加导联线插入检测,导联线未插入,无法启动预览 2.修复部分BUG V25: 1.针对协议V1.8进行修改 V24: 1.修复V23版本的BUG V23: 1. 添加 ADS芯片多次探测逻辑 2. 添加 ADS芯片配置时,若配置失败,重复配置5次的逻辑 V22: 1.失能ads1293从flash盘中读取配置文件 V21: 1. 修改代码当ADS加载失败时,设备不强制重启,仅是记录状态 2. 修改代码当文件系统失败时,设备不强制重启,仅是记录状态 V20: 1. 添加ADS1293配置回读检测 V19: 1. 什么都没有更新,只不过V18存在多个版本,所以重新命名为V19 V18: 1.支持直接读取ads1293 LOD信息 V17: 1.支持从文件中读取ECG配置 2.修改当设备ID和批次为0时的蓝牙名称 V16: 1.修改心率采样IO init,和IO uinit的位置 V15: 1.继续优化功耗到3.1ma V14: 1.优化功耗 2.修改看门狗启动位置 V13: 1.修改数据上传间隔由2ms变成20ms 2.添加bin文件checksum计算和文件大小计算工具 V12: 1. 修复上传后,不关闭文件描述符的BUG 2. 添加导联线未插入状态下,开始检测指令回复错误码的功能。 异常: 1. 芯片休眠状态下,如果插入充电器,芯片会自动唤醒,原因未知。 # TODO: 修改蓝牙测试Server程序,测试程序蓝牙名称过滤标志为 iflytop_ble_test_device OK 修改蓝牙名称生成规则,规则为,当device_id为0或者全F,蓝牙名称为iflytop_ble_test_device,否则蓝牙名称为产品SN码 OK 手机端可以看到设备的软件版本信息。OK 心率采集改成由IO中断驱动。OK 修正回执包错误码. OK 指示灯修改成PWM驱动 OK 添加三种灯光效果,慢闪,快闪,阻塞块闪3次 OK 开机,蜂鸣器响一声 OK 开机,检查电量 OK 修改电量检测,电量过低时,指示灯闪烁三下后进入低功耗。OK 开始采集,蜂鸣器响一声,结束采集,蜂鸣器响一声。OK 采集中: 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时,设备自动断开连接,并关机。 OK Final: 修改休眠周期为30秒 OK TODO2: 添加指令上传最新一条记录 充电中不允许采集 ... 设备充电时不进入休眠(无法实现,无法检测当前设备是否正在充电) OK ``` ``` 1. 30s自动休眠 OK 2. 开机低电量检测 OK 3. 按下按键唤醒设备 OK 4. 充电插入唤醒设备 OK 5. 蓝牙连接 OK 6. 指令测试 OK 7. 采集中导联单个脱落蜂鸣器响 OK 8. 采集中导联单个脱落脱落事件上报 OK 2. 采集上报测试 (OK1/2)OK 3. 未采集,蓝牙断开,自动休眠测试 2)OK 3. 蓝牙连接,5分钟没有收到任何消息,自动休眠 4. 电池电量检测测试 5. 记录读取测试 6. 导联掉落测试 OK 7. 佩戴人员离开手机蓝牙断开,再恢复蓝牙连接。OK 8. 开始采集测试通过。 OK 9. 使能Report测试通过。 OK 7. 采集中导联单个脱落蜂鸣器响 OK 8. 采集中导联单个脱落脱落事件上报 OK BUG: 实时上报,第三个通道数据即便上报数据为0,也会突然出现一个突变数据。暂时未发现原因 ``` ``` 规范: 寄存器(NRF_UICR->CUSTOMER[0],0x10001080) 用于存储设备ID,当设备ID为FFFFFFFF或者0时,表明当前设备为测试程序 ``` ``` 批次寄存器地址: 10001080 00000001 0 设备ID寄存器地址:10001084 00000001 1 ```