2024-03-07 11:03:18 +08:00
|
|
|
|
#include "lvgl.h"
|
|
|
|
|
#include "img_def.h"
|
|
|
|
|
#include "mxc_meter.h"
|
|
|
|
|
#include "img_basic.h"
|
|
|
|
|
#include "lan_str_table.h"
|
|
|
|
|
|
|
|
|
|
/******************1.函数声明******************/
|
|
|
|
|
lv_obj_t* Generator_src_win();
|
|
|
|
|
lv_obj_t* Generator_SubUI_Gtor_src_win();
|
|
|
|
|
lv_obj_t* Generator_SubUI_ERROR_src_win();
|
|
|
|
|
static void WinKey_event_MainToGtor_handle(lv_event_t* e);
|
|
|
|
|
static void WinKey_event_GtorToErr_handle(lv_event_t* e);
|
|
|
|
|
static void WinKey_event_ErrToMain_handle(lv_event_t* e);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*****************2.函数实现********************/
|
|
|
|
|
static void WinKey_event_MainToGtor_handle(lv_event_t* e)
|
|
|
|
|
{
|
|
|
|
|
lv_event_code_t code = lv_event_get_code(e);
|
|
|
|
|
uint8_t key_code = 0;
|
|
|
|
|
|
|
|
|
|
uint32_t *key = lv_event_get_param(e);
|
|
|
|
|
key_code = (uint8_t)*key;
|
|
|
|
|
|
|
|
|
|
printf("=============WinKey_event_handle==========.\n");
|
|
|
|
|
if (code == LV_EVENT_KEY)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
uint32_t *key = lv_event_get_param(e);
|
|
|
|
|
key_code = (uint8_t)*key;
|
|
|
|
|
printf("key_code = 0x%02x . code = 0x%02d \n", key_code, code);
|
|
|
|
|
|
|
|
|
|
switch (key_code)
|
|
|
|
|
{
|
|
|
|
|
case LV_KEY_W:
|
|
|
|
|
printf("LV_KEY_ENTER.\n");
|
|
|
|
|
//close_ui_refresh_timer();
|
|
|
|
|
close_all_win();
|
|
|
|
|
//主界面进入到类型界面
|
2024-03-07 16:46:43 +08:00
|
|
|
|
Generator_SubUI_Gtor_src_win(get_root_win());
|
2024-03-07 11:03:18 +08:00
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void WinKey_event_GtorToErr_handle(lv_event_t* e)
|
|
|
|
|
{
|
|
|
|
|
lv_event_code_t code = lv_event_get_code(e);
|
|
|
|
|
uint8_t key_code = 0;
|
|
|
|
|
|
|
|
|
|
uint32_t *key = lv_event_get_param(e);
|
|
|
|
|
key_code = (uint8_t)*key;
|
|
|
|
|
|
|
|
|
|
printf("=============WinKey_event_handle==========.\n");
|
|
|
|
|
if (code == LV_EVENT_KEY)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
uint32_t *key = lv_event_get_param(e);
|
|
|
|
|
key_code = (uint8_t)*key;
|
|
|
|
|
printf("key_code = 0x%02x . code = 0x%02d \n", key_code, code);
|
|
|
|
|
|
|
|
|
|
switch (key_code)
|
|
|
|
|
{
|
|
|
|
|
case LV_KEY_W:
|
|
|
|
|
printf("LV_KEY_ENTER.\n");
|
|
|
|
|
//close_ui_refresh_timer();
|
|
|
|
|
close_all_win();
|
|
|
|
|
//主界面进入到类型界面
|
2024-03-07 16:46:43 +08:00
|
|
|
|
Generator_SubUI_ERROR_src_win(get_root_win());
|
2024-03-07 11:03:18 +08:00
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void WinKey_event_ErrToMain_handle(lv_event_t* e)
|
|
|
|
|
{
|
|
|
|
|
lv_event_code_t code = lv_event_get_code(e);
|
|
|
|
|
uint8_t key_code = 0;
|
|
|
|
|
|
|
|
|
|
uint32_t *key = lv_event_get_param(e);
|
|
|
|
|
key_code = (uint8_t)*key;
|
|
|
|
|
|
|
|
|
|
printf("=============WinKey_event_handle==========.\n");
|
|
|
|
|
if (code == LV_EVENT_KEY)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
uint32_t *key = lv_event_get_param(e);
|
|
|
|
|
key_code = (uint8_t)*key;
|
|
|
|
|
printf("key_code = 0x%02x . code = 0x%02d \n", key_code, code);
|
|
|
|
|
|
|
|
|
|
switch (key_code)
|
|
|
|
|
{
|
|
|
|
|
case LV_KEY_W:
|
|
|
|
|
printf("LV_KEY_ENTER.\n");
|
|
|
|
|
//close_ui_refresh_timer();
|
|
|
|
|
close_all_win();
|
|
|
|
|
//主界面进入到类型界面
|
2024-03-07 16:46:43 +08:00
|
|
|
|
Generator_src_win(get_root_win());
|
2024-03-07 11:03:18 +08:00
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取主屏幕
|
2024-03-07 16:46:43 +08:00
|
|
|
|
lv_obj_t* Generator_src_win(lv_obj_t * scr_parent_main)
|
2024-03-07 11:03:18 +08:00
|
|
|
|
{
|
2024-03-07 16:46:43 +08:00
|
|
|
|
// lv_obj_t * scr_parent_main = get_root_win();
|
2024-03-07 11:03:18 +08:00
|
|
|
|
|
|
|
|
|
lv_obj_t * MainUI_win = lv_obj_create(scr_parent_main);
|
|
|
|
|
lv_obj_set_scrollbar_mode(MainUI_win, LV_SCROLLBAR_MODE_OFF); //关闭滑轮功能
|
|
|
|
|
lv_obj_set_size(MainUI_win, LV_PCT(100), LV_PCT(100)); //设置主界面100%显示
|
|
|
|
|
lv_obj_set_style_pad_all(MainUI_win, 0, 0); //
|
|
|
|
|
lv_obj_set_style_radius(MainUI_win, 0, 0); //圆角大小为0
|
|
|
|
|
lv_obj_set_style_border_width(MainUI_win, 0, LV_PART_MAIN); //设置边界宽度为主窗口默认宽度
|
|
|
|
|
lv_obj_set_style_border_color(MainUI_win, lv_color_black(), 0); //设置边界为全黑
|
|
|
|
|
lv_obj_set_style_bg_color(MainUI_win, lv_color_black(), 0); //设置背景为全黑
|
|
|
|
|
lv_obj_clear_flag(MainUI_win, LV_OBJ_FLAG_SCROLLABLE);
|
|
|
|
|
|
|
|
|
|
/************加载图片****************/
|
|
|
|
|
//加载转速图标
|
|
|
|
|
lv_obj_t* pRotRate = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pRotRate, LV_ALIGN_TOP_LEFT, 6, 6);
|
|
|
|
|
lv_img_set_src(pRotRate, IMG_ROT_RATE_ICO);
|
|
|
|
|
|
|
|
|
|
//转速数据和单位
|
|
|
|
|
lv_obj_t * pLabel_RotrateNum = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_RotrateNum, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_RotrateNum, "1200"); //实际使用需要换成一个变量
|
|
|
|
|
lv_obj_align(pLabel_RotrateNum, LV_ALIGN_TOP_LEFT, 30, 9);
|
|
|
|
|
|
|
|
|
|
lv_obj_t * pLabel_RotrateUnit = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_RotrateUnit, LV_FONT_MXC_FZHZGB_CT_14PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_RotrateUnit, "r/min");
|
|
|
|
|
lv_obj_align(pLabel_RotrateUnit, LV_ALIGN_TOP_LEFT, 83, 12);
|
|
|
|
|
|
|
|
|
|
//加载电压
|
|
|
|
|
lv_obj_t* pVoltAge = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pVoltAge, LV_ALIGN_TOP_LEFT, 280, 6);
|
|
|
|
|
lv_img_set_src(pVoltAge, IMG_VOLTAGE_ICO);
|
|
|
|
|
|
|
|
|
|
//电压数据和单位
|
|
|
|
|
lv_obj_t * pLabel_VoltageNum = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_VoltageNum, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_VoltageNum, "220");
|
|
|
|
|
lv_obj_align(pLabel_VoltageNum, LV_ALIGN_TOP_LEFT, 316, 9);
|
|
|
|
|
|
|
|
|
|
lv_obj_t * pLabel_VoltageUnit = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_VoltageUnit, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_VoltageUnit, "V");
|
|
|
|
|
lv_obj_align(pLabel_VoltageUnit, LV_ALIGN_TOP_LEFT, 351, 9);
|
|
|
|
|
|
|
|
|
|
//加载电流
|
|
|
|
|
lv_obj_t* pCurrent = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pCurrent, LV_ALIGN_TOP_LEFT, 394, 6);
|
|
|
|
|
lv_img_set_src(pCurrent, IMG_CURRENT_ICO);
|
|
|
|
|
|
|
|
|
|
//电流数据和单位
|
|
|
|
|
lv_obj_t * pLabel_CurrentNum = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_CurrentNum, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_CurrentNum, "12");
|
|
|
|
|
lv_obj_align(pLabel_CurrentNum, LV_ALIGN_TOP_LEFT, 428, 9);
|
|
|
|
|
|
|
|
|
|
lv_obj_t * pLabel_CurrentUnit = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_CurrentUnit, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_CurrentUnit, "A");
|
|
|
|
|
lv_obj_align(pLabel_CurrentUnit, LV_ALIGN_TOP_LEFT, 453, 9);
|
|
|
|
|
|
|
|
|
|
//加载蓝牙
|
|
|
|
|
lv_obj_t* pBlueTooth = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pBlueTooth, LV_ALIGN_TOP_LEFT, 449, 53);
|
|
|
|
|
lv_img_set_src(pBlueTooth, IMG_BLUETOOTH_ICO);
|
|
|
|
|
|
|
|
|
|
//加载发电
|
|
|
|
|
lv_obj_t* pPower = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pPower, LV_ALIGN_TOP_LEFT, 449, 93);
|
|
|
|
|
lv_img_set_src(pPower, IMG_POWER_ICO);
|
|
|
|
|
|
|
|
|
|
//加载故障
|
|
|
|
|
lv_obj_t* pError = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pError, LV_ALIGN_TOP_LEFT, 449, 132);
|
|
|
|
|
lv_img_set_src(pError, IMG_ERROR_ICO);
|
|
|
|
|
|
|
|
|
|
//加载油箱
|
|
|
|
|
lv_obj_t* pOil = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pOil, LV_ALIGN_TOP_LEFT, 1, 240);
|
|
|
|
|
lv_img_set_src(pOil, IMG_OIL_ICO);
|
|
|
|
|
|
|
|
|
|
//设置油箱颜色变化
|
|
|
|
|
static lv_style_t style;
|
|
|
|
|
|
|
|
|
|
lv_style_init( &style );
|
|
|
|
|
lv_style_set_radius(&style, 0);
|
|
|
|
|
lv_style_set_bg_opa(&style, LV_OPA_COVER);
|
|
|
|
|
lv_style_set_bg_color(&style, lv_color_hex(0xff0000));
|
|
|
|
|
lv_style_set_bg_grad_color(&style, lv_color_hex(0x00ff00));
|
|
|
|
|
lv_style_set_bg_grad_dir(&style, LV_GRAD_DIR_HOR);
|
|
|
|
|
lv_style_set_bg_main_stop(&style, 0);
|
|
|
|
|
lv_style_set_bg_grad_stop(&style, 255);
|
|
|
|
|
|
|
|
|
|
lv_obj_t* pBtn_Oilcolor = lv_btn_create(MainUI_win);
|
|
|
|
|
lv_obj_set_size(pBtn_Oilcolor, 150, 37);
|
|
|
|
|
lv_obj_align(pBtn_Oilcolor, LV_ALIGN_TOP_LEFT, 60, 240);
|
|
|
|
|
lv_obj_add_style(pBtn_Oilcolor, &style, LV_PART_MAIN);
|
|
|
|
|
|
|
|
|
|
//加载时间1
|
|
|
|
|
lv_obj_t* pTime1 = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pTime1, LV_ALIGN_TOP_LEFT, 213, 248);
|
|
|
|
|
lv_img_set_src(pTime1, IMG_TIME1_ICO);
|
|
|
|
|
|
|
|
|
|
//时间1数据和单位
|
|
|
|
|
lv_obj_t* pLabel_Time1Num = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Time1Num, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Time1Num, "15");
|
|
|
|
|
lv_obj_align(pLabel_Time1Num, LV_ALIGN_TOP_LEFT, 256, 253);
|
|
|
|
|
|
|
|
|
|
lv_obj_t* pLabel_Time1Unit = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Time1Unit, LV_FONT_MXC_FZHZGB_CT_14PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Time1Unit, "H");
|
|
|
|
|
lv_obj_align(pLabel_Time1Unit, LV_ALIGN_TOP_LEFT, 284, 256);
|
|
|
|
|
|
|
|
|
|
//加载时间2
|
|
|
|
|
lv_obj_t* pTime2 = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pTime2, LV_ALIGN_TOP_LEFT, 15, 292);
|
|
|
|
|
lv_img_set_src(pTime2, IMG_TIME2_ICO);
|
|
|
|
|
|
|
|
|
|
//时间2数据和单位
|
|
|
|
|
lv_obj_t* pLabel_Time2Num = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Time2Num, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Time2Num, "125");
|
|
|
|
|
lv_obj_align(pLabel_Time2Num, LV_ALIGN_TOP_LEFT, 58, 296);
|
|
|
|
|
|
|
|
|
|
lv_obj_t* pLabel_Time2Unit = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Time2Unit, LV_FONT_MXC_FZHZGB_CT_14PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Time2Unit, "H");
|
|
|
|
|
lv_obj_align(pLabel_Time2Unit, LV_ALIGN_TOP_LEFT, 101, 300);
|
|
|
|
|
|
|
|
|
|
//加载时间3
|
|
|
|
|
lv_obj_t* pTime3 = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pTime3, LV_ALIGN_TOP_LEFT, 143, 292);
|
|
|
|
|
lv_img_set_src(pTime3, IMG_TIME3_ICO);
|
|
|
|
|
|
|
|
|
|
//时间3数据和单位
|
|
|
|
|
lv_obj_t* pLabel_Time3Num = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Time3Num, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Time3Num, "235");
|
|
|
|
|
lv_obj_align(pLabel_Time3Num, LV_ALIGN_TOP_LEFT, 187, 296);
|
|
|
|
|
|
|
|
|
|
lv_obj_t* pLabel_Time3Unit = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Time3Unit, LV_FONT_MXC_FZHZGB_CT_14PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Time3Unit, "H");
|
|
|
|
|
lv_obj_align(pLabel_Time3Unit, LV_ALIGN_TOP_LEFT, 230, 300);
|
|
|
|
|
|
|
|
|
|
//加载百分比
|
|
|
|
|
lv_obj_t* pPercent = lv_img_create(MainUI_win);
|
|
|
|
|
lv_obj_align(pPercent, LV_ALIGN_TOP_LEFT, 310, 295);
|
|
|
|
|
lv_img_set_src(pPercent, IMG_PERCENT_ICO);
|
|
|
|
|
|
|
|
|
|
//百分比数据和单位
|
|
|
|
|
lv_obj_t* pLabel_PercnetNum = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_PercnetNum, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_PercnetNum, "76");
|
|
|
|
|
lv_obj_align(pLabel_PercnetNum, LV_ALIGN_TOP_LEFT, 337, 296);
|
|
|
|
|
|
|
|
|
|
lv_obj_t* pLabel_PercnetUnit = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_PercnetUnit, LV_FONT_MXC_FZHZGB_CT_18PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_PercnetUnit, "%");
|
|
|
|
|
lv_obj_align(pLabel_PercnetUnit, LV_ALIGN_TOP_LEFT, 362, 296);
|
|
|
|
|
|
|
|
|
|
//频率和单位
|
|
|
|
|
lv_obj_t* pLabel_FreqNum = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_FreqNum, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_FreqNum, "50");
|
|
|
|
|
lv_obj_align(pLabel_FreqNum, LV_ALIGN_TOP_LEFT, 414, 296);
|
|
|
|
|
|
|
|
|
|
lv_obj_t* pLabel_FreqUnit = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_FreqUnit, LV_FONT_MXC_FZHZGB_CT_14PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_FreqUnit, "Hz");
|
|
|
|
|
lv_obj_align(pLabel_FreqUnit, LV_ALIGN_TOP_LEFT, 445, 300);
|
|
|
|
|
|
|
|
|
|
//power标记,进度条待实现。。。
|
|
|
|
|
lv_obj_t* pLabel_PowerLabel = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_PowerLabel, LV_FONT_MXC_FZHZGB_CT_36PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_PowerLabel, "P");
|
|
|
|
|
lv_obj_align(pLabel_PowerLabel, LV_ALIGN_TOP_LEFT, 12, 49);
|
|
|
|
|
|
|
|
|
|
//异形power进度条实现
|
|
|
|
|
//1.设置渐变色进度条
|
|
|
|
|
//设置油箱颜色变化
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
v_obj_t* PowerBar = lv_bar_create(MainUI_win);
|
|
|
|
|
static lv_style_t PowerStyle;
|
|
|
|
|
|
|
|
|
|
lv_style_init(&PowerStyle);
|
|
|
|
|
lv_style_set_radius(&PowerStyle, 0);
|
|
|
|
|
lv_style_set_bg_opa(&PowerStyle, LV_OPA_COVER);
|
|
|
|
|
//lv_style_set_bg_color(&PowerStyle, lv_color_hex(0x00ff00));
|
|
|
|
|
//lv_style_set_bg_grad_color(&PowerStyle, lv_color_hex(0xff0000));
|
|
|
|
|
lv_style_set_bg_img_src(&PowerStyle, &shaped_color);
|
|
|
|
|
lv_style_set_bg_grad_dir(&PowerStyle, LV_GRAD_DIR_HOR);
|
|
|
|
|
lv_style_set_bg_main_stop(&PowerStyle, 0);
|
|
|
|
|
lv_style_set_bg_grad_stop(&PowerStyle, 255);
|
|
|
|
|
|
|
|
|
|
lv_obj_t* pBar_Powercolor = lv_bar_create(MainUI_win);
|
|
|
|
|
lv_obj_set_size(pBar_Powercolor, 395, 150); //设置一个大进度条
|
|
|
|
|
lv_obj_align(pBar_Powercolor, LV_ALIGN_TOP_LEFT, 52, 56);
|
|
|
|
|
//lv_obj_set_style_img_src(pBar_Powercolor, &shaped_color, LV_PART_INDICATOR | LV_STATE_DEFAULT);
|
|
|
|
|
|
|
|
|
|
lv_obj_set_style_bg_opa(pBar_Powercolor, 0, LV_PART_KNOB | LV_STATE_DEFAULT);
|
|
|
|
|
lv_obj_remove_style(pBar_Powercolor, NULL, LV_PART_KNOB); //Be sure the knob is not displayed
|
|
|
|
|
lv_obj_clear_flag(pBar_Powercolor, LV_OBJ_FLAG_CLICKABLE); //To not allow adjusting by click
|
|
|
|
|
lv_obj_add_style(pBar_Powercolor, &PowerStyle, LV_PART_MAIN);
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
lv_obj_t* pUi_Slider2 = lv_slider_create(MainUI_win);
|
|
|
|
|
lv_slider_set_value(pUi_Slider2, 84, LV_ANIM_OFF);
|
|
|
|
|
if(lv_slider_get_mode(pUi_Slider2) == LV_SLIDER_MODE_RANGE)
|
|
|
|
|
lv_slider_set_left_value(pUi_Slider2, 0, LV_ANIM_OFF);
|
|
|
|
|
lv_obj_set_width(pUi_Slider2, 395);
|
|
|
|
|
lv_obj_set_height(pUi_Slider2, 150);
|
|
|
|
|
lv_obj_align(pUi_Slider2, LV_ALIGN_TOP_LEFT, 52, 56);
|
|
|
|
|
|
|
|
|
|
lv_obj_set_style_bg_img_src(pUi_Slider2, &shaped_color, LV_PART_INDICATOR | LV_STATE_DEFAULT);
|
|
|
|
|
|
|
|
|
|
lv_obj_set_style_bg_color(pUi_Slider2, lv_color_hex(0xFFFFFF), LV_PART_KNOB | LV_STATE_DEFAULT);
|
|
|
|
|
lv_obj_set_style_bg_opa(pUi_Slider2, LV_OPA_0, LV_PART_KNOB | LV_STATE_DEFAULT); //按钮背景透明度
|
|
|
|
|
lv_obj_set_style_bg_opa(pUi_Slider2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); //背景色背景透明度
|
|
|
|
|
lv_obj_set_style_bg_opa(pUi_Slider2, 0, LV_PART_INDICATOR | LV_STATE_DEFAULT); //前景色背景透明度
|
|
|
|
|
|
|
|
|
|
lv_obj_set_style_radius(pUi_Slider2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); //方形进度条
|
|
|
|
|
lv_obj_set_style_radius(pUi_Slider2, 0, LV_PART_INDICATOR | LV_STATE_DEFAULT);
|
|
|
|
|
|
|
|
|
|
//power数字和单位
|
|
|
|
|
lv_obj_t* pLabel_PowerNum = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_PowerNum, LV_FONT_MXC_FZHZGB_CT_48PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_PowerNum, "12345");
|
|
|
|
|
lv_obj_align(pLabel_PowerNum, LV_ALIGN_TOP_LEFT, 32, 124);
|
|
|
|
|
|
|
|
|
|
lv_obj_t* pLabel_PowerUnit = lv_label_create(MainUI_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_PowerUnit, LV_FONT_MXC_FZHZGB_CT_36PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_PowerUnit, "VA");
|
|
|
|
|
lv_obj_align(pLabel_PowerUnit, LV_ALIGN_TOP_LEFT, 245, 132);
|
|
|
|
|
|
|
|
|
|
//将MainUI放到按键编组中,相应按钮时间
|
|
|
|
|
lv_obj_t* pDemo_group = get_key_group();
|
|
|
|
|
lv_group_add_obj(pDemo_group, MainUI_win);
|
|
|
|
|
|
|
|
|
|
// lv_obj_add_flag(win2_screen, LV_STATE_FOCUSED );
|
|
|
|
|
// lv_obj_add_flag(win2_screen, LV_STATE_FOCUS_KEY );
|
|
|
|
|
// lv_obj_add_state(win2_screen, LV_STATE_FOCUSED );
|
|
|
|
|
// lv_obj_add_state(win2_screen, LV_STATE_FOCUS_KEY );
|
|
|
|
|
|
|
|
|
|
lv_obj_add_event_cb(MainUI_win, WinKey_event_MainToGtor_handle, LV_EVENT_KEY, NULL);
|
|
|
|
|
|
|
|
|
|
//time_refresh_timer = lv_timer_create(refresh_timer_cb,50,win2_screen);
|
|
|
|
|
return MainUI_win;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2024-03-07 16:46:43 +08:00
|
|
|
|
lv_obj_t* Generator_SubUI_Gtor_src_win(lv_obj_t * scr_parent_main)
|
2024-03-07 11:03:18 +08:00
|
|
|
|
{
|
|
|
|
|
//生成窗口对象
|
2024-03-07 16:46:43 +08:00
|
|
|
|
// lv_obj_t* scr_parent_main = get_root_win();
|
2024-03-07 11:03:18 +08:00
|
|
|
|
lv_obj_t* pSubUI_Gtor_win = lv_obj_create(scr_parent_main);
|
|
|
|
|
|
|
|
|
|
//初始化窗口对象,配置窗口对象属性
|
|
|
|
|
lv_obj_set_scrollbar_mode(pSubUI_Gtor_win, LV_SCROLLBAR_MODE_OFF); //关闭滑轮功能
|
|
|
|
|
lv_obj_set_size(pSubUI_Gtor_win, LV_PCT(100), LV_PCT(100)); //设置主界面100%显示
|
|
|
|
|
lv_obj_set_style_pad_all(pSubUI_Gtor_win, 0, 0); //
|
|
|
|
|
lv_obj_set_style_radius(pSubUI_Gtor_win, 0, 0); //圆角大小为0
|
|
|
|
|
lv_obj_set_style_border_width(pSubUI_Gtor_win, 0, LV_PART_MAIN); //设置边界宽度为主窗口默认宽度
|
|
|
|
|
lv_obj_set_style_border_color(pSubUI_Gtor_win, lv_color_black(), 0); //设置边界为全黑
|
|
|
|
|
lv_obj_set_style_bg_color(pSubUI_Gtor_win, lv_color_black(), 0); //设置背景为全黑
|
|
|
|
|
lv_obj_clear_flag(pSubUI_Gtor_win, LV_OBJ_FLAG_SCROLLABLE);
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
lv_obj_t* pUPMainBtn = lv_btn_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_size(pUPMainBtn, 450,160);
|
|
|
|
|
lv_obj_align(pUPMainBtn, LV_ALIGN_TOP_LEFT, 6, 6);
|
|
|
|
|
//lv_obj_set_bg_opa(pUPMainBtn, LV_OPA_100, 0);
|
|
|
|
|
lv_obj_set_style_border_color(pUPMainBtn, lv_color_white(), 0);
|
|
|
|
|
lv_obj_set_style_bg_color(pUPMainBtn, lv_color_hex(0xffe1d4), LV_STATE_DISABLED);
|
|
|
|
|
lv_obj_set_style_bg_color(pUPMainBtn, lv_color_black(), LV_STATE_DISABLED);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
printf("enter Gtor_SubUI!\n");
|
|
|
|
|
//lv_obj_t* pSubmenu_win = lv_obj_create(lv_scr_act()); //获取子菜单窗口
|
|
|
|
|
lv_obj_t* pPanel_SubUI_Img = NULL; //定义图片指针
|
|
|
|
|
lv_img_cache_invalidate_src(NULL); //将缓存全部清除
|
|
|
|
|
|
|
|
|
|
//加载图像框架
|
|
|
|
|
pPanel_SubUI_Img = lv_img_big_create(pSubUI_Gtor_win, panel_Gtor_SubUI_src, 15, 8, 8, 0);
|
|
|
|
|
|
|
|
|
|
//逆变器类型label Inverter type
|
|
|
|
|
lv_obj_t * pLabel_Inverter_Type = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Inverter_Type, LV_FONT_MXC_MSYAHEI_CT_14PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Inverter_Type, "逆变器类型:");
|
|
|
|
|
lv_obj_align(pLabel_Inverter_Type, LV_ALIGN_TOP_LEFT, 31, 46);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//客户信息title label
|
|
|
|
|
lv_obj_t * pLabel_Custom = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Custom, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Custom, "客户信息");
|
|
|
|
|
lv_obj_align(pLabel_Custom, LV_ALIGN_TOP_LEFT, 133, 36);
|
|
|
|
|
|
|
|
|
|
//客户信息数据
|
|
|
|
|
lv_obj_t * pLabel_CustomData = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_CustomData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_CustomData, "ICMX-A2");
|
|
|
|
|
lv_obj_align(pLabel_CustomData, LV_ALIGN_TOP_LEFT, 131, 61);
|
|
|
|
|
|
|
|
|
|
//软件版本title label
|
|
|
|
|
lv_obj_t * pLabel_software = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_software, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_software, "软件版本");
|
|
|
|
|
lv_obj_align(pLabel_software, LV_ALIGN_TOP_LEFT, 203, 36);
|
|
|
|
|
|
|
|
|
|
//软件版本数据
|
|
|
|
|
lv_obj_t * pLabel_softwareData = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_softwareData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_softwareData, "ICMX-2.57");
|
|
|
|
|
lv_obj_align(pLabel_softwareData, LV_ALIGN_TOP_LEFT, 198, 61);
|
|
|
|
|
|
|
|
|
|
//硬件版本title label
|
|
|
|
|
lv_obj_t * pLabel_hardware = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_hardware, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_hardware, "硬件版本");
|
|
|
|
|
lv_obj_align(pLabel_hardware, LV_ALIGN_TOP_LEFT, 280, 36);
|
|
|
|
|
|
|
|
|
|
//硬件版本数据
|
|
|
|
|
lv_obj_t * pLabel_hardwareData = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_hardwareData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_hardwareData, "ICMX-2.57");
|
|
|
|
|
lv_obj_align(pLabel_hardwareData, LV_ALIGN_TOP_LEFT, 275, 61);
|
|
|
|
|
|
|
|
|
|
//程序发行时间title label
|
|
|
|
|
lv_obj_t* pLabel_Time = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Time, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Time, "程序发行时间");
|
|
|
|
|
lv_obj_align(pLabel_Time, LV_ALIGN_TOP_LEFT, 361, 36);
|
|
|
|
|
|
|
|
|
|
//时间数据
|
|
|
|
|
lv_obj_t* pLabel_TimeData = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_TimeData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_TimeData, "2024-2-26");
|
|
|
|
|
lv_obj_align(pLabel_TimeData, LV_ALIGN_TOP_LEFT, 363, 61);
|
|
|
|
|
|
|
|
|
|
//逆变器常规数据label
|
|
|
|
|
lv_obj_t * pLabel_Inverter_Data = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Inverter_Data, LV_FONT_MXC_MSYAHEI_CT_14PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Inverter_Data, "逆变器常规数据:");
|
|
|
|
|
lv_obj_align(pLabel_Inverter_Data, LV_ALIGN_TOP_LEFT, 31, 113);
|
|
|
|
|
|
|
|
|
|
//单片机内部温度 title label
|
|
|
|
|
lv_obj_t* pLabel_Temperature = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Temperature, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Temperature, "单片机内部温度");
|
|
|
|
|
lv_obj_align(pLabel_Temperature, LV_ALIGN_TOP_LEFT, 163, 103);
|
|
|
|
|
|
|
|
|
|
//内部温度数据
|
|
|
|
|
lv_obj_t* pLabel_TemperatureData = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_TemperatureData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_TemperatureData, "65°C");
|
|
|
|
|
lv_obj_align(pLabel_TemperatureData, LV_ALIGN_TOP_LEFT, 186, 128);
|
|
|
|
|
|
|
|
|
|
//IGBT温度 title label
|
|
|
|
|
lv_obj_t* pLabel_IGBTTemp = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_IGBTTemp, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_IGBTTemp, "IGBT温度");
|
|
|
|
|
lv_obj_align(pLabel_IGBTTemp, LV_ALIGN_TOP_LEFT, 275, 103);
|
|
|
|
|
|
|
|
|
|
//IGBT温度数据
|
|
|
|
|
lv_obj_t* pLabel_IGBTTempData = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_IGBTTempData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_IGBTTempData, "65°C");
|
|
|
|
|
lv_obj_align(pLabel_IGBTTempData, LV_ALIGN_TOP_LEFT, 280, 128);
|
|
|
|
|
|
|
|
|
|
//直流母线电压 title label
|
|
|
|
|
lv_obj_t* pLabel_Voltage = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Voltage, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Voltage, "直流母线电压");
|
|
|
|
|
lv_obj_align(pLabel_Voltage, LV_ALIGN_TOP_LEFT, 367, 103);
|
|
|
|
|
|
|
|
|
|
//IGBT温度数据
|
|
|
|
|
lv_obj_t* pLabel_VoltageData = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_VoltageData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_VoltageData, "220V");
|
|
|
|
|
lv_obj_align(pLabel_VoltageData, LV_ALIGN_TOP_LEFT, 382, 128);
|
|
|
|
|
|
|
|
|
|
//反拖启动次数label
|
|
|
|
|
lv_obj_t * pLabel_Startups = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Startups, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Startups, "反拖启动次数");
|
|
|
|
|
lv_obj_align(pLabel_Startups, LV_ALIGN_TOP_LEFT, 56, 201);
|
|
|
|
|
|
|
|
|
|
lv_obj_t * pLabel_StartupsNum = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_StartupsNum, LV_FONT_MXC_MSYAHEI_CT_64PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_StartupsNum, "5");
|
|
|
|
|
lv_obj_align(pLabel_StartupsNum, LV_ALIGN_TOP_LEFT, 91, 245);
|
|
|
|
|
|
|
|
|
|
//缸温
|
|
|
|
|
lv_obj_t * pLabel_CylinderTemp = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_CylinderTemp, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_CylinderTemp, "缸温");
|
|
|
|
|
lv_obj_align(pLabel_CylinderTemp, LV_ALIGN_TOP_LEFT, 352, 201);
|
|
|
|
|
|
|
|
|
|
lv_obj_t * pLabel_CylinderTempData = lv_label_create(pSubUI_Gtor_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_CylinderTempData, LV_FONT_MXC_MSYAHEI_CT_56PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_CylinderTempData, "89°C");
|
|
|
|
|
lv_obj_align(pLabel_CylinderTempData, LV_ALIGN_TOP_LEFT, 309, 245);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//将GtorUI放到按键编组中,相应按钮时间,切换到Err界面
|
|
|
|
|
lv_obj_t* pDemo_group = get_key_group();
|
|
|
|
|
lv_group_add_obj(pDemo_group, pSubUI_Gtor_win);
|
|
|
|
|
|
|
|
|
|
lv_obj_add_event_cb(pSubUI_Gtor_win, WinKey_event_GtorToErr_handle, LV_EVENT_KEY, NULL);
|
|
|
|
|
|
|
|
|
|
return pSubUI_Gtor_win;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-07 16:46:43 +08:00
|
|
|
|
lv_obj_t* Generator_SubUI_ERROR_src_win(lv_obj_t * scr_parent_main)
|
2024-03-07 11:03:18 +08:00
|
|
|
|
{
|
2024-03-07 16:46:43 +08:00
|
|
|
|
// lv_obj_t * scr_parent_main = get_root_win();
|
2024-03-07 11:03:18 +08:00
|
|
|
|
|
|
|
|
|
lv_obj_t* pSubUI_ERROR_win = lv_obj_create(scr_parent_main);
|
|
|
|
|
lv_obj_set_scrollbar_mode(pSubUI_ERROR_win, LV_SCROLLBAR_MODE_OFF); //关闭滑轮功能
|
|
|
|
|
lv_obj_set_size(pSubUI_ERROR_win, LV_PCT(100), LV_PCT(100)); //设置主界面100%显示
|
|
|
|
|
lv_obj_set_style_pad_all(pSubUI_ERROR_win, 0, 0); //
|
|
|
|
|
lv_obj_set_style_radius(pSubUI_ERROR_win, 0, 0); //圆角大小为0
|
|
|
|
|
lv_obj_set_style_border_width(pSubUI_ERROR_win, 0, LV_PART_MAIN); //设置边界宽度为主窗口默认宽度
|
|
|
|
|
lv_obj_set_style_border_color(pSubUI_ERROR_win, lv_color_black(), 0); //设置边界为全黑
|
|
|
|
|
lv_obj_set_style_bg_color(pSubUI_ERROR_win, lv_color_black(), 0); //设置背景为全黑
|
|
|
|
|
lv_obj_clear_flag(pSubUI_ERROR_win, LV_OBJ_FLAG_SCROLLABLE);
|
|
|
|
|
|
|
|
|
|
printf("enter Error_SubUI!\n");
|
|
|
|
|
//lv_obj_t* pSubmenu_win = lv_obj_create(lv_scr_act()); //获取子菜单窗口
|
|
|
|
|
lv_obj_t* pPanel_SubUI_Img = NULL; //定义图片指针
|
|
|
|
|
lv_img_cache_invalidate_src(NULL); //将缓存全部清除
|
|
|
|
|
|
|
|
|
|
//加载图像框架
|
|
|
|
|
pPanel_SubUI_Img = lv_img_big_create(pSubUI_ERROR_win, panel_Error_SubUI_src, 40, 46, 6, 0);
|
|
|
|
|
|
|
|
|
|
//逆变器故障代码label Inverter type
|
|
|
|
|
lv_obj_t * pLabel_Inverter_Err = lv_label_create(pSubUI_ERROR_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Inverter_Err, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Inverter_Err, "逆变器故障代码");
|
|
|
|
|
lv_obj_align(pLabel_Inverter_Err, LV_ALIGN_TOP_LEFT, 178, 10);
|
|
|
|
|
|
|
|
|
|
//反拖故障代码
|
|
|
|
|
lv_obj_t * pLabel_Reverse_Err = lv_label_create(pSubUI_ERROR_win);
|
|
|
|
|
lv_obj_set_style_text_font(pLabel_Reverse_Err, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
|
|
|
|
|
lv_label_set_text(pLabel_Reverse_Err, "反拖故障代码");
|
|
|
|
|
lv_obj_align(pLabel_Reverse_Err, LV_ALIGN_TOP_LEFT, 187, 154);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//lv_obj_t* pTableInvertorErr = lv_table_create(pSubUI_ERROR_win);
|
|
|
|
|
//lv_obj_align(pTableInvertorErr, LV_ALIGN_TOP_LEFT, 61, 60);
|
|
|
|
|
//lv_obj_set_size(pTableInvertorErr, 200, 200);
|
|
|
|
|
//lv_table_set_row_cnt(pTableInvertorErr, 3);
|
|
|
|
|
//lv_table_set_col_cnt(pTableInvertorErr, 4);
|
|
|
|
|
|
|
|
|
|
//将GtorUI放到按键编组中,相应按钮时间,切换到Err界面
|
|
|
|
|
lv_obj_t* pDemo_group = get_key_group();
|
|
|
|
|
lv_group_add_obj(pDemo_group, pSubUI_ERROR_win);
|
|
|
|
|
|
|
|
|
|
lv_obj_add_event_cb(pSubUI_ERROR_win, WinKey_event_ErrToMain_handle, LV_EVENT_KEY, NULL);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return pSubUI_ERROR_win;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
liulin 2024.2.28
|
|
|
|
|
点击事件相应函数
|
|
|
|
|
按键Q:按钮之间切换选择
|
|
|
|
|
按键W:进入当前按钮选择的子界面(也可以理解为亮度切换等级)
|
|
|
|
|
*/
|
|
|
|
|
#if 0
|
|
|
|
|
static void key_event_handler(lv_event_t *e)
|
|
|
|
|
{
|
|
|
|
|
lv_event_code_t code = lv_event_get_code(e);
|
|
|
|
|
|
|
|
|
|
lv_obj_t *btn_win = lv_event_get_target(e);
|
|
|
|
|
//lv_obj_t *btn = lv_obj_get_child(mainmenu_win, 0);
|
|
|
|
|
|
|
|
|
|
if (code == LV_EVENT_KEY)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
uint32_t *key = lv_event_get_param(e);
|
|
|
|
|
uint8_t key_code = (uint8_t)*key;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
switch (key_code)
|
|
|
|
|
{
|
|
|
|
|
case LV_KEY_DOWN: //向下按钮切换各个界面
|
|
|
|
|
switch(Get_UI_page_id())
|
|
|
|
|
{
|
|
|
|
|
case SUBMENU_SET_THEME:
|
|
|
|
|
if(btn_num == 0)
|
|
|
|
|
{
|
|
|
|
|
printf("ENTER theme select.\n");
|
|
|
|
|
close_all_win();
|
|
|
|
|
theme_select_create();
|
|
|
|
|
}
|
|
|
|
|
else if(btn_num == 1)
|
|
|
|
|
{
|
|
|
|
|
printf("ENTER theme bg seletc.\n");
|
|
|
|
|
close_all_win();
|
|
|
|
|
theme_bg_create();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
printf("RETURN list.\n");
|
|
|
|
|
close_all_win();
|
|
|
|
|
enter_mainmenu_win(get_root_win());
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case SUBMENU_SET_LIGHT:
|
|
|
|
|
if(btn_num == 0)
|
|
|
|
|
{
|
|
|
|
|
printf("ENTER light select.\n");
|
|
|
|
|
/*liulin 2024.2.28 增加亮度调节事件处理*/
|
|
|
|
|
lightcounter++;
|
|
|
|
|
printf("lightcounter = %d\n", lightcounter);
|
|
|
|
|
//light_select(lightcounter);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
printf("RETURN list.\n");
|
|
|
|
|
close_all_win();
|
|
|
|
|
enter_mainmenu_win(get_root_win());
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|