常规模式成功添加进度条及LED灯
This commit is contained in:
parent
4479b9b00c
commit
cdb811ac5a
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -52,6 +52,7 @@
|
||||
"fluxsd.h": "c",
|
||||
"bitset": "c",
|
||||
"algorithm": "c",
|
||||
"format": "c"
|
||||
"format": "c",
|
||||
"cstdint": "c"
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,9 +26,13 @@ enum Bs_test_Stage currentTestStage = BS_STAGE_NONE;
|
||||
|
||||
/* 应用 event_homePage 中的测试状态显示变量 */
|
||||
extern bool is_bs_test_ing;
|
||||
extern bool is_nom_test_ing;
|
||||
|
||||
extern void comulate_time_set(void);
|
||||
|
||||
/* 定义控制LED小灯的任务句柄 */
|
||||
TaskHandle_t bs_stateLED_task_handle;
|
||||
TaskHandle_t nom_stateLED_task_handle;
|
||||
|
||||
/*
|
||||
* @brief 拼接测试过程中用于展示的字符串
|
||||
@ -50,6 +54,45 @@ char *test_info[] = {"Time setting sent successfully!!",\
|
||||
/* 导出协议数据结构体 */
|
||||
struct FluxProtocol fluxProtocol;
|
||||
|
||||
/**
|
||||
* @brief 新建用于进行带常规测试的任务函数
|
||||
*
|
||||
* @param[in] arg not used
|
||||
*
|
||||
*/
|
||||
void nom_test_task(void* arg)
|
||||
{
|
||||
float time = 0;
|
||||
|
||||
while (1)
|
||||
{
|
||||
/* 开始测试前 下发积分时间,确保测试时间正确 */
|
||||
comulate_time_set();
|
||||
time = (float)lv_spinbox_get_value(ui_pageFluxRead_spinboxTime);
|
||||
flux_test_time_set(time);
|
||||
|
||||
lv_label_set_text(ui_pageHome_labelStartTest,"Cancel Test Nom");
|
||||
lv_bar_set_value(ui_pageHome_barNomTest,0,LV_ANIM_ON);
|
||||
|
||||
/* 恢复LED显示任务 */
|
||||
vTaskResume(nom_stateLED_task_handle);
|
||||
|
||||
/* 测试开始 */
|
||||
|
||||
vTaskDelay(time*1000 / portTICK_PERIOD_MS);
|
||||
|
||||
/* 测试结束 */
|
||||
lv_label_set_text(ui_pageHome_labelStartTest,"Start Test Nom");
|
||||
is_nom_test_ing = false;
|
||||
/* 挂起LED显示任务 */
|
||||
NOM_STATE_LED_TASK_SUSPEND;
|
||||
|
||||
lv_bar_set_value(ui_pageHome_barNomTest,0,LV_ANIM_ON);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 新建用于进行带BS测试的任务函数
|
||||
*
|
||||
@ -150,6 +193,44 @@ void bs_test_led_task(void* arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 测试状态显示线程
|
||||
*
|
||||
* 设置一个LED小灯,测试的时候bling bling 闪
|
||||
*
|
||||
* @param[in] arg not used
|
||||
*
|
||||
*/
|
||||
void nom_test_led_task(void* arg)
|
||||
{
|
||||
int32_t time_all = 0;
|
||||
|
||||
int32_t bar_plus = 0;
|
||||
int32_t current_bar_value = 0;
|
||||
|
||||
while(1)
|
||||
{
|
||||
vTaskDelay(NOM_LED_BLINK_INTERVAL_MS / portTICK_PERIOD_MS);
|
||||
lv_obj_set_style_bg_color(ui_pageHome_panelNomTest,lv_color_hex(0x00FF00),LV_PART_MAIN);
|
||||
|
||||
vTaskDelay(NOM_LED_BLINK_INTERVAL_MS / portTICK_PERIOD_MS);
|
||||
lv_obj_set_style_bg_color(ui_pageHome_panelNomTest,lv_color_hex(0xFFFFFF),LV_PART_MAIN);
|
||||
|
||||
/* 获取总的测试时间 */
|
||||
time_all = lv_spinbox_get_value(ui_pageFluxRead_spinboxTime);
|
||||
|
||||
/* 获取每次需要累加的值*/
|
||||
bar_plus = lv_bar_get_max_value(ui_pageHome_barNomTest) / time_all;
|
||||
|
||||
/* 获取当前的进度条值*/
|
||||
current_bar_value = lv_bar_get_value(ui_pageHome_barNomTest);
|
||||
if (current_bar_value + bar_plus < lv_bar_get_max_value(ui_pageHome_barNomTest))
|
||||
{
|
||||
lv_bar_set_value(ui_pageHome_barNomTest,current_bar_value+bar_plus,LV_ANIM_ON);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 向流量计下发测试时间
|
||||
*
|
||||
|
||||
@ -41,9 +41,11 @@ extern char *test_info[];
|
||||
|
||||
/* 导出LED小灯控制句柄 */
|
||||
extern TaskHandle_t bs_stateLED_task_handle;
|
||||
extern TaskHandle_t nom_stateLED_task_handle;
|
||||
|
||||
/* 定义LED小灯闪烁时间间隔 ms */
|
||||
#define BS_LED_BLINK_INTERVAL_MS 500
|
||||
#define NOM_LED_BLINK_INTERVAL_MS 500
|
||||
|
||||
/* 定义枚举用于标记当前测试阶段 */
|
||||
typedef enum Bs_test_Stage{
|
||||
@ -117,10 +119,16 @@ typedef struct FluxCommand
|
||||
lv_label_set_text(ui_pageHome_LabelRate35Result, "0");\
|
||||
lv_label_set_text(ui_pageHome_LabelRate40Result, "0");
|
||||
|
||||
#define NOM_ALL_RESULT_CLEAR lv_label_set_text(ui_pageHome_labelTestResult, "0");
|
||||
|
||||
/* 创建led任务挂起宏函数 */
|
||||
#define BS_STATE_LED_TASK_SUSPEND vTaskSuspend(bs_stateLED_task_handle);\
|
||||
lv_obj_set_style_bg_color(ui_pageHome_panelBSLEDing,lv_color_hex(0xFFFFFF),LV_PART_MAIN);
|
||||
|
||||
/* 创建常规测试led任务挂起宏函数 */
|
||||
#define NOM_STATE_LED_TASK_SUSPEND vTaskSuspend(nom_stateLED_task_handle);\
|
||||
lv_obj_set_style_bg_color(ui_pageHome_panelNomTest,lv_color_hex(0xFFFFFF),LV_PART_MAIN);
|
||||
|
||||
/* BS测试过程中快速显示测试状态 */
|
||||
#define BS_HOMEPAGE_SHOW(x) lv_label_set_text(ui_pageHome_labelBSInfo,x);
|
||||
|
||||
@ -174,6 +182,24 @@ void flux_test_start(void);
|
||||
*/
|
||||
void flux_test_result_get(void);
|
||||
|
||||
/**
|
||||
* @brief 测试状态显示线程
|
||||
*
|
||||
* 设置一个LED小灯,测试的时候bling bling 闪
|
||||
*
|
||||
* @param[in] arg not used
|
||||
*
|
||||
*/
|
||||
void nom_test_led_task(void* arg);
|
||||
|
||||
/**
|
||||
* @brief 新建用于进行带常规测试的任务函数
|
||||
*
|
||||
* @param[in] arg not used
|
||||
*
|
||||
*/
|
||||
void nom_test_task(void* arg);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
@ -272,7 +272,7 @@ void ui_pageHome_screen_init(void)
|
||||
lv_obj_set_width(ui_pageHome_panelCenter, 297);
|
||||
lv_obj_set_height(ui_pageHome_panelCenter, 430);
|
||||
lv_obj_set_x(ui_pageHome_panelCenter, 0);
|
||||
lv_obj_set_y(ui_pageHome_panelCenter, -1);
|
||||
lv_obj_set_y(ui_pageHome_panelCenter, 1);
|
||||
lv_obj_set_align(ui_pageHome_panelCenter, LV_ALIGN_CENTER);
|
||||
lv_obj_clear_flag(ui_pageHome_panelCenter, LV_OBJ_FLAG_SCROLLABLE); /// Flags
|
||||
lv_obj_set_style_radius(ui_pageHome_panelCenter, 15, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
@ -791,17 +791,17 @@ void ui_pageHome_screen_init(void)
|
||||
ui_pageHome_panelLeft = lv_obj_create(ui_pageHome_panelBody);
|
||||
lv_obj_set_width(ui_pageHome_panelLeft, 297);
|
||||
lv_obj_set_height(ui_pageHome_panelLeft, 430);
|
||||
lv_obj_set_x(ui_pageHome_panelLeft, -313);
|
||||
lv_obj_set_y(ui_pageHome_panelLeft, -2);
|
||||
lv_obj_set_x(ui_pageHome_panelLeft, -320);
|
||||
lv_obj_set_y(ui_pageHome_panelLeft, 0);
|
||||
lv_obj_set_align(ui_pageHome_panelLeft, LV_ALIGN_CENTER);
|
||||
lv_obj_clear_flag(ui_pageHome_panelLeft, LV_OBJ_FLAG_SCROLLABLE); /// Flags
|
||||
lv_obj_set_style_radius(ui_pageHome_panelLeft, 15, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_panelNominal = lv_obj_create(ui_pageHome_panelLeft);
|
||||
lv_obj_set_width(ui_pageHome_panelNominal, 266);
|
||||
lv_obj_set_height(ui_pageHome_panelNominal, 50);
|
||||
lv_obj_set_height(ui_pageHome_panelNominal, 47);
|
||||
lv_obj_set_x(ui_pageHome_panelNominal, 0);
|
||||
lv_obj_set_y(ui_pageHome_panelNominal, -118);
|
||||
lv_obj_set_y(ui_pageHome_panelNominal, -134);
|
||||
lv_obj_set_align(ui_pageHome_panelNominal, LV_ALIGN_CENTER);
|
||||
lv_obj_clear_flag(ui_pageHome_panelNominal, LV_OBJ_FLAG_SCROLLABLE); /// Flags
|
||||
|
||||
@ -848,37 +848,35 @@ void ui_pageHome_screen_init(void)
|
||||
|
||||
ui_pageHome_panelRate = lv_obj_create(ui_pageHome_panelLeft);
|
||||
lv_obj_set_width(ui_pageHome_panelRate, 266);
|
||||
lv_obj_set_height(ui_pageHome_panelRate, 100);
|
||||
lv_obj_set_height(ui_pageHome_panelRate, 79);
|
||||
lv_obj_set_x(ui_pageHome_panelRate, 0);
|
||||
lv_obj_set_y(ui_pageHome_panelRate, -33);
|
||||
lv_obj_set_y(ui_pageHome_panelRate, -66);
|
||||
lv_obj_set_align(ui_pageHome_panelRate, LV_ALIGN_CENTER);
|
||||
lv_obj_clear_flag(ui_pageHome_panelRate, LV_OBJ_FLAG_SCROLLABLE); /// Flags
|
||||
|
||||
ui_pageHome_labelstr4 = lv_label_create(ui_pageHome_panelRate);
|
||||
lv_obj_set_width(ui_pageHome_labelstr4, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_height(ui_pageHome_labelstr4, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_x(ui_pageHome_labelstr4, -49);
|
||||
lv_obj_set_y(ui_pageHome_labelstr4, -23);
|
||||
lv_obj_set_x(ui_pageHome_labelstr4, -71);
|
||||
lv_obj_set_y(ui_pageHome_labelstr4, -20);
|
||||
lv_obj_set_align(ui_pageHome_labelstr4, LV_ALIGN_CENTER);
|
||||
lv_label_set_text(ui_pageHome_labelstr4, "呼吸频率BPM");
|
||||
lv_label_set_text(ui_pageHome_labelstr4, "频率BPM");
|
||||
lv_obj_set_style_text_font(ui_pageHome_labelstr4, &ui_font_homeText, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_spinboxRate = lv_spinbox_create(ui_pageHome_panelRate);
|
||||
lv_obj_set_width(ui_pageHome_spinboxRate, 70);
|
||||
lv_obj_set_height(ui_pageHome_spinboxRate, 40);
|
||||
lv_obj_set_x(ui_pageHome_spinboxRate, 80);
|
||||
lv_obj_set_y(ui_pageHome_spinboxRate, -23);
|
||||
lv_obj_set_width(ui_pageHome_spinboxRate, 45);
|
||||
lv_obj_set_height(ui_pageHome_spinboxRate, 35);
|
||||
lv_obj_set_x(ui_pageHome_spinboxRate, 0);
|
||||
lv_obj_set_y(ui_pageHome_spinboxRate, 14);
|
||||
lv_obj_set_align(ui_pageHome_spinboxRate, LV_ALIGN_CENTER);
|
||||
lv_spinbox_set_digit_format(ui_pageHome_spinboxRate, 3, 0);
|
||||
lv_spinbox_set_digit_format(ui_pageHome_spinboxRate, 2, 0);
|
||||
lv_spinbox_set_range(ui_pageHome_spinboxRate, 15, 40);
|
||||
lv_spinbox_set_cursor_pos(ui_pageHome_spinboxRate, 1 - 1);
|
||||
lv_spinbox_set_value(ui_pageHome_spinboxRate, 15);
|
||||
lv_obj_set_style_pad_left(ui_pageHome_spinboxRate, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_pad_right(ui_pageHome_spinboxRate, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_pad_top(ui_pageHome_spinboxRate, 7, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_pad_top(ui_pageHome_spinboxRate, 10, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_pad_bottom(ui_pageHome_spinboxRate, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_pad_row(ui_pageHome_spinboxRate, 10, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_pad_column(ui_pageHome_spinboxRate, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_align(ui_pageHome_spinboxRate, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_font(ui_pageHome_spinboxRate, &ui_font_homePanelLabel, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
@ -890,8 +888,8 @@ void ui_pageHome_screen_init(void)
|
||||
ui_pageHome_buttonRateMinus = lv_btn_create(ui_pageHome_panelRate);
|
||||
lv_obj_set_width(ui_pageHome_buttonRateMinus, 100);
|
||||
lv_obj_set_height(ui_pageHome_buttonRateMinus, 37);
|
||||
lv_obj_set_x(ui_pageHome_buttonRateMinus, -68);
|
||||
lv_obj_set_y(ui_pageHome_buttonRateMinus, 19);
|
||||
lv_obj_set_x(ui_pageHome_buttonRateMinus, -78);
|
||||
lv_obj_set_y(ui_pageHome_buttonRateMinus, 14);
|
||||
lv_obj_set_align(ui_pageHome_buttonRateMinus, LV_ALIGN_CENTER);
|
||||
|
||||
ui_pageHome_labelRateMinus = lv_label_create(ui_pageHome_buttonRateMinus);
|
||||
@ -906,8 +904,8 @@ void ui_pageHome_screen_init(void)
|
||||
ui_pageHome_buttonRatePlus = lv_btn_create(ui_pageHome_panelRate);
|
||||
lv_obj_set_width(ui_pageHome_buttonRatePlus, 100);
|
||||
lv_obj_set_height(ui_pageHome_buttonRatePlus, 37);
|
||||
lv_obj_set_x(ui_pageHome_buttonRatePlus, 57);
|
||||
lv_obj_set_y(ui_pageHome_buttonRatePlus, 19);
|
||||
lv_obj_set_x(ui_pageHome_buttonRatePlus, 78);
|
||||
lv_obj_set_y(ui_pageHome_buttonRatePlus, 14);
|
||||
lv_obj_set_align(ui_pageHome_buttonRatePlus, LV_ALIGN_CENTER);
|
||||
|
||||
ui_pageHome_labelRatePlus = lv_label_create(ui_pageHome_buttonRatePlus);
|
||||
@ -921,9 +919,9 @@ void ui_pageHome_screen_init(void)
|
||||
|
||||
ui_pageHome_panelResult = lv_obj_create(ui_pageHome_panelLeft);
|
||||
lv_obj_set_width(ui_pageHome_panelResult, 266);
|
||||
lv_obj_set_height(ui_pageHome_panelResult, 50);
|
||||
lv_obj_set_height(ui_pageHome_panelResult, 42);
|
||||
lv_obj_set_x(ui_pageHome_panelResult, 1);
|
||||
lv_obj_set_y(ui_pageHome_panelResult, -178);
|
||||
lv_obj_set_y(ui_pageHome_panelResult, -184);
|
||||
lv_obj_set_align(ui_pageHome_panelResult, LV_ALIGN_CENTER);
|
||||
lv_obj_clear_flag(ui_pageHome_panelResult, LV_OBJ_FLAG_SCROLLABLE); /// Flags
|
||||
|
||||
@ -948,17 +946,17 @@ void ui_pageHome_screen_init(void)
|
||||
|
||||
ui_pageHome_panelStage = lv_obj_create(ui_pageHome_panelLeft);
|
||||
lv_obj_set_width(ui_pageHome_panelStage, 266);
|
||||
lv_obj_set_height(ui_pageHome_panelStage, 80);
|
||||
lv_obj_set_x(ui_pageHome_panelStage, 0);
|
||||
lv_obj_set_y(ui_pageHome_panelStage, 64);
|
||||
lv_obj_set_height(ui_pageHome_panelStage, 83);
|
||||
lv_obj_set_x(ui_pageHome_panelStage, -1);
|
||||
lv_obj_set_y(ui_pageHome_panelStage, 24);
|
||||
lv_obj_set_align(ui_pageHome_panelStage, LV_ALIGN_CENTER);
|
||||
lv_obj_clear_flag(ui_pageHome_panelStage, LV_OBJ_FLAG_SCROLLABLE); /// Flags
|
||||
|
||||
ui_pageHome_buttonMinus = lv_btn_create(ui_pageHome_panelStage);
|
||||
lv_obj_set_width(ui_pageHome_buttonMinus, 94);
|
||||
lv_obj_set_width(ui_pageHome_buttonMinus, 100);
|
||||
lv_obj_set_height(ui_pageHome_buttonMinus, 37);
|
||||
lv_obj_set_x(ui_pageHome_buttonMinus, -75);
|
||||
lv_obj_set_y(ui_pageHome_buttonMinus, 14);
|
||||
lv_obj_set_x(ui_pageHome_buttonMinus, -79);
|
||||
lv_obj_set_y(ui_pageHome_buttonMinus, 18);
|
||||
lv_obj_set_align(ui_pageHome_buttonMinus, LV_ALIGN_CENTER);
|
||||
lv_obj_set_style_text_color(ui_pageHome_buttonMinus, lv_color_hex(0x050000), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_opa(ui_pageHome_buttonMinus, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
@ -977,8 +975,8 @@ void ui_pageHome_screen_init(void)
|
||||
ui_pageHome_buttonAdd = lv_btn_create(ui_pageHome_panelStage);
|
||||
lv_obj_set_width(ui_pageHome_buttonAdd, 100);
|
||||
lv_obj_set_height(ui_pageHome_buttonAdd, 37);
|
||||
lv_obj_set_x(ui_pageHome_buttonAdd, 71);
|
||||
lv_obj_set_y(ui_pageHome_buttonAdd, 14);
|
||||
lv_obj_set_x(ui_pageHome_buttonAdd, 79);
|
||||
lv_obj_set_y(ui_pageHome_buttonAdd, 18);
|
||||
lv_obj_set_align(ui_pageHome_buttonAdd, LV_ALIGN_CENTER);
|
||||
lv_obj_set_style_text_color(ui_pageHome_buttonAdd, lv_color_hex(0x050000), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_opa(ui_pageHome_buttonAdd, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
@ -997,17 +995,17 @@ void ui_pageHome_screen_init(void)
|
||||
ui_pageHome_labelstr6 = lv_label_create(ui_pageHome_panelStage);
|
||||
lv_obj_set_width(ui_pageHome_labelstr6, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_height(ui_pageHome_labelstr6, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_x(ui_pageHome_labelstr6, -67);
|
||||
lv_obj_set_y(ui_pageHome_labelstr6, -21);
|
||||
lv_obj_set_x(ui_pageHome_labelstr6, -75);
|
||||
lv_obj_set_y(ui_pageHome_labelstr6, -20);
|
||||
lv_obj_set_align(ui_pageHome_labelstr6, LV_ALIGN_CENTER);
|
||||
lv_label_set_text(ui_pageHome_labelstr6, "当前挡位");
|
||||
lv_label_set_text(ui_pageHome_labelstr6, "测试挡位");
|
||||
lv_obj_set_style_text_font(ui_pageHome_labelstr6, &ui_font_homeText, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_spinboxStage = lv_spinbox_create(ui_pageHome_panelStage);
|
||||
lv_obj_set_width(ui_pageHome_spinboxStage, 40);
|
||||
lv_obj_set_height(ui_pageHome_spinboxStage, 40);
|
||||
lv_obj_set_x(ui_pageHome_spinboxStage, -2);
|
||||
lv_obj_set_y(ui_pageHome_spinboxStage, 15);
|
||||
lv_obj_set_height(ui_pageHome_spinboxStage, 35);
|
||||
lv_obj_set_x(ui_pageHome_spinboxStage, 0);
|
||||
lv_obj_set_y(ui_pageHome_spinboxStage, 18);
|
||||
lv_obj_set_align(ui_pageHome_spinboxStage, LV_ALIGN_CENTER);
|
||||
lv_obj_clear_flag(ui_pageHome_spinboxStage, LV_OBJ_FLAG_CLICKABLE); /// Flags
|
||||
lv_spinbox_set_digit_format(ui_pageHome_spinboxStage, 1, 1);
|
||||
@ -1028,29 +1026,37 @@ void ui_pageHome_screen_init(void)
|
||||
lv_obj_set_style_text_color(ui_pageHome_spinboxStage, lv_color_hex(0x030000), LV_PART_CURSOR | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_opa(ui_pageHome_spinboxStage, 255, LV_PART_CURSOR | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_labelstr1 = lv_label_create(ui_pageHome_panelLeft);
|
||||
ui_pageHome_Panel8 = lv_obj_create(ui_pageHome_panelLeft);
|
||||
lv_obj_set_width(ui_pageHome_Panel8, 266);
|
||||
lv_obj_set_height(ui_pageHome_Panel8, 40);
|
||||
lv_obj_set_x(ui_pageHome_Panel8, 0);
|
||||
lv_obj_set_y(ui_pageHome_Panel8, 122);
|
||||
lv_obj_set_align(ui_pageHome_Panel8, LV_ALIGN_CENTER);
|
||||
lv_obj_clear_flag(ui_pageHome_Panel8, LV_OBJ_FLAG_SCROLLABLE); /// Flags
|
||||
|
||||
ui_pageHome_labelstr1 = lv_label_create(ui_pageHome_Panel8);
|
||||
lv_obj_set_width(ui_pageHome_labelstr1, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_height(ui_pageHome_labelstr1, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_x(ui_pageHome_labelstr1, -98);
|
||||
lv_obj_set_y(ui_pageHome_labelstr1, 122);
|
||||
lv_obj_set_x(ui_pageHome_labelstr1, -91);
|
||||
lv_obj_set_y(ui_pageHome_labelstr1, 0);
|
||||
lv_obj_set_align(ui_pageHome_labelstr1, LV_ALIGN_CENTER);
|
||||
lv_label_set_text(ui_pageHome_labelstr1, "测试结果:");
|
||||
lv_obj_set_style_text_font(ui_pageHome_labelstr1, &ui_font_MiSansN, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_labelstr2 = lv_label_create(ui_pageHome_panelLeft);
|
||||
ui_pageHome_labelstr2 = lv_label_create(ui_pageHome_Panel8);
|
||||
lv_obj_set_width(ui_pageHome_labelstr2, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_height(ui_pageHome_labelstr2, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_x(ui_pageHome_labelstr2, -27);
|
||||
lv_obj_set_y(ui_pageHome_labelstr2, 123);
|
||||
lv_obj_set_x(ui_pageHome_labelstr2, -30);
|
||||
lv_obj_set_y(ui_pageHome_labelstr2, 0);
|
||||
lv_obj_set_align(ui_pageHome_labelstr2, LV_ALIGN_CENTER);
|
||||
lv_label_set_text(ui_pageHome_labelstr2, "档");
|
||||
lv_obj_set_style_text_font(ui_pageHome_labelstr2, &ui_font_MiSansN, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_panelTestResult = lv_obj_create(ui_pageHome_panelLeft);
|
||||
ui_pageHome_panelTestResult = lv_obj_create(ui_pageHome_Panel8);
|
||||
lv_obj_set_width(ui_pageHome_panelTestResult, 30);
|
||||
lv_obj_set_height(ui_pageHome_panelTestResult, 30);
|
||||
lv_obj_set_x(ui_pageHome_panelTestResult, 81);
|
||||
lv_obj_set_y(ui_pageHome_panelTestResult, 122);
|
||||
lv_obj_set_x(ui_pageHome_panelTestResult, 63);
|
||||
lv_obj_set_y(ui_pageHome_panelTestResult, 0);
|
||||
lv_obj_set_align(ui_pageHome_panelTestResult, LV_ALIGN_CENTER);
|
||||
lv_obj_clear_flag(ui_pageHome_panelTestResult, LV_OBJ_FLAG_SCROLLABLE); /// Flags
|
||||
|
||||
@ -1062,38 +1068,38 @@ void ui_pageHome_screen_init(void)
|
||||
lv_obj_set_align(ui_pageHome_labelTestResult, LV_ALIGN_CENTER);
|
||||
lv_label_set_text(ui_pageHome_labelTestResult, "x");
|
||||
|
||||
ui_pageHome_labelResultStage = lv_label_create(ui_pageHome_panelLeft);
|
||||
ui_pageHome_labelResultStage = lv_label_create(ui_pageHome_Panel8);
|
||||
lv_obj_set_width(ui_pageHome_labelResultStage, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_height(ui_pageHome_labelResultStage, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_x(ui_pageHome_labelResultStage, -52);
|
||||
lv_obj_set_y(ui_pageHome_labelResultStage, 122);
|
||||
lv_obj_set_x(ui_pageHome_labelResultStage, -50);
|
||||
lv_obj_set_y(ui_pageHome_labelResultStage, 0);
|
||||
lv_obj_set_align(ui_pageHome_labelResultStage, LV_ALIGN_CENTER);
|
||||
lv_label_set_text(ui_pageHome_labelResultStage, "1");
|
||||
lv_obj_set_style_text_decor(ui_pageHome_labelResultStage, LV_TEXT_DECOR_UNDERLINE, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_labelResultRate = lv_label_create(ui_pageHome_panelLeft);
|
||||
ui_pageHome_labelResultRate = lv_label_create(ui_pageHome_Panel8);
|
||||
lv_obj_set_width(ui_pageHome_labelResultRate, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_height(ui_pageHome_labelResultRate, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_x(ui_pageHome_labelResultRate, -1);
|
||||
lv_obj_set_y(ui_pageHome_labelResultRate, 123);
|
||||
lv_obj_set_x(ui_pageHome_labelResultRate, -8);
|
||||
lv_obj_set_y(ui_pageHome_labelResultRate, 1);
|
||||
lv_obj_set_align(ui_pageHome_labelResultRate, LV_ALIGN_CENTER);
|
||||
lv_label_set_text(ui_pageHome_labelResultRate, "15");
|
||||
lv_obj_set_style_text_decor(ui_pageHome_labelResultRate, LV_TEXT_DECOR_UNDERLINE, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_labelstr3 = lv_label_create(ui_pageHome_panelLeft);
|
||||
ui_pageHome_labelstr3 = lv_label_create(ui_pageHome_Panel8);
|
||||
lv_obj_set_width(ui_pageHome_labelstr3, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_height(ui_pageHome_labelstr3, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_x(ui_pageHome_labelstr3, 38);
|
||||
lv_obj_set_y(ui_pageHome_labelstr3, 124);
|
||||
lv_obj_set_x(ui_pageHome_labelstr3, 25);
|
||||
lv_obj_set_y(ui_pageHome_labelstr3, 0);
|
||||
lv_obj_set_align(ui_pageHome_labelstr3, LV_ALIGN_CENTER);
|
||||
lv_label_set_text(ui_pageHome_labelstr3, "BPM");
|
||||
lv_obj_set_style_text_font(ui_pageHome_labelstr3, &ui_font_MiSansN, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_labelResultCompare = lv_label_create(ui_pageHome_panelLeft);
|
||||
ui_pageHome_labelResultCompare = lv_label_create(ui_pageHome_Panel8);
|
||||
lv_obj_set_width(ui_pageHome_labelResultCompare, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_height(ui_pageHome_labelResultCompare, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_x(ui_pageHome_labelResultCompare, 118);
|
||||
lv_obj_set_y(ui_pageHome_labelResultCompare, 123);
|
||||
lv_obj_set_x(ui_pageHome_labelResultCompare, 104);
|
||||
lv_obj_set_y(ui_pageHome_labelResultCompare, 1);
|
||||
lv_obj_set_align(ui_pageHome_labelResultCompare, LV_ALIGN_CENTER);
|
||||
lv_label_set_text(ui_pageHome_labelResultCompare, "Low");
|
||||
lv_obj_set_style_text_font(ui_pageHome_labelResultCompare, &ui_font_MiSansM, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
@ -1102,7 +1108,7 @@ void ui_pageHome_screen_init(void)
|
||||
lv_obj_set_width(ui_pageHome_buttonStartTest, 266);
|
||||
lv_obj_set_height(ui_pageHome_buttonStartTest, 61);
|
||||
lv_obj_set_x(ui_pageHome_buttonStartTest, 3);
|
||||
lv_obj_set_y(ui_pageHome_buttonStartTest, 170);
|
||||
lv_obj_set_y(ui_pageHome_buttonStartTest, 176);
|
||||
lv_obj_set_align(ui_pageHome_buttonStartTest, LV_ALIGN_CENTER);
|
||||
lv_obj_set_style_bg_color(ui_pageHome_buttonStartTest, lv_color_hex(0x4A58DD), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_bg_opa(ui_pageHome_buttonStartTest, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
@ -1116,6 +1122,30 @@ void ui_pageHome_screen_init(void)
|
||||
lv_label_set_text(ui_pageHome_labelStartTest, "开始测试");
|
||||
lv_obj_set_style_text_font(ui_pageHome_labelStartTest, &ui_font_homePanelLabel, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_barNomTest = lv_bar_create(ui_pageHome_panelLeft);
|
||||
lv_obj_set_width(ui_pageHome_barNomTest, 150);
|
||||
lv_obj_set_height(ui_pageHome_barNomTest, 10);
|
||||
lv_obj_set_x(ui_pageHome_barNomTest, -3);
|
||||
lv_obj_set_y(ui_pageHome_barNomTest, 86);
|
||||
lv_obj_set_align(ui_pageHome_barNomTest, LV_ALIGN_CENTER);
|
||||
|
||||
ui_pageHome_panelNomTest = lv_obj_create(ui_pageHome_panelLeft);
|
||||
lv_obj_set_width(ui_pageHome_panelNomTest, 25);
|
||||
lv_obj_set_height(ui_pageHome_panelNomTest, 25);
|
||||
lv_obj_set_x(ui_pageHome_panelNomTest, 101);
|
||||
lv_obj_set_y(ui_pageHome_panelNomTest, 86);
|
||||
lv_obj_set_align(ui_pageHome_panelNomTest, LV_ALIGN_CENTER);
|
||||
lv_obj_clear_flag(ui_pageHome_panelNomTest, LV_OBJ_FLAG_SCROLLABLE); /// Flags
|
||||
|
||||
ui_pageHome_Label8 = lv_label_create(ui_pageHome_panelLeft);
|
||||
lv_obj_set_width(ui_pageHome_Label8, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_height(ui_pageHome_Label8, LV_SIZE_CONTENT); /// 1
|
||||
lv_obj_set_x(ui_pageHome_Label8, -113);
|
||||
lv_obj_set_y(ui_pageHome_Label8, 86);
|
||||
lv_obj_set_align(ui_pageHome_Label8, LV_ALIGN_CENTER);
|
||||
lv_label_set_text(ui_pageHome_Label8, "进度:");
|
||||
lv_obj_set_style_text_font(ui_pageHome_Label8, &ui_font_MiSansN14, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
|
||||
ui_pageHome_switchWifiShow = lv_switch_create(ui_pageHome);
|
||||
lv_obj_set_width(ui_pageHome_switchWifiShow, 50);
|
||||
lv_obj_set_height(ui_pageHome_switchWifiShow, 23);
|
||||
|
||||
@ -138,6 +138,7 @@ lv_obj_t * ui_pageHome_labelAdd;
|
||||
lv_obj_t * ui_pageHome_labelstr6;
|
||||
void ui_event_pageHome_spinboxStage(lv_event_t * e);
|
||||
lv_obj_t * ui_pageHome_spinboxStage;
|
||||
lv_obj_t * ui_pageHome_Panel8;
|
||||
lv_obj_t * ui_pageHome_labelstr1;
|
||||
lv_obj_t * ui_pageHome_labelstr2;
|
||||
lv_obj_t * ui_pageHome_panelTestResult;
|
||||
@ -149,6 +150,9 @@ lv_obj_t * ui_pageHome_labelResultCompare;
|
||||
void ui_event_pageHome_buttonStartTest(lv_event_t * e);
|
||||
lv_obj_t * ui_pageHome_buttonStartTest;
|
||||
lv_obj_t * ui_pageHome_labelStartTest;
|
||||
lv_obj_t * ui_pageHome_barNomTest;
|
||||
lv_obj_t * ui_pageHome_panelNomTest;
|
||||
lv_obj_t * ui_pageHome_Label8;
|
||||
lv_obj_t * ui_pageHome_switchWifiShow;
|
||||
lv_obj_t * ui_pageHome_labelWifi;
|
||||
// CUSTOM VARIABLES
|
||||
|
||||
@ -148,6 +148,7 @@ extern lv_obj_t * ui_pageHome_labelAdd;
|
||||
extern lv_obj_t * ui_pageHome_labelstr6;
|
||||
void ui_event_pageHome_spinboxStage(lv_event_t * e);
|
||||
extern lv_obj_t * ui_pageHome_spinboxStage;
|
||||
extern lv_obj_t * ui_pageHome_Panel8;
|
||||
extern lv_obj_t * ui_pageHome_labelstr1;
|
||||
extern lv_obj_t * ui_pageHome_labelstr2;
|
||||
extern lv_obj_t * ui_pageHome_panelTestResult;
|
||||
@ -159,6 +160,9 @@ extern lv_obj_t * ui_pageHome_labelResultCompare;
|
||||
void ui_event_pageHome_buttonStartTest(lv_event_t * e);
|
||||
extern lv_obj_t * ui_pageHome_buttonStartTest;
|
||||
extern lv_obj_t * ui_pageHome_labelStartTest;
|
||||
extern lv_obj_t * ui_pageHome_barNomTest;
|
||||
extern lv_obj_t * ui_pageHome_panelNomTest;
|
||||
extern lv_obj_t * ui_pageHome_Label8;
|
||||
extern lv_obj_t * ui_pageHome_switchWifiShow;
|
||||
extern lv_obj_t * ui_pageHome_labelWifi;
|
||||
// CUSTOM VARIABLES
|
||||
|
||||
@ -18,11 +18,13 @@
|
||||
|
||||
/* 创建用于表征当前是否进行BS测试的全局变量 */
|
||||
bool is_bs_test_ing = false;
|
||||
bool is_nom_test_ing = false;
|
||||
/* 创建任务控制句柄 */
|
||||
TaskHandle_t bs_test_task_handle;
|
||||
TaskHandle_t nom_test_task_handle;
|
||||
|
||||
/* 声明需要调用的静态函数 */
|
||||
static void comulate_time_set(void);
|
||||
void comulate_time_set(void);
|
||||
|
||||
/* 更新当前标准体积数据 */
|
||||
static void standard_volume_refresh(void);
|
||||
@ -126,7 +128,7 @@ void on_spinboxRate_valueChanged(lv_event_t * e)
|
||||
* 否则容易造成 死循环。
|
||||
*
|
||||
*/
|
||||
static void comulate_time_set(void)
|
||||
void comulate_time_set(void)
|
||||
{
|
||||
/* 获取当前呼吸频率 */
|
||||
FluxMachineData.breathRate = lv_spinbox_get_value(ui_pageHome_spinboxRate);
|
||||
@ -362,9 +364,36 @@ static void standard_volume_refresh(void)
|
||||
*/
|
||||
void on_buttonStartTest_clicked(lv_event_t * e)
|
||||
{
|
||||
/* 判断是否正在测试 */
|
||||
if(is_nom_test_ing)
|
||||
{
|
||||
/* 如果正在测试,按下后取消测试 */
|
||||
vTaskDelete(nom_test_task_handle);
|
||||
|
||||
/* 挂起LED闪烁 */
|
||||
NOM_STATE_LED_TASK_SUSPEND;
|
||||
|
||||
/* 等待开始测试 */
|
||||
is_nom_test_ing = false;
|
||||
/* 清空已完成的测试结果 */
|
||||
NOM_ALL_RESULT_CLEAR;
|
||||
|
||||
/* 清空进度条 */
|
||||
lv_bar_set_value(ui_pageHome_barNomTest,0,LV_ANIM_ON);
|
||||
|
||||
lv_label_set_text(ui_pageHome_labelStartTest,"Start Test NOM");
|
||||
}else{
|
||||
/* 如果没有测试,按下后开始测试 */
|
||||
|
||||
/* 创建NOM测试任务 */
|
||||
xTaskCreate(nom_test_task, "nom_test_task", 1024*4, NULL, 5, &nom_test_task_handle);
|
||||
|
||||
is_nom_test_ing = true;
|
||||
lv_label_set_text(ui_pageHome_labelStartTest,"Cancel Test NOM");
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
||||
/* 开始测试前 下发积分时间,确保测试时间正确 */
|
||||
comulate_time_set();
|
||||
uint8_t bytes[4];
|
||||
float time = (float)lv_spinbox_get_value(ui_pageFluxRead_spinboxTime);
|
||||
memcpy(bytes, &time, 4);
|
||||
@ -406,6 +435,10 @@ void on_buttonStartTest_clicked(lv_event_t * e)
|
||||
|
||||
/* 开始计时 */
|
||||
lv_timer_enable(comulateResultReadTimer);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -434,36 +467,6 @@ static void comulate_result_read(lv_timer_t * timer)
|
||||
lv_label_set_text(ui_pageHome_labelStartTest,"Test Complete!");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 带呼吸模拟器定时器响应函数
|
||||
*
|
||||
* 时间到达后执行
|
||||
* 定时器响应函数,用于定时获取测试结果,并更新界面。
|
||||
*
|
||||
* @param[in] timer not used
|
||||
*/
|
||||
static void bs_test_timer_func(lv_timer_t * timer)
|
||||
{
|
||||
ESP_LOGI("bs_test_timer_func","bs_test_timer_func");
|
||||
|
||||
/* 显示测试成功 */
|
||||
lv_label_set_text(ui_pageHome_labelBSInfo,test_info[3]);
|
||||
|
||||
vTaskDelay(4000/portTICK_PERIOD_MS);
|
||||
lv_label_set_text(ui_pageHome_labelBSInfo,test_info[4]);
|
||||
|
||||
vTaskDelay(4000/portTICK_PERIOD_MS);
|
||||
lv_label_set_text(ui_pageHome_labelBSInfo,test_info[5]);
|
||||
|
||||
vTaskDelay(4000/portTICK_PERIOD_MS);
|
||||
lv_label_set_text(ui_pageHome_labelBSInfo,test_info[1]);
|
||||
|
||||
vTaskDelay(4000/portTICK_PERIOD_MS);
|
||||
lv_label_set_text(ui_pageHome_labelBSInfo,test_info[2]);
|
||||
|
||||
ESP_LOGI("bs_test_timer_func","bs_test_timer_func end");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief BS界面 带BS测试 按键按下事件
|
||||
*
|
||||
@ -506,8 +509,6 @@ void on_buttonStartTestBS_clicked(lv_event_t * e)
|
||||
/* 屏幕中显示下发成功 */
|
||||
lv_label_set_text(ui_pageHome_labelBSInfo,test_info[0]);
|
||||
|
||||
|
||||
|
||||
/* 屏幕中显示下发成功 */
|
||||
lv_label_set_text(ui_pageHome_labelBSInfo,test_info[1]);
|
||||
|
||||
|
||||
@ -106,6 +106,10 @@ extern "C" void app_main(void)
|
||||
xTaskCreate(bs_test_led_task, "bs_test_led_task", 4 * 1024, NULL, 2, &bs_stateLED_task_handle);
|
||||
vTaskSuspend(bs_stateLED_task_handle);
|
||||
|
||||
/* 创建NOM测试LED闪烁任务,同时挂起 */
|
||||
xTaskCreate(nom_test_led_task, "nom_test_led_task", 4 * 1024, NULL, 2, &nom_stateLED_task_handle);
|
||||
vTaskSuspend(nom_stateLED_task_handle);
|
||||
|
||||
#if 0/*暂时不支持呼吸模拟器*/
|
||||
/*创建UART2响应任务*/
|
||||
xTaskCreate(uart2_echoTask, "uart2_echo_task", ECHO_TASK_STACK_SIZE, NULL, 10, NULL);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user