解决了无法检测是否正常的问题

This commit is contained in:
ipason 2025-05-11 10:22:20 +08:00
parent db7c0f4c7a
commit 4e050198a9

View File

@ -124,7 +124,7 @@ void uart1_echoTask(void* arg)
/* 获取当前设备类型 */
uint16_t device_type = lv_dropdown_get_selected(ui_pageHome_DropdownTestTypeBS);
int32_t current_stage = lv_spinbox_get_value(ui_pageHome_spinboxStageBS);
float stage_volume = 0;
float stage_volume = 0.0;
float stage_rate_volume = 0;
/* 记录测试结果是否合格 */
bool is_test_result_right = true;
@ -181,7 +181,8 @@ void uart1_echoTask(void* arg)
// Write data back to the UART
//uart_write_bytes(ECHO_UART_PORT_NUM1, (const char *) data, len);
if (len)
#if 1
if (len) /** */
{
data[len] = '\0';
@ -191,6 +192,7 @@ void uart1_echoTask(void* arg)
/* 检查测试是否完成 */
if ((data[20] == 0x01)&&(data[1]==0x03)&&data[4]==FLUX_MODE_TIMER)
{
/* 测试已完成 */
lv_obj_add_state(ui_pageFluxRead_checkboxUnfinished,LV_STATE_CHECKED);
@ -228,8 +230,13 @@ void uart1_echoTask(void* arg)
/* 若当前是NOM模式直接刷新结果在Nom的界面 */
RefreshResult();
}else{
#endif
WRITE_LOG_TO_SD("判断当前测试模式为BS模式");
/* 获取当前测试挡位 */
current_stage = lv_spinbox_get_value(ui_pageHome_spinboxStageBS)-1;
device_type = lv_dropdown_get_selected(ui_pageHome_DropdownTestTypeBS);
/* 若当前是BS模式刷新结果在BS的界面 */
sdData.flux_test_result.test_result[currentTestRate] = sdData.flux_test_result.current_test_result;
@ -248,23 +255,30 @@ void uart1_echoTask(void* arg)
default:
break;
}
//ESP_LOGI("dev","device type:%d ,stage_volume:%.2f\n",device_type,stage_volume);
/* 计算呼吸频率下的体积流量值 */
stage_rate_volume = stage_volume/((currentTestRate+3.0)*5);
char str[100];
sprintf(str,"current=%2f,rateVolume=%.2f,up=%.2f,down=%.2f",sdData.flux_test_result.current_test_result,stage_rate_volume,stage_rate_volume*1.15,stage_rate_volume*0.85);
//printf("%s\n",str);
WRITE_LOG_TO_SD(str);
if((sdData.flux_test_result.current_test_result > stage_rate_volume * 1.15)|(sdData.flux_test_result.current_test_result < stage_rate_volume * 0.85))
{
/* 测试结果不合格刷新结果为X */
xEventGroupClearBits(g_bs_test_event_group,g_bs_test_event_group_bits[currentTestRate]);
is_test_result_right = false;
ESP_LOGI("FLUX_TEST_START","测试结果不合格");
WRITE_LOG_TO_SD("测试结果不合格");
}else{
/* 测试合格*/
xEventGroupSetBits(g_bs_test_event_group,g_bs_test_event_group_bits[currentTestRate]);
is_test_result_right = true;
ESP_LOGI("FLUX_TEST_START","测试结果合格");
WRITE_LOG_TO_SD("测试结果合格");
}
#if 1
/* 根据当前BS测试阶段刷新结果 */
switch (currentTestRate)
{
@ -276,8 +290,8 @@ void uart1_echoTask(void* arg)
lv_obj_set_style_text_color(ui_pageHome_LabelRate15Result, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
WRITE_LOG_TO_SD("15BPM 测试结果不合格 修改字体颜色为红色");
}else{
lv_obj_set_style_text_color(ui_pageHome_LabelRate15Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
WRITE_LOG_TO_SD("15BPM 测试结果合格 修改字体颜色为");
lv_obj_set_style_text_color(ui_pageHome_LabelRate15Result, lv_color_hex(0x00FF00), LV_PART_MAIN | LV_STATE_DEFAULT);
WRITE_LOG_TO_SD("15BPM 测试结果合格 修改字体颜色为绿");
}
break;
case BS_RATE_20BPM:
@ -286,7 +300,7 @@ void uart1_echoTask(void* arg)
{
lv_obj_set_style_text_color(ui_pageHome_LabelRate20Result, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
}else{
lv_obj_set_style_text_color(ui_pageHome_LabelRate20Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(ui_pageHome_LabelRate20Result, lv_color_hex(0x00FF00), LV_PART_MAIN | LV_STATE_DEFAULT);
}
break;
case BS_RATE_25BPM:
@ -295,7 +309,7 @@ void uart1_echoTask(void* arg)
{
lv_obj_set_style_text_color(ui_pageHome_LabelRate25Result, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
}else{
lv_obj_set_style_text_color(ui_pageHome_LabelRate25Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(ui_pageHome_LabelRate25Result, lv_color_hex(0x00FF00), LV_PART_MAIN | LV_STATE_DEFAULT);
}
break;
case BS_RATE_30BPM:
@ -304,7 +318,7 @@ void uart1_echoTask(void* arg)
{
lv_obj_set_style_text_color(ui_pageHome_LabelRate30Result, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
}else{
lv_obj_set_style_text_color(ui_pageHome_LabelRate30Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(ui_pageHome_LabelRate30Result, lv_color_hex(0x00FF00), LV_PART_MAIN | LV_STATE_DEFAULT);
}
break;
case BS_RATE_35BPM:
@ -313,7 +327,7 @@ void uart1_echoTask(void* arg)
{
lv_obj_set_style_text_color(ui_pageHome_LabelRate35Result, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
}else{
lv_obj_set_style_text_color(ui_pageHome_LabelRate35Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(ui_pageHome_LabelRate35Result, lv_color_hex(0x00FF00), LV_PART_MAIN | LV_STATE_DEFAULT);
}
break;
case BS_RATE_40BPM:
@ -322,7 +336,7 @@ void uart1_echoTask(void* arg)
{
lv_obj_set_style_text_color(ui_pageHome_LabelRate40Result, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
}else{
lv_obj_set_style_text_color(ui_pageHome_LabelRate40Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(ui_pageHome_LabelRate40Result, lv_color_hex(0x00FF00), LV_PART_MAIN | LV_STATE_DEFAULT);
}
break;
@ -337,6 +351,7 @@ void uart1_echoTask(void* arg)
lv_obj_clear_state(ui_pageFluxRead_checkboxUnfinished,LV_STATE_CHECKED);
}
}
#endif
}
}