diff --git a/components/FluxProtocol/FluxProtocol.h b/components/FluxProtocol/FluxProtocol.h index 7ee85a2..5823b53 100644 --- a/components/FluxProtocol/FluxProtocol.h +++ b/components/FluxProtocol/FluxProtocol.h @@ -85,8 +85,6 @@ typedef struct FluxCommand uint32_t PLC_ADDR; }; - - #ifdef __cplusplus } /*extern "C"*/ #endif diff --git a/components/FluxUI/ui.c b/components/FluxUI/ui.c index c6544d4..e6969c5 100644 --- a/components/FluxUI/ui.c +++ b/components/FluxUI/ui.c @@ -558,7 +558,7 @@ void ui_event_pageHome_spinboxStageBS(lv_event_t * e) lv_event_code_t event_code = lv_event_get_code(e); if(event_code == LV_EVENT_VALUE_CHANGED) { - on_spinboxStage_valueChanged(e); + on_spinboxStageBS_valueChanged(e); } } diff --git a/components/FluxUI/ui_event_homePage.c b/components/FluxUI/ui_event_homePage.c index 43734e3..dd820b4 100644 --- a/components/FluxUI/ui_event_homePage.c +++ b/components/FluxUI/ui_event_homePage.c @@ -479,10 +479,111 @@ void on_dropdown_deviceTypeBS_valueChanged(lv_event_t * e) } /* 刷新标准值 */ - standard_volume_refresh(); + on_spinboxStageBS_valueChanged(e); #if LOG_RECORD_ENABLE example_write_log("on_dropdownDeviceType_valueChanged 设备类型修改成功"); #endif +} + +/** + * @brief BS界面 当前挡位发生修改事件 + * + * 按键按下后执行以下操作 + * 1.更新屏幕显示标准数据 + * 2.根据标准判断是否合格 + * + * @param[in] e not used + */ +void on_spinboxStageBS_valueChanged(lv_event_t * e) +{ + /* 获取当前挡位 */ + int32_t currentStage = lv_spinbox_get_value(ui_pageHome_spinboxStageBS); + + /* 获取当前测试设备类型 */ + uint16_t currentDevice = lv_dropdown_get_selected(ui_pageHome_DropdownTestTypeBS); + + /* 获取该挡位下的体积数据 */ + float nominalVolumeStage = 0; + if (currentDevice == Spirit3) + { + /*判定当前测试设备为Spirit-3*/ + nominalVolumeStage = Spirit3_Volume[currentStage-1]; + + }else if (currentDevice == Spirit6) + { + /*判定当前测试设备为Spirit-6*/ + nominalVolumeStage = Spirit6_Volume[currentStage-1]; + }else if(currentDevice == YU_Lite8) + { + /*判定当前测试设备为YU-Lite-8*/ + nominalVolumeStage = YULite8_Volume[currentStage-1]; + } + + /* 设置15 - 40 BPM对应标准体积值及其上下限 */ + { + float tmp_nml = 0; + float tmp_max = 0; + float tmp_min = 0; + + /* 计算15BPM标准体积值 */ + tmp_nml = nominalVolumeStage/15.0; + tmp_max = tmp_nml*1.15; + tmp_min = tmp_nml*0.85; + lv_label_set_text_fmt(ui_pageHome_LabelRate15STD, "%.1f",tmp_nml); + lv_label_set_text_fmt(ui_pageHome_LabelRate15UP, "%.1f",tmp_max); + lv_label_set_text_fmt(ui_pageHome_LabelRate15DOWN, "%.1f",tmp_min); + + /* 计算20BPM标准体积值 */ + tmp_nml = nominalVolumeStage/20.0; + tmp_max = tmp_nml*1.15; + tmp_min = tmp_nml*0.85; + lv_label_set_text_fmt(ui_pageHome_LabelRate20STD, "%.1f",tmp_nml); + lv_label_set_text_fmt(ui_pageHome_LabelRate20UP, "%.1f",tmp_max); + lv_label_set_text_fmt(ui_pageHome_LabelRate20DOWN, "%.1f",tmp_min); + + /* 计算25BPM标准体积值 */ + tmp_nml = nominalVolumeStage/25.0; + tmp_max = tmp_nml*1.15; + tmp_min = tmp_nml*0.85; + lv_label_set_text_fmt(ui_pageHome_LabelRate25STD, "%.1f",tmp_nml); + lv_label_set_text_fmt(ui_pageHome_LabelRate25UP, "%.1f",tmp_max); + lv_label_set_text_fmt(ui_pageHome_LabelRate25DOWN, "%.1f",tmp_min); + + /* 计算30BPM标准体积值 */ + tmp_nml = nominalVolumeStage/30.0; + tmp_max = tmp_nml*1.15; + tmp_min = tmp_nml*0.85; + lv_label_set_text_fmt(ui_pageHome_LabelRate30STD, "%.1f",tmp_nml); + lv_label_set_text_fmt(ui_pageHome_LabelRate30UP, "%.1f",tmp_max); + lv_label_set_text_fmt(ui_pageHome_LabelRate30DOWN, "%.1f",tmp_min); + + /* 计算35BPM标准体积值 */ + tmp_nml = nominalVolumeStage/35.0; + tmp_max = tmp_nml*1.15; + tmp_min = tmp_nml*0.85; + lv_label_set_text_fmt(ui_pageHome_LabelRate35STD, "%.1f",tmp_nml); + lv_label_set_text_fmt(ui_pageHome_LabelRate35UP, "%.1f",tmp_max); + lv_label_set_text_fmt(ui_pageHome_LabelRate35DOWN, "%.1f",tmp_min); + + /* 计算40BPM标准体积值 */ + tmp_nml = nominalVolumeStage/40.0; + tmp_max = tmp_nml*1.15; + tmp_min = tmp_nml*0.85; + lv_label_set_text_fmt(ui_pageHome_LabelRate40STD, "%.1f",tmp_nml); + lv_label_set_text_fmt(ui_pageHome_LabelRate40UP, "%.1f",tmp_max); + lv_label_set_text_fmt(ui_pageHome_LabelRate40DOWN, "%.1f",tmp_min); + } + + /* 更新BS界面中各频率值 */ + + /*根据标准值判定当前检测结果是否合格*/ + //RefreshResult(); + +#if LOG_RECORD_ENABLE + example_write_log("on_spinboxStageBS_valueChanged 刷新标准体积"); +#endif + + } \ No newline at end of file diff --git a/components/FluxUI/ui_events.h b/components/FluxUI/ui_events.h index c24db88..156f0af 100644 --- a/components/FluxUI/ui_events.h +++ b/components/FluxUI/ui_events.h @@ -12,11 +12,12 @@ extern "C" { void on_buttonStartTestBS_clicked(lv_event_t * e); void on_dropdown_deviceTypeBS_valueChanged(lv_event_t * e); -void on_spinboxStage_valueChanged(lv_event_t * e); +void on_spinboxStageBS_valueChanged(lv_event_t * e); void on_spinboxRate_valueChanged(lv_event_t * e); void on_buttonRateMinus_clicked(lv_event_t * e); void on_buttonRatePlus_clicked(lv_event_t * e); void on_labelTestVolume_valueChanged(lv_event_t * e); +void on_spinboxStage_valueChanged(lv_event_t * e); void on_buttonStartTest_clicked(lv_event_t * e); void on_sliderLight_valueChanged(lv_event_t * e); void on_dropdownDeviceType_valueChanged(lv_event_t * e); diff --git a/components/FluxUart/FluxUart.h b/components/FluxUart/FluxUart.h index a35a4f0..8b93ee1 100644 --- a/components/FluxUart/FluxUart.h +++ b/components/FluxUart/FluxUart.h @@ -160,6 +160,11 @@ extern EventGroupHandle_t start_state_event_group; #define RESULT_FAULT lv_obj_set_style_bg_color(ui_pageHome_panelTestResult,lv_color_hex(0xFF0000),LV_PART_MAIN);\ lv_label_set_text(ui_pageHome_labelTestResult,"X"); +/* 定义主界面进度条显示控制函数 */ +#define FLUX_PROGRESS_BAR_CONTROL(x) \ + lv_bar_set_value(ui_pageHome_BarTestProgBS, x, LV_ANIM_ON);\ + lv_label_set_text_fmt(ui_pageHome_labelstr21,"%d%% ",x); + /** * @brief 串口1收发任务 (流量计) * diff --git a/main/main.cpp b/main/main.cpp index 334da07..46719d1 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -11,6 +11,7 @@ #define PROGRESS_DELAY_TIME 500 + /* 声明清空测试结果的函数 */ static void ui_bs_parm_clear(void); @@ -122,6 +123,7 @@ extern "C" void app_main(void) /* 触发设备类型修改事件 */ lv_event_send(ui_pageSetting_dropdownDeviceType,LV_EVENT_VALUE_CHANGED,NULL); + lv_event_send(ui_pageHome_DropdownTestTypeBS,LV_EVENT_VALUE_CHANGED,NULL); /* 触发挡位修改事件 */ lv_event_send(ui_pageHome_spinboxStage,LV_EVENT_VALUE_CHANGED,NULL); @@ -139,6 +141,16 @@ extern "C" void app_main(void) example_write_log("main 函数执行完毕"); #endif + /* 设置测试结果为绿色 */ + 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); + + /* 设置进度条为0 */ + FLUX_PROGRESS_BAR_CONTROL(0); } static void ui_bs_parm_clear(void) @@ -147,36 +159,36 @@ static void ui_bs_parm_clear(void) lv_label_set_text(ui_pageHome_LabelRate15DOWN, "--.-"); lv_label_set_text(ui_pageHome_LabelRate15UP, "--.-"); lv_label_set_text(ui_pageHome_LabelRate15STD, "--.-"); - lv_label_set_text(ui_pageHome_LabelRate15Result, "--.-"); + lv_label_set_text(ui_pageHome_LabelRate15Result, "0"); /* 20BPM清空 */ lv_label_set_text(ui_pageHome_LabelRate20DOWN, "--.-"); lv_label_set_text(ui_pageHome_LabelRate20UP, "--.-"); lv_label_set_text(ui_pageHome_LabelRate20STD, "--.-"); - lv_label_set_text(ui_pageHome_LabelRate20Result, "--.-"); + lv_label_set_text(ui_pageHome_LabelRate20Result, "0"); /* 25BPM清空 */ lv_label_set_text(ui_pageHome_LabelRate25DOWN, "--.-"); lv_label_set_text(ui_pageHome_LabelRate25UP, "--.-"); lv_label_set_text(ui_pageHome_LabelRate25STD, "--.-"); - lv_label_set_text(ui_pageHome_LabelRate25Result, "--.-"); + lv_label_set_text(ui_pageHome_LabelRate25Result, "0"); /* 30BPM清空 */ lv_label_set_text(ui_pageHome_LabelRate30DOWN, "--.-"); lv_label_set_text(ui_pageHome_LabelRate30UP, "--.-"); lv_label_set_text(ui_pageHome_LabelRate30STD, "--.-"); - lv_label_set_text(ui_pageHome_LabelRate30Result, "--.-"); + lv_label_set_text(ui_pageHome_LabelRate30Result, "0"); /* 35BPM清空 */ lv_label_set_text(ui_pageHome_LabelRate35DOWN, "--.-"); lv_label_set_text(ui_pageHome_LabelRate35UP, "--.-"); lv_label_set_text(ui_pageHome_LabelRate35STD, "--.-"); - lv_label_set_text(ui_pageHome_LabelRate35Result, "--.-"); + lv_label_set_text(ui_pageHome_LabelRate35Result, "0"); /* 40BPM清空 */ lv_label_set_text(ui_pageHome_LabelRate40DOWN, "--.-"); lv_label_set_text(ui_pageHome_LabelRate40UP, "--.-"); lv_label_set_text(ui_pageHome_LabelRate40STD, "--.-"); - lv_label_set_text(ui_pageHome_LabelRate40Result, "--.-"); + lv_label_set_text(ui_pageHome_LabelRate40Result, "0"); //修改了 } \ No newline at end of file