修复了界面显示内容

This commit is contained in:
ipason 2025-04-25 09:03:30 +08:00
parent 550f288261
commit 4a7766a1cd
5 changed files with 42 additions and 10 deletions

View File

@ -14,6 +14,8 @@
#include "FluxSD.h"
#include "esp_log.h"
#include "math.h"
/* 定义用于存储当前工作模式的变量,默认是bs模式 */
extern bool is_test_mode_nom;
@ -93,7 +95,11 @@ void bs_test_task(void* arg)
uint8_t testCount = 0;
/* 清空所有事件组 */
xEventGroupClearBits(g_bs_test_event_group,BIT0|BIT1|BIT2|BIT3|BIT4|BIT5);
xEventGroupClearBits(g_bs_test_event_group,BIT0|BIT1|BIT2|BIT3|BIT4|BIT5|BIT6);
/*
*0-5 15-40BPM测试结果
*6
*/
while(1)
{
@ -117,6 +123,11 @@ void bs_test_task(void* arg)
/* 等待测试结束 */
currentTestRate = (enum Bs_test_Rate)testCount;
lv_bar_set_value(ui_pageHome_BarTestProgBS,0,LV_ANIM_ON);
lv_label_set_text_fmt(ui_pageHome_labelstr21,test_rate[currentTestRate]);
xEventGroupSetBits(g_bs_test_event_group,BIT6);
/* 开始进行延时操作 */
vTaskDelay(flux_test_time_series[testCount]*1000 / portTICK_PERIOD_MS);
lv_label_set_text_fmt(ui_pageHome_labelBSInfo,"%s %s",test_rate[testCount],test_info[2]);
@ -129,6 +140,10 @@ void bs_test_task(void* arg)
/* 等待2s进行结果获取 */
vTaskDelay(2000 / portTICK_PERIOD_MS);
/* 清空进度条 */
xEventGroupClearBits(g_bs_test_event_group,BIT6);
FLUX_PROGRESS_BAR_CONTROL(0);
/* 根据测试结果确定是否需要复测 */
if (xEventGroupGetBits(g_bs_test_event_group) & g_bs_test_event_group_bits[testCount])
{
@ -160,8 +175,9 @@ void bs_test_task(void* arg)
/* 任务测试完毕 删除任务 */
lv_label_set_text(ui_pageHome_labelStartTest1,"Start Test BS");
lv_label_set_text(ui_pageHome_labelBSInfo,"wait for test");
lv_label_set_text(ui_pageHome_labelstr21,"--BPM");
is_bs_test_ing = false;
FLUX_PROGRESS_BAR_CONTROL(0);
/* 挂起LED显示任务 */
BS_STATE_LED_TASK_SUSPEND;
@ -182,6 +198,10 @@ void bs_test_task(void* arg)
*/
void bs_test_led_task(void* arg)
{
int32_t time_all = 0;
int32_t bar_plus = 0;
int32_t current_bar_value = 0;
while(1)
{
vTaskDelay(BS_LED_BLINK_INTERVAL_MS / portTICK_PERIOD_MS);
@ -189,6 +209,19 @@ void bs_test_led_task(void* arg)
vTaskDelay(BS_LED_BLINK_INTERVAL_MS / portTICK_PERIOD_MS);
lv_obj_set_style_bg_color(ui_pageHome_panelBSLEDing,lv_color_hex(0xFFFFFF),LV_PART_MAIN);
/* 获取总的测试时间 */
time_all = flux_test_time_series[currentTestRate];
/* 获取每次需要累加的值*/
bar_plus = ceil(lv_bar_get_max_value(ui_pageHome_BarTestProgBS) / time_all);
/* 获取当前的进度条值*/
current_bar_value = lv_bar_get_value(ui_pageHome_BarTestProgBS);
if((current_bar_value + bar_plus < lv_bar_get_max_value(ui_pageHome_BarTestProgBS))&&(xEventGroupGetBits(g_bs_test_event_group)&BIT6))
{
lv_bar_set_value(ui_pageHome_BarTestProgBS,current_bar_value + bar_plus,LV_ANIM_ON);
}
}
}

View File

@ -659,7 +659,7 @@ void ui_pageHome_screen_init(void)
ui_pageHome_BarTestProgBS = lv_bar_create(ui_pageHome_panelResult1);
lv_obj_set_width(ui_pageHome_BarTestProgBS, 164);
lv_obj_set_height(ui_pageHome_BarTestProgBS, 10);
lv_obj_set_x(ui_pageHome_BarTestProgBS, -5);
lv_obj_set_x(ui_pageHome_BarTestProgBS, -7);
lv_obj_set_y(ui_pageHome_BarTestProgBS, 41);
lv_obj_set_align(ui_pageHome_BarTestProgBS, LV_ALIGN_CENTER);
@ -681,9 +681,9 @@ void ui_pageHome_screen_init(void)
lv_obj_set_width(ui_pageHome_labelstr21, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_pageHome_labelstr21, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_pageHome_labelstr21, 102);
lv_obj_set_y(ui_pageHome_labelstr21, 40);
lv_obj_set_y(ui_pageHome_labelstr21, 42);
lv_obj_set_align(ui_pageHome_labelstr21, LV_ALIGN_CENTER);
lv_label_set_text(ui_pageHome_labelstr21, "0%");
lv_label_set_text(ui_pageHome_labelstr21, "15BPM");
lv_obj_set_style_text_font(ui_pageHome_labelstr21, &ui_font_MiSansN14, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_pageHome_labelstr7 = lv_label_create(ui_pageHome_panelResult1);

View File

@ -501,7 +501,7 @@ void on_buttonStartTestBS_clicked(lv_event_t * e)
BS_ALL_RESULT_CLEAR;
/* 清空进度条 */
lv_bar_set_value(ui_pageHome_BarTestProgBS, 0, LV_ANIM_ON);
lv_label_set_text_fmt(ui_pageHome_labelstr21,"%d%% ",0);
lv_label_set_text(ui_pageHome_labelstr21,"--BPM");
lv_label_set_text(ui_pageHome_labelStartTest1,"Start Test BS");
lv_label_set_text(ui_pageHome_labelBSInfo,"wait for test");

View File

@ -164,9 +164,7 @@ extern bool is_test_mode_nom;
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);
#define FLUX_PROGRESS_BAR_CONTROL(x) lv_bar_set_value(ui_pageHome_BarTestProgBS, x, LV_ANIM_ON);
/**
* @brief 1

View File

@ -175,6 +175,7 @@ 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);