if (Time != BP_CHECK_TIME_MAX)
Time = BP_CHECK_TIME_MAX; // 重置时间90秒
BP_StartTimer();
+ BP_Start_GetData_Timer();
BP_SetResultState(BPRESULT::NOT_TESTED); // 重置数据状态
ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); // 后期 周期被动状态 需要做区别
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
{
BP_StartTimer();
+ BP_Start_GetData_Timer();
BP_SetResultState(BPRESULT::NOT_TESTED); // 重置数据状态
ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); // 后期 周期被动状态 需要做区别
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
"start detecting");
BP_START(); // 底层接口开启血压
if (Time != BP_CHECK_TIME_MAX)
- Time = BP_CHECK_TIME_MAX; // 重置时间90秒
+ Time = BP_CHECK_TIME_MAX; // 重置时间60秒
}
// 第二次校准状态处理
if (Time != BP_CHECK_TIME_MAX)
Time = BP_CHECK_TIME_MAX; // 重置时间90秒
BP_StartTimer();
+ BP_Start_GetData_Timer();
BP_SetResultState(BPRESULT::NOT_TESTED); // 重置数据状态
ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); // 后期 周期被动状态 需要做区别
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
bp_data_t temp_data = {0};
bp_get_data(&temp_data);
-
// 范围检查与赋值
if (temp_data.sbp >= 0 && temp_data.sbp <= UINT8_MAX)
if (current_state == BPState::BP_CALIBRATING_FIRSTTIME ||
current_state == BPState::BP_CALIBRATING_SECONDTIME)
{
+#ifdef ENABLE_BN02
+ do_bp_tcp_server_send_data(BP_TCP_SERVICE_CMD_DATA_UPLOAD,NULL,0); //数据采集以后发给服务器的指令
+#endif
if (bpMainView)
{
bpMainView->ChangeView(current_state == BPState::BP_CALIBRATING_FIRSTTIME
: BPSECUNDERCALIBRATIONVIEW,
BPRESULTANALYSISVIEW);
}
- BP_STOP();
+ BP_StartTimer(); // 1s后发送数据 do_bp_tcp_server_send_data(BP_TCP_SERVICE_CMD_DATA_UPLOAD,NULL,0); 退出页面以后 发送 BP_TCP_SERVICE_CMD_SERVER_DEINIT
CalibrationFlag++;
- BP_Control(BPState::BP_CALIBRATING_ANGLYSIS);
return;
}
// 处理校准分析状态
if (CalibrationFlag == 1) // 第一次校准成功
{
CalibrationFlag++;
-#if defined(BOARD_W9)
ConfigModel::GetInstance()->set_condigData_Int(ConfigModel::CONFIGMODEL_ITEM_BP_CALIBRATION_FIRST_TIME, configValue);
-#endif
}
else // 第二次校准成功,校准完成
{
-#if defined(BOARD_W9)
ConfigModel::GetInstance()->set_condigData_Int(ConfigModel::CONFIGMODEL_ITEM_BP_CALIBRATION_SECOND_TIME, configValue);
-#endif
CalibrationFlag = 0;
}
}
// 处理血压检测状态
if (current_state == BPState::BP_DETECTING)
{
- BP_STOP(); // 停止检测
+#ifdef ENABLE_BN02
+ do_bp_tcp_server_send_data(BP_TCP_SERVICE_CMD_DATA_UPLOAD,NULL,0); //数据采集以后发给服务器的指令
+#endif
BP_Control(BPState::BP_End); // 分析测量结果
if (bp_resullt == BPRESULT::NOT_TESTED) // 未测量到数据
{
}
}
- // 每秒的处理
+ /******************* 每秒的处理 *******************/
void BPModel::BP_timer_callback_proc(uint8_t data)
{
{
view->UpdateTimeText(data);
}
- if (Time > 0 && Time < 30) // 一分钟后获取数据
+ if (Time > 1 && Time < 30) // 一分钟后获取数据,最后一秒前关闭
{
uint8_t sbp = 0;
uint8_t dbp = 0;
// 测量完成
bp_resullt == BPRESULT::SUCCESS;
}
+ if (Time = 1)
+ {
+ BP_STOP(); // 提前一秒关闭
+ }
}
break;
{
view->UpdateTimeText(data);
}
- if (Time > 0 && Time < 30) // 一分钟后获取数据
+ if (Time > 1 && Time < 30) // 一分钟后获取数据,最后一秒前关闭
{
uint8_t sbp = 0;
bp_resullt == BPRESULT::SUCCESS;
}
}
+ if (Time = 1)
+ {
+ BP_STOP(); // 提前一秒关闭
+ }
break;
}
case BPState::BP_CALIBRATING_SECONDTIME:
{
view->UpdateTimeText(data);
}
- if (Time > 0 && Time < 30) // 一分钟后获取数据
+ if (Time > 1 && Time < 30) // 一分钟后获取数据,最后一秒前关闭
{
uint8_t sbp = 0;
bp_resullt == BPRESULT::SUCCESS;
}
}
+ if (Time = 1)
+ {
+ BP_STOP(); // 提前一秒关闭
+ }
break;
}
case BPState::BP_CALIBRATING_ANGLYSIS: