zhaohe 1 year ago
parent
commit
671036a422
  1. 22
      README.md
  2. 2
      app/src/basic/version.h
  3. 17
      app/src/board/board_battery_state.c
  4. 6
      app/src/one_conduction_main.c
  5. 2
      dynamic_electrocardiograph_ble_server
  6. 16710
      release/V7/one_lead_ecg_v7.hex
  7. BIN
      release/V7/one_lead_ecg_v7.zip
  8. 35
      scripter/build_app.bat
  9. 35
      scripter/flash.bat

22
README.md

@ -17,25 +17,9 @@ V6:
1. 优化显示心电波形效果
2. 优化电池电量显示
TODO
0. 支持无线升级,修改SN码 OK
6. 开始采集蜂鸣器响响一声,结束采集蜂鸣器响一声 OK
2. 不足三十30,响三声 OK
3. 添加是否充电检测 OK
1. 添加逻辑,如果未配置时间,设备进入深度休眠。 OK
2. 修改电池电量相关逻辑,校准电池电量。OK
4. 添加连接状态指示灯 OK
4. 修改屏幕显示位置 OK (不改了)
6. 调整ADC放大倍数 (不修改,显示默认放大1.8倍,中心方法) OK
5. 充电中,限制用户操作 ,充电时,不测量,但没有任何提示。OK
7. 开机时进行低电量检测 OK
3. 修改心率采样ADC参考电压 OK
8. 记录上传添加校验和 OK
9. 5分钟蓝牙未发送任何消息,自动断开蓝牙连接 OK
12. 添加看门狗 OK
11. 添加心率检测
V7:
1. 优化电池电量显示

2
app/src/basic/version.h

@ -2,7 +2,7 @@
#define CATEGORY "M1001" // 데돔젬
#define MANUFACTURER_NAME "iflytop"
#define FIRMWARE_VERSION (6)
#define FIRMWARE_VERSION (7)
#define BLESTACK_VERSION 1
#define BOOTLOADER_VERSION 1
#define HARDWARE_VERSION (1)

17
app/src/board/board_battery_state.c

@ -57,26 +57,35 @@ static int16_t battery_level_filter(int16_t nowlevel) {
} else if (nowlevel <= 5) {
lastlevel = nowlevel;
}
return lastlevel;
int16_t retlevel = lastlevel;
retlevel = retlevel / 5 * 5;
return retlevel;
}
int16_t BoardBattery_get_battery_level() {
static const float maxv = 4.15;
static const float minv = 3.5;
static const float minv = 3.6;
int16_t rawval = BoardBattery_get_adc_val();
float voltage = rawval / 4096.0 * 3.6 / 2.0 * 3;
if (voltage > maxv) voltage = maxv;
if (voltage < minv) voltage = minv;
// if (voltage > maxv) voltage = maxv;
// if (voltage < minv) voltage = minv;
float percent = (voltage - minv) / (maxv - minv) * 100 + (float)0.1 /*加0.1是为了避免999.999时显示电量为90*/;
int16_t percent_int = (int16_t)percent;
if (battery_get_chargeing_state()) {
percent_int = percent_int - 10;
}
if (percent_int < 0) {
percent_int = 0;
} else if (percent_int > 100) {
percent_int = 100;
}
return battery_level_filter(percent_int);
// return percent_int;
}

6
app/src/one_conduction_main.c

@ -106,11 +106,7 @@ void ENTER_DEEP_SLEEP() {
* @brief
*/
static void state_machine__change_to_charging_state() { //
if (ds_now_state() == kdevice_state_standby) {
power_on();
} else {
ZASSERT(false);
}
power_on();
//
dsp_mgr_change_to_chargingPage();
ds_change_to_state(kdevice_state_charging);

2
dynamic_electrocardiograph_ble_server

@ -1 +1 @@
Subproject commit b6bd39498f17312e42fb19c0920feea43493ea1d
Subproject commit 34a1c922a7336ef7602e1aa54fb04334a3d7274a

16710
release/V7/one_lead_ecg_v7.hex
File diff suppressed because it is too large
View File

BIN
release/V7/one_lead_ecg_v7.zip

35
scripter/build_app.bat

@ -61,38 +61,3 @@ del output\app.hex
copy /y output\app.zip output\one_lead_ecg.zip
copy /y output\app_whole.hex output\one_lead_ecg.hex
echo "Start flashing..."
call scripter\unlock.bat
@REM 烧录整体镜像
nrfjprog --eraseall -f NRF52 %全擦除%
if %errorlevel% neq 0 (
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
echo E 擦除失败 E
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
exit /b 1
)
nrfjprog --program output/app_whole.hex --verify -f NRF52 %烧录%
if %errorlevel% neq 0 (
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
echo E 烧录失败 E
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
exit /b 1
)
nrfjprog --reset -f NRF52 %复位%
if %errorlevel% neq 0 (
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
echo E 复位失败 E
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
exit /b 1
)
echo ---------------------------------------------------------------
echo - done
echo ---------------------------------------------------------------

35
scripter/flash.bat

@ -0,0 +1,35 @@
echo "Start flashing..."
call scripter\unlock.bat
@REM 烧录整体镜像
nrfjprog --eraseall -f NRF52 %全擦除%
if %errorlevel% neq 0 (
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
echo E 擦除失败 E
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
exit /b 1
)
nrfjprog --program output/app_whole.hex --verify -f NRF52 %烧录%
if %errorlevel% neq 0 (
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
echo E 烧录失败 E
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
exit /b 1
)
nrfjprog --reset -f NRF52 %复位%
if %errorlevel% neq 0 (
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
echo E 复位失败 E
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
exit /b 1
)
echo ---------------------------------------------------------------
echo - done
echo ---------------------------------------------------------------
Loading…
Cancel
Save