A39-3.9演示demo完成

This commit is contained in:
2024-03-09 16:57:12 +08:00
parent 1fd5ebbff4
commit c0b6bd173d
18 changed files with 149019 additions and 146473 deletions

View File

@ -82,7 +82,8 @@ static void WinKey_event_GtorToErr_handle(lv_event_t* e)
pTime_refresh_timer = NULL;
}
//主界面进入到类型界面
Generator_SubUI_ERROR_src_win(get_root_win());
// Generator_SubUI_ERROR_src_win(get_root_win());
Generator_test1_src_win(get_root_win());
break;
default:
break;
@ -106,6 +107,79 @@ static void WinKey_event_ErrToMain_handle(lv_event_t* 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();
if(pTime_refresh_timer!=NULL){
lv_timer_del(pTime_refresh_timer);
pTime_refresh_timer = NULL;
}
//主界面进入到类型界面
// Generator_src_win(get_root_win());
Generator_test1_src_win(get_root_win());
break;
default:
break;
}
}
}
static void test_win1_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("=============test_win1_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();
if(pTime_refresh_timer!=NULL){
lv_timer_del(pTime_refresh_timer);
pTime_refresh_timer = NULL;
}
//主界面进入到类型界面
Generator_test2_src_win(get_root_win());
break;
default:
break;
}
}
}
static void test_win2_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("=============test_win2_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:
@ -126,6 +200,7 @@ static void WinKey_event_ErrToMain_handle(lv_event_t* e)
}
}
/******************3.定时器******************/
void refresh_MainUItimer_cb(lv_timer_t* pTimer)
{
@ -179,6 +254,16 @@ void refresh_MainUItimer_cb(lv_timer_t* pTimer)
lv_label_set_text_fmt(pPercentNum, "%d", frequency_num);
lv_label_set_text_fmt(pPowerNum, "%d", power);
if((time_num/10)%2==0){
lv_obj_clear_flag(img_bt,LV_OBJ_FLAG_HIDDEN);
lv_obj_clear_flag(img_power,LV_OBJ_FLAG_HIDDEN);
lv_obj_clear_flag(img_error,LV_OBJ_FLAG_HIDDEN);
}else{
lv_obj_add_flag(img_bt,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(img_power,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(img_error,LV_OBJ_FLAG_HIDDEN);
}
speed+=100;
if(speed >=10000)
@ -379,7 +464,7 @@ void Generator_src_win(lv_obj_t * scr_parent_main)
// 10
lv_obj_t* pbar_Oilcolor = lv_bar_create(MainUI_win);
lv_bar_set_value(pbar_Oilcolor, 10, LV_ANIM_OFF);
lv_obj_set_size(pbar_Oilcolor, 150, 37);
lv_obj_set_size(pbar_Oilcolor, 150, 35);
lv_obj_align(pbar_Oilcolor, LV_ALIGN_TOP_LEFT, 60, 240);
lv_obj_add_style(pbar_Oilcolor, &style, LV_PART_INDICATOR);
lv_obj_set_style_bg_color(pbar_Oilcolor, lv_color_black(), LV_PART_MAIN);
@ -767,25 +852,6 @@ void Generator_SubUI_Gtor_src_win(lv_obj_t * scr_parent_main)
}
#endif
void roller_refresh(lv_timer_t *t){
lv_obj_t *parent = t->user_data;
if(!lv_obj_is_valid(parent)){
printf("parent lv_obj_is_valid fail.\n");
return;
}
if(parent ==NULL){
printf("parent ==NULL\n");
return;
}
uint8_t num = lv_roller_get_selected(parent);
printf("num=%d .\r\n",num);
num++;
lv_roller_set_selected(parent, num, LV_ANIM_OFF);
}
void Generator_SubUI_ERROR_src_win(lv_obj_t * scr_parent_main)
{
// lv_obj_t * scr_parent_main = get_root_win();
@ -801,72 +867,24 @@ void Generator_SubUI_ERROR_src_win(lv_obj_t * scr_parent_main)
lv_obj_clear_flag(pSubUI_ERROR_win, LV_OBJ_FLAG_SCROLLABLE);
printf("enter Error_SubUI!\n");
//// lv_obj_t* pPanel_SubUI_Img = NULL; //定义图片指针
// lv_img_cache_invalidate_src(NULL); //将缓存全部清除
//
// //加载图像框架
// lv_obj_t*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* pPanel_SubUI_Img = NULL; //定义图片指针
lv_img_cache_invalidate_src(NULL); //将缓存全部清除
//加载图像框架
lv_obj_t*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);
static lv_style_t style;
lv_style_init(&style);
lv_style_set_bg_color(&style, lv_color_black());
lv_style_set_text_color(&style, lv_color_white());
lv_style_set_border_width(&style, 0);
lv_style_set_pad_all(&style, 0);
lv_obj_add_style(lv_scr_act(), &style, 0);
lv_obj_t *roller1 = lv_roller_create(pSubUI_ERROR_win);
lv_obj_align(roller1, LV_ALIGN_TOP_LEFT, 69, 84);
lv_obj_add_style(roller1,&style,0);
lv_obj_set_style_text_font(roller1, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
lv_roller_set_options(roller1,
"JAAAAAAA\n"
"FBBBBBB\n"
"MC\n"
"ADDDD\n"
"MEEEEEEE\n"
"JFFFFFFFFFFF\n"
"JGGGG\n"
"AHHHHHHHHHHHH\n"
"SIIIII\n"
"OJJJ\n"
"NKKKKKKKK\n"
"DLLLL",
LV_ROLLER_MODE_INFINITE);
//LV_ROLLER_MODE_NORMAL);//正常滚动
lv_roller_set_visible_row_count(roller1, 3);
lv_obj_center(roller1);
lv_timer_t * time_refresh_timer = lv_timer_create(roller_refresh,1000,roller1);
//将GtorUI放到按键编组中,相应按钮时间,切换到Err界面
lv_obj_t* pDemo_group = get_key_group();
lv_group_add_obj(pDemo_group, pSubUI_ERROR_win);
@ -878,10 +896,336 @@ void Generator_SubUI_ERROR_src_win(lv_obj_t * scr_parent_main)
}
void roller1_refresh(lv_timer_t *t){
lv_obj_t *parent = t->user_data;
if(!lv_obj_is_valid(parent)){
printf("parent lv_obj_is_valid fail.\n");
return;
}
if(parent ==NULL){
printf("parent ==NULL\n");
return;
}
lv_obj_t * fault_codes1 = lv_obj_get_child(parent,0);
lv_obj_t * fault_codes2 = lv_obj_get_child(parent,1);
lv_obj_t * roller1 = lv_obj_get_child(fault_codes1,0);
lv_obj_t * roller2 = lv_obj_get_child(fault_codes2,0);
uint8_t num1 = lv_roller_get_selected(roller1);
uint8_t num2 = lv_roller_get_selected(roller1);
printf("roller1_refresh num1=%d ,num2=%d .\r\n",num1,num2);
num1++;
num2++;
lv_roller_set_selected(roller1, num1, LV_ANIM_OFF);
lv_roller_set_selected(roller2, num2, LV_ANIM_OFF);
}
void roller2_refresh(lv_timer_t *t){
lv_obj_t *parent = t->user_data;
if(!lv_obj_is_valid(parent)){
printf("parent lv_obj_is_valid fail.\n");
return;
}
if(parent ==NULL){
printf("parent ==NULL\n");
return;
}
lv_obj_t * fault_codes1 = lv_obj_get_child(parent,2);
lv_obj_t * fault_codes2 = lv_obj_get_child(parent,3);
lv_obj_t * roller1 = lv_obj_get_child(fault_codes1,0);
lv_obj_t * roller2 = lv_obj_get_child(fault_codes2,0);
uint8_t num1 = lv_roller_get_selected(roller1);
uint8_t num2 = lv_roller_get_selected(roller1);
printf("roller2_refresh num1=%d ,num2=%d .\r\n",num1,num2);
num1++;
num2++;
lv_roller_set_selected(roller1, num1, LV_ANIM_OFF);
lv_roller_set_selected(roller2, num2, LV_ANIM_OFF);
}
void Generator_test1_src_win(lv_obj_t * scr_parent_main)
{
// lv_obj_t * scr_parent_main = get_root_win();
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");
static lv_style_t frame_style;
lv_style_init(&frame_style);
/*Set a background color and a radius*/
lv_style_set_radius(&frame_style, 20);
lv_style_set_bg_opa(&frame_style, LV_OPA_COVER);
lv_style_set_bg_color(&frame_style, lv_color_hex(0x000000));
lv_style_set_border_width(&frame_style, 2);
lv_style_set_border_color(&frame_style, lv_color_hex(0xffffff));
lv_obj_t * fault_codes1 = lv_obj_create(pSubUI_ERROR_win);
lv_obj_add_style(fault_codes1, &frame_style, 0);
lv_obj_set_size(fault_codes1,LV_PCT(85),110);
lv_obj_align(fault_codes1,LV_ALIGN_CENTER,0,-70);
lv_obj_clear_flag(fault_codes1, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_t * fault_codes2 = lv_obj_create(pSubUI_ERROR_win);
lv_obj_add_style(fault_codes2, &frame_style, 0);
lv_obj_set_size(fault_codes2,LV_PCT(85),110);
lv_obj_align(fault_codes2,LV_ALIGN_CENTER,0,80);
lv_obj_clear_flag(fault_codes2, LV_OBJ_FLAG_SCROLLABLE);
//逆变器故障代码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);
static lv_style_t roller_style;
lv_style_init(&roller_style);
// lv_style_set_bg_color(&roller_style, lv_color_black());
lv_style_set_bg_color(&roller_style, lv_color_hex(0x000000));
lv_style_set_text_color(&roller_style, lv_color_white());
lv_style_set_border_width(&roller_style, 0);
lv_style_set_pad_all(&roller_style, 0);
lv_obj_t *roller1 = lv_roller_create(fault_codes1);
lv_obj_set_size(roller1,LV_PCT(100),LV_PCT(70));
lv_obj_add_style(roller1,&roller_style,0);
lv_obj_set_style_bg_opa(roller1, LV_OPA_TRANSP, LV_PART_SELECTED);
lv_obj_set_style_text_color(roller1,lv_color_hex(0xff0000),LV_PART_SELECTED);
lv_obj_set_style_text_font(roller1, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
lv_roller_set_options(roller1,
"0001输出短路\n"
"0002直流母线高\n"
"0003直流母线低\n"
"0004输出电压高\n"
"0005输出电压低\n"
"0006IGBT温度高\n"
"0007输出过流\n"
"0008发动机转速丢失\n"
"0009单片机温度高\n"
"0010硬件峰值电流保护\n"
"0011基准电压错误\n"
"0012END",
LV_ROLLER_MODE_INFINITE);
// LV_ROLLER_MODE_NORMAL);//正常滚动
lv_roller_set_visible_row_count(roller1, 3);
lv_obj_center(roller1);
lv_roller_set_selected(roller1, 1, LV_ANIM_OFF);
// pTime_refresh_timer = lv_timer_create(roller_refresh,2000,roller1);
// lv_obj_t * list = lv_list_create(fault_codes2);
// lv_obj_add_style(list,&roller_style,0);
// lv_obj_set_size(list, LV_PCT(100), LV_PCT(100));
// lv_obj_center(list);
// lv_obj_set_align(list,LV_ALIGN_CENTER);
//
// for(uint8_t btn_cnt = 1; btn_cnt <= 2; btn_cnt++) {
// char buf[32];
// lv_snprintf(buf, sizeof(buf), "Track %d", (int)btn_cnt);
// lv_list_add_btn(list, LV_SYMBOL_AUDIO, buf);
// }
lv_obj_t *roller2 = lv_roller_create(fault_codes2);
lv_obj_set_size(roller2,LV_PCT(100),LV_PCT(70));
lv_obj_add_style(roller2,&roller_style,0);
// lv_obj_set_style_bg_opa(roller2, LV_OPA_TRANSP, LV_PART_SELECTED);//
lv_obj_set_style_text_font(roller2, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
lv_roller_set_options(roller2,
"0001\n"
"0002\n"
"0003\n"
"0004\n"
"0005\n"
"0006\n"
"0007\n"
"0008\n"
"0009\n"
"0010\n"
"0011\n"
"0012",
LV_ROLLER_MODE_INFINITE);
// LV_ROLLER_MODE_NORMAL);//正常滚动
lv_roller_set_visible_row_count(roller2, 3);
lv_obj_center(roller2);
lv_roller_set_selected(roller2, 1, LV_ANIM_OFF);
pTime_refresh_timer = lv_timer_create(roller1_refresh,2000,pSubUI_ERROR_win);
//将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, test_win1_handle, LV_EVENT_KEY, NULL);
}
void Generator_test2_src_win(lv_obj_t * scr_parent_main)
{
// lv_obj_t * scr_parent_main = get_root_win();
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");
static lv_style_t frame_style;
lv_style_init(&frame_style);
/*Set a background color and a radius*/
lv_style_set_radius(&frame_style, 20);
lv_style_set_bg_opa(&frame_style, LV_OPA_COVER);
lv_style_set_bg_color(&frame_style, lv_color_hex(0x4C96C7));
lv_style_set_border_width(&frame_style, 2);
lv_style_set_border_color(&frame_style, lv_color_hex(0xffffff));
lv_obj_t * labet_view1 = lv_obj_create(pSubUI_ERROR_win);
lv_obj_add_style(labet_view1, &frame_style, 0);
lv_obj_set_style_radius(labet_view1,12,0);
lv_obj_set_size(labet_view1,180,37);
lv_obj_set_pos(labet_view1, 35, 12);
lv_obj_clear_flag(labet_view1, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_t * labet_view2 = lv_obj_create(pSubUI_ERROR_win);
lv_obj_add_style(labet_view2, &frame_style, 0);
lv_obj_set_style_radius(labet_view2,12,0);
lv_obj_set_size(labet_view2, 180,37);
lv_obj_set_pos(labet_view2, 267, 12);
lv_obj_clear_flag(labet_view2, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_t * fault_codes1 = lv_obj_create(pSubUI_ERROR_win);
lv_obj_add_style(fault_codes1, &frame_style, 0);
lv_obj_set_size(fault_codes1,180,LV_PCT(78));
lv_obj_set_pos(fault_codes1, 35, 59);
lv_obj_clear_flag(fault_codes1, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_t * fault_codes2 = lv_obj_create(pSubUI_ERROR_win);
lv_obj_add_style(fault_codes2, &frame_style, 0);
lv_obj_set_size(fault_codes2, 180,LV_PCT(78));
lv_obj_set_pos(fault_codes2, 267, 59);
lv_obj_clear_flag(fault_codes2, LV_OBJ_FLAG_SCROLLABLE);
//逆变器故障代码label Inverter type
lv_obj_t * pLabel_Inverter_Err = lv_label_create(labet_view1);
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_center(pLabel_Inverter_Err);
//反拖故障代码
lv_obj_t * pLabel_Reverse_Err = lv_label_create(labet_view2);
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_center(pLabel_Reverse_Err);
//lv_obj_align(pLabel_Reverse_Err, LV_ALIGN_TOP_LEFT, 187, 154);
static lv_style_t roller_style;
lv_style_init(&roller_style);
// lv_style_set_bg_color(&roller_style, lv_color_black());
lv_style_set_bg_color(&roller_style, lv_color_hex(0x000000));
lv_style_set_bg_opa(&roller_style, 0);
lv_style_set_text_color(&roller_style, lv_color_white());
lv_style_set_border_width(&roller_style, 0);
lv_style_set_pad_all(&roller_style, 0);
lv_obj_t *roller1 = lv_roller_create(fault_codes1);
lv_obj_set_size(roller1,LV_PCT(100),LV_PCT(100));
lv_obj_add_style(roller1,&roller_style,0);
lv_obj_set_style_bg_opa(roller1, LV_OPA_TRANSP, LV_PART_SELECTED);
lv_obj_set_style_text_color(roller1,lv_color_hex(0xff0000),LV_PART_SELECTED);
lv_obj_set_style_text_font(roller1, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
lv_roller_set_options(roller1,
"输出短路\n"
"直流母线高\n"
"直流母线低\n"
"输出电压高\n"
"输出电压低\n"
"IGBT温度高\n"
"输出过流\n"
"发动机转速丢失\n"
"单片机温度高\n"
"硬件峰值电流保护\n"
"基准电压错误\n"
"END",
LV_ROLLER_MODE_INFINITE);
// LV_ROLLER_MODE_NORMAL);//正常滚动
lv_roller_set_visible_row_count(roller1, 9);
lv_obj_center(roller1);
lv_roller_set_selected(roller1, 1, LV_ANIM_OFF);
// pTime_refresh_timer = lv_timer_create(roller_refresh,2000,roller1);
lv_obj_t *roller2 = lv_roller_create(fault_codes2);
lv_obj_set_size(roller2,LV_PCT(100),LV_PCT(70));
lv_obj_add_style(roller2,&roller_style,0);
// lv_obj_set_style_text_color(roller1,lv_color_hex(0xff0000),LV_PART_SELECTED);
lv_obj_set_style_bg_color(roller2,lv_color_hex(0xff0000),LV_PART_SELECTED);
// lv_obj_set_style_bg_opa(roller2, LV_OPA_TRANSP, LV_PART_SELECTED);//
lv_obj_set_style_text_font(roller2, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
lv_roller_set_options(roller2,
"低压保护\n"
"软件电流保护\n"
"硬件电流保护\n"
"堵转保护\n"
"峰值过流保护\n"
"温度故障\n"
"点火失败\n"
"过压保护\n"
"机油故障\n"
"END",
LV_ROLLER_MODE_INFINITE);
// LV_ROLLER_MODE_NORMAL);//正常滚动
lv_roller_set_visible_row_count(roller2, 7);
lv_obj_center(roller2);
lv_roller_set_selected(roller2, 1, LV_ANIM_OFF);
pTime_refresh_timer = lv_timer_create(roller2_refresh,2000,pSubUI_ERROR_win);
//将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, test_win2_handle, LV_EVENT_KEY, NULL);
}