新增修改测试数据颜色部分代码,存在部分bug
This commit is contained in:
parent
7d867ec6b1
commit
db7c0f4c7a
@ -94,8 +94,9 @@ void bs_test_task(void* arg)
|
||||
/* 进行6次循环测计数 */
|
||||
uint8_t testCount = 0;
|
||||
|
||||
/* 清空所有事件组 */
|
||||
xEventGroupClearBits(g_bs_test_event_group,BIT0|BIT1|BIT2|BIT3|BIT4|BIT5|BIT6);
|
||||
/* 默认所有频率结果正确 */
|
||||
xEventGroupSetBits(g_bs_test_event_group,BIT0|BIT1|BIT2|BIT3|BIT4|BIT5|BIT6);
|
||||
ESP_LOGI("bs_test_task", "初始化后判断事件组的值%lu", xEventGroupGetBits(g_bs_test_event_group));
|
||||
/*
|
||||
*0-5 对应15-40BPM测试结果
|
||||
*6 对应是否正在等待测试结束
|
||||
@ -115,7 +116,7 @@ void bs_test_task(void* arg)
|
||||
/* 调节呼吸模拟器频率 */
|
||||
bs_bpm_send(bs_addr_all[testCount]);
|
||||
lv_label_set_text_fmt(ui_pageHome_labelBSInfo,"%s %s",test_rate[testCount],test_info[5]);
|
||||
vTaskDelay(5000 / portTICK_PERIOD_MS);
|
||||
vTaskDelay(10000 / portTICK_PERIOD_MS);
|
||||
|
||||
/* 下发测试时间 */
|
||||
flux_test_time_set(flux_test_time_series[testCount]);
|
||||
@ -140,28 +141,34 @@ void bs_test_task(void* arg)
|
||||
|
||||
/* 读取测试结果 */
|
||||
flux_test_result_get();
|
||||
WRITE_LOG_TO_SD("测试结果获取中");
|
||||
lv_label_set_text_fmt(ui_pageHome_labelBSInfo,"%s %s",test_rate[testCount],test_info[3]);
|
||||
|
||||
/* 等待2s进行结果获取 */
|
||||
vTaskDelay(2000 / portTICK_PERIOD_MS);
|
||||
vTaskDelay(3000 / portTICK_PERIOD_MS);
|
||||
|
||||
/* 清空进度条 */
|
||||
xEventGroupClearBits(g_bs_test_event_group,BIT6);
|
||||
FLUX_PROGRESS_BAR_CONTROL(0);
|
||||
|
||||
ESP_LOGI("bs_test_task", "判断事件组的值%lu", xEventGroupGetBits(g_bs_test_event_group));
|
||||
|
||||
/* 根据测试结果确定是否需要复测 */
|
||||
if (xEventGroupGetBits(g_bs_test_event_group) & g_bs_test_event_group_bits[testCount])
|
||||
if ((xEventGroupGetBits(g_bs_test_event_group) & g_bs_test_event_group_bits[testCount])!= 0)
|
||||
{
|
||||
/* 测试结果正常,进行下一挡位测试 */
|
||||
testCount++;
|
||||
WRITE_LOG_TO_SD("测试结果正常,进行下一挡位测试");
|
||||
|
||||
}else{
|
||||
WRITE_LOG_TO_SD("测试结果异常,再次测试?");
|
||||
/* 测试失败,重复上一次测试 */
|
||||
lv_label_set_text_fmt(ui_pageHome_labelBSInfo,"%s %s",test_rate[testCount],"retry");
|
||||
retest_count++;
|
||||
if(retest_count == 2)
|
||||
{
|
||||
lv_label_set_text_fmt(ui_pageHome_labelBSInfo,"%s %s",test_rate[testCount],"failed");
|
||||
|
||||
WRITE_LOG_TO_SD("测试失败 进行下一档测试,暂时放弃该挡位");
|
||||
/* 当前挡位失败,进行下一挡位测试 */
|
||||
retest_count = 0;
|
||||
testCount++;
|
||||
@ -169,6 +176,7 @@ void bs_test_task(void* arg)
|
||||
}
|
||||
if (testCount == 6)
|
||||
{
|
||||
WRITE_LOG_TO_SD("测试结束");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -177,6 +185,7 @@ void bs_test_task(void* arg)
|
||||
|
||||
lv_label_set_text_fmt(ui_pageHome_labelBSInfo,"%s",test_info[4]);
|
||||
|
||||
WRITE_LOG_TO_SD("测试结束 任务回收");
|
||||
/* 任务测试完毕 删除任务 */
|
||||
lv_label_set_text(ui_pageHome_labelStartTest1,"Start Test BS");
|
||||
lv_label_set_text(ui_pageHome_labelBSInfo,"wait for test");
|
||||
|
||||
@ -138,7 +138,13 @@ extern struct sockaddr_in server_addr;
|
||||
lv_label_set_text(ui_pageHome_LabelRate25Result, "0");\
|
||||
lv_label_set_text(ui_pageHome_LabelRate30Result, "0");\
|
||||
lv_label_set_text(ui_pageHome_LabelRate35Result, "0");\
|
||||
lv_label_set_text(ui_pageHome_LabelRate40Result, "0");
|
||||
lv_label_set_text(ui_pageHome_LabelRate40Result, "0");\
|
||||
lv_obj_set_style_text_color(ui_pageHome_LabelRate15Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);\
|
||||
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_LabelRate25Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);\
|
||||
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_LabelRate35Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);\
|
||||
lv_obj_set_style_text_color(ui_pageHome_LabelRate40Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
#define NOM_ALL_RESULT_CLEAR lv_label_set_text(ui_pageHome_labelTestResult, "0");
|
||||
|
||||
|
||||
@ -47,7 +47,13 @@ void time_synic_task(void *arg);
|
||||
void soft_timer_task(void* arg);
|
||||
#endif
|
||||
|
||||
/*获取当前时间*/
|
||||
/**
|
||||
* @brief 时间获取API
|
||||
*
|
||||
* 将时间转换为字符串上交
|
||||
*
|
||||
* @return 时间字符串提交函数
|
||||
*/
|
||||
char* get_time_str(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@ -216,6 +216,8 @@ void on_switchShutOff_valueChanged(lv_event_t * e)
|
||||
/* 清空SD卡中的内容 */
|
||||
void on_buttonClearSD_clicked(lv_event_t * e)
|
||||
{
|
||||
/* 取消掉掉这个功能 */
|
||||
#if 0
|
||||
server_addr.sin_family = AF_INET;
|
||||
server_addr.sin_port = htons(5656);
|
||||
server_addr.sin_addr.s_addr = inet_addr("192.168.155.238");
|
||||
@ -228,11 +230,14 @@ void on_buttonClearSD_clicked(lv_event_t * e)
|
||||
}else{
|
||||
ESP_LOGI("on_buttonClearSD_clicked", "sendto success");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void bs_clicked_1s(lv_timer_t * timer)
|
||||
{
|
||||
/* 隔了1秒后执行一次发送 false */
|
||||
uint16_t currentRate = lv_dropdown_get_selected(ui_pageLung_Dropdown1);
|
||||
|
||||
ModbusRTU_Send_0x05(bs_addr_all[currentRate],false);
|
||||
|
||||
}
|
||||
|
||||
@ -121,6 +121,14 @@ unsigned short CRC16(unsigned char* pchMsg, unsigned short wDataLen)
|
||||
*/
|
||||
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_rate_volume = 0;
|
||||
/* 记录测试结果是否合格 */
|
||||
bool is_test_result_right = true;
|
||||
|
||||
/* Configure parameters of an UART driver,
|
||||
* communication pins and install the driver */
|
||||
uart_config_t uart_config = {
|
||||
@ -220,42 +228,11 @@ void uart1_echoTask(void* arg)
|
||||
/* 若当前是NOM模式,直接刷新结果在Nom的界面 */
|
||||
RefreshResult();
|
||||
}else{
|
||||
WRITE_LOG_TO_SD("判断当前测试模式为BS模式");
|
||||
|
||||
/* 若当前是BS模式,刷新结果在BS的界面 */
|
||||
sdData.flux_test_result.test_result[currentTestRate] = sdData.flux_test_result.current_test_result;
|
||||
|
||||
/* 根据当前BS测试阶段刷新结果 */
|
||||
switch (currentTestRate)
|
||||
{
|
||||
case BS_RATE_15BPM:
|
||||
/* 如果当前测试挡位为15BPM,刷新结果在BS界面的15BPM界面 */
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate15Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
break;
|
||||
case BS_RATE_20BPM:
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate20Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
break;
|
||||
case BS_RATE_25BPM:
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate25Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
break;
|
||||
case BS_RATE_30BPM:
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate30Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
break;
|
||||
case BS_RATE_35BPM:
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate35Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
break;
|
||||
case BS_RATE_40BPM:
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate40Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* 获取当前设备类型 */
|
||||
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;
|
||||
|
||||
/* 判断测试结果是否合格 */
|
||||
switch (device_type)
|
||||
{
|
||||
@ -271,16 +248,89 @@ void uart1_echoTask(void* arg)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* 计算呼吸频率下的体积流量值 */
|
||||
stage_rate_volume = stage_volume/((currentTestRate+3.0)*5);
|
||||
|
||||
float stage_rate_volume = stage_volume/((currentTestRate+3.0)*5);
|
||||
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 */
|
||||
xEventGroupSetBits(g_bs_test_event_group,g_bs_test_event_group_bits[currentTestRate]);
|
||||
xEventGroupClearBits(g_bs_test_event_group,g_bs_test_event_group_bits[currentTestRate]);
|
||||
is_test_result_right = false;
|
||||
WRITE_LOG_TO_SD("测试结果不合格");
|
||||
}else{
|
||||
/* 测试合格*/
|
||||
xEventGroupClearBits(g_bs_test_event_group,g_bs_test_event_group_bits[currentTestRate]);
|
||||
xEventGroupSetBits(g_bs_test_event_group,g_bs_test_event_group_bits[currentTestRate]);
|
||||
is_test_result_right = true;
|
||||
WRITE_LOG_TO_SD("测试结果合格");
|
||||
}
|
||||
|
||||
/* 根据当前BS测试阶段刷新结果 */
|
||||
switch (currentTestRate)
|
||||
{
|
||||
case BS_RATE_15BPM:
|
||||
/* 如果当前测试挡位为15BPM,刷新结果在BS界面的15BPM界面 */
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate15Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
if (is_test_result_right == false)
|
||||
{
|
||||
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 测试结果合格 修改字体颜色为黑色");
|
||||
}
|
||||
break;
|
||||
case BS_RATE_20BPM:
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate20Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
if (is_test_result_right == false)
|
||||
{
|
||||
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);
|
||||
}
|
||||
break;
|
||||
case BS_RATE_25BPM:
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate25Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
if (is_test_result_right == false)
|
||||
{
|
||||
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);
|
||||
}
|
||||
break;
|
||||
case BS_RATE_30BPM:
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate30Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
if (is_test_result_right == false)
|
||||
{
|
||||
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);
|
||||
}
|
||||
break;
|
||||
case BS_RATE_35BPM:
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate35Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
if (is_test_result_right == false)
|
||||
{
|
||||
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);
|
||||
}
|
||||
break;
|
||||
case BS_RATE_40BPM:
|
||||
lv_label_set_text_fmt(ui_pageHome_LabelRate40Result,"%.1f",sdData.flux_test_result.current_test_result);
|
||||
if (is_test_result_right == false)
|
||||
{
|
||||
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);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}else{
|
||||
@ -376,7 +426,7 @@ void uart2_echoTask(void* arg)
|
||||
//lv_label_set_text(ui_pageLung_labelDataFromBS,(char *)data);
|
||||
lv_label_set_text_fmt(ui_pageLung_labelDataFromBS,"%02x %02x %02x %02x %02x %02x %02x %02x",data[0],data[1],data[2],data[3],data[4],data[5],data[6],data[7]);
|
||||
|
||||
ESP_LOGI("uart2_echoTask", "Read %d bytes: '%s'", len, data);
|
||||
//ESP_LOGI("uart2_echoTask", "Read %d bytes: '%s'", len, data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -183,13 +183,13 @@ extern "C" void app_main(void)
|
||||
lv_label_set_text(ui_pageHome_labelBSInfo,"wait for test");
|
||||
lv_label_set_text(ui_pageHome_labelstr21,"--BPM");
|
||||
|
||||
/* 设置测试结果为绿色 */
|
||||
lv_obj_set_style_text_color(ui_pageHome_LabelRate15Result, lv_color_hex(0x00FF00), 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);
|
||||
lv_obj_set_style_text_color(ui_pageHome_LabelRate25Result, lv_color_hex(0x00FF00), 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);
|
||||
lv_obj_set_style_text_color(ui_pageHome_LabelRate35Result, lv_color_hex(0x00FF00), 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);
|
||||
/* 设置测试结果为黑色 */
|
||||
lv_obj_set_style_text_color(ui_pageHome_LabelRate15Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
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_LabelRate25Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
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_LabelRate35Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(ui_pageHome_LabelRate40Result, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
/* UDP通讯接口初始化 */
|
||||
server_addr.sin_addr.s_addr = inet_addr(UDP_HOST_IP);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user