/* * lv_gui_220107.c * * Created on: 2022. 1. 7. * Author: USERSPC */ #include "lv_gui_220107.h" lv_obj_t * gui_first_scr; uint8_t gui_banner_w = 132; uint8_t gui_banner_h = 35; uint8_t gui_banner_pos_x = 0; int8_t gui_banner_pos_y_top = -1; uint8_t gui_banner_pos_y_bottom = 135; uint8_t gui_juvenui_pos_x = 0; uint8_t gui_juvenui_pos_y = 110; //btn style lv_style_t gui_btn_style; uint8_t gui_btn_w = 130; uint8_t gui_btn_h = 50; uint8_t gui_btn_dis_ver_x = 0; uint8_t gui_btn_dis_hor_x = 45; uint8_t gui_btn_dis_ver_y = 60; uint8_t gui_btn_dis_hor_y = 0; uint8_t gui_icon_x = 10; uint8_t gui_icon_y = 0; uint8_t screenID = 0; // 세부 버튼 화면 uint8_t gui_banner_mid_w = 118; uint8_t gui_banner_mid_h = 7; uint8_t gui_banner_mid_pos_x = 5; int8_t gui_banner_mid_pos_y = 95; // at first, a logo is on, it changes the screen after a few seconds lv_task_t* load_stim_rf_select_screen_task_handle; uint32_t gui_screen_change_time = 3000; lv_obj_t * gui_second_scr; // home & back button lv_obj_t * lv_home_btn; lv_obj_t * lv_home_label; lv_obj_t * lv_back_btn; lv_obj_t * lv_back_label; lv_obj_t * lv_back_to_second_btn; lv_obj_t * lv_back_2_1_btn; lv_obj_t * lv_back_2_2_btn; lv_obj_t * lv_back_2_1_1_btn; lv_obj_t * lv_back_2_1_2_btn; lv_obj_t * lv_back_2_2_1_btn; lv_obj_t * lv_back_2_2_2_btn; lv_obj_t * lv_back_to_second_label; lv_obj_t * lv_back_2_1_label; lv_obj_t * lv_back_2_2_label; lv_obj_t * lv_back_2_1_1_label; lv_obj_t * lv_back_2_1_2_label; lv_obj_t * lv_back_2_2_1_label; lv_obj_t * lv_back_2_2_2_label; // button - the buttons for each screen (2nd screen, 2_1, 2_2) lv_obj_t * lv_btn1; lv_obj_t * lv_btn2; lv_obj_t * lv_btn3; lv_obj_t * lv_btn4; lv_obj_t * lv_btn5; lv_obj_t * lv_label1; lv_obj_t * lv_label2; lv_obj_t * lv_label3; lv_obj_t * lv_label4; lv_obj_t * lv_label5; lv_obj_t * lv_label1_1; lv_obj_t * lv_label2_1; // stim scr lv_obj_t * gui_2_1_scr; lv_obj_t * gui_2_1_1_scr; lv_obj_t * gui_2_1_2_scr; // rf scr lv_obj_t * gui_2_2_scr; lv_obj_t * gui_2_2_1_scr; lv_obj_t * gui_2_2_2_scr; lv_obj_t * gui_2_2_1_value_setup_scr; lv_obj_t * gui_2_2_2_value_setup_scr; lv_obj_t * gui_2_2_2_time_setup_scr; lv_obj_t * gui_2_2_2_volt_setup_scr; // spinbox setting static lv_obj_t * voltage_spinbox; static lv_obj_t * time_spinbox; void style_setting_test(void) { lv_style_reset(&gui_btn_style); lv_style_set_radius(&gui_btn_style, LV_STATE_DEFAULT, 0); lv_style_set_bg_opa(&gui_btn_style, LV_STATE_DEFAULT, LV_OPA_90); lv_style_set_bg_color(&gui_btn_style, LV_STATE_DEFAULT, LV_COLOR_WHITE); lv_style_set_border_opa(&gui_btn_style, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_style_set_border_color(&gui_btn_style, LV_STATE_DEFAULT, LV_COLOR_WHITE); lv_style_set_text_color(&gui_btn_style, LV_STATE_DEFAULT, LV_COLOR_BLUE); lv_style_set_border_opa(&gui_btn_style, LV_BTN_STATE_PRESSED, LV_OPA_COVER); lv_style_set_bg_color(&gui_btn_style, LV_BTN_STATE_PRESSED, LV_COLOR_BLUE); lv_style_set_bg_color(&gui_btn_style, LV_BTN_STATE_CHECKED_PRESSED, LV_COLOR_BLUE); } // when home button is touched, the second screen is on static void home_btn_touched_cb(lv_obj_t * btn, lv_event_t event) { if(event == LV_EVENT_PRESSED && event != LV_EVENT_GESTURE) { printf("home_btn_clicked\r\n"); lv_scr_load(gui_second_scr); } } // when back button is clicked, current screen is checked, change the screen ID. // with the function "disp_change_screen(screenId)", check the current screen and delete & clean it, open the right before screen. static void back_btn_touched_cb(lv_obj_t * btn, lv_event_t event) { if(event == LV_EVENT_CLICKED && event != LV_EVENT_GESTURE) { if(btn == lv_back_to_second_btn) { screenID = 1; } else if(btn == lv_back_2_1_btn) { screenID = 2; } else if(btn == lv_back_2_2_btn) { screenID = 3; } else if(btn == lv_back_2_2_1_btn) { screenID = 4; } disp_change_screen(screenID); } } static void volt_spinbox_up_event_cb(lv_obj_t * btn, lv_event_t e) { if(e == LV_EVENT_SHORT_CLICKED || e == LV_EVENT_LONG_PRESSED || e == LV_EVENT_PRESSING) { lv_spinbox_increment(voltage_spinbox); } } static void volt_spinbox_down_event_cb(lv_obj_t * btn, lv_event_t e) { if(e == LV_EVENT_SHORT_CLICKED || e == LV_EVENT_LONG_PRESSED || e == LV_EVENT_PRESSING) { lv_spinbox_decrement(voltage_spinbox); } } static void time_spinbox_up_event_cb(lv_obj_t * btn, lv_event_t e) { if(e == LV_EVENT_SHORT_CLICKED || e == LV_EVENT_LONG_PRESSED || e == LV_EVENT_PRESSING) { lv_spinbox_increment(time_spinbox); } } static void time_spinbox_down_event_cb(lv_obj_t * btn, lv_event_t e) { if(e == LV_EVENT_SHORT_CLICKED || e == LV_EVENT_LONG_PRESSED || e == LV_EVENT_PRESSING) { lv_spinbox_decrement(time_spinbox); } } //*------------------------------------ style ------------------------------------*// //*------------------------------------ common elements for design ------------------------------------*// void gui_common_elements(void) { lv_obj_t * gui_top_banner; gui_top_banner = lv_obj_create(lv_scr_act(), NULL); lv_obj_set_pos(gui_top_banner, gui_banner_pos_x, gui_banner_pos_y_top); lv_obj_set_size(gui_top_banner, gui_banner_w, gui_banner_h); lv_obj_set_style_local_radius(gui_top_banner, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 0); lv_obj_set_style_local_bg_color(gui_top_banner, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLUE); lv_obj_add_protect(gui_top_banner, LV_PROTECT_PRESS_LOST); lv_obj_set_click(gui_top_banner, false); } //*------------------------------------ task ------------------------------------*// void load_second_screen_task_cb(lv_obj_t* obj, lv_event_t event) { gui_second_screen(); } //*------------------------------------ 1st screen ------------------------------------*// static void btn_2_1_clicked_cb(lv_obj_t * btn, lv_event_t event) { if(event == LV_EVENT_CLICKED && event != LV_EVENT_GESTURE) { screen_2_1_on(); } } static void btn_2_2_clicked_cb(lv_obj_t * btn, lv_event_t event) { if(event == LV_EVENT_CLICKED && event != LV_EVENT_GESTURE) { screen_2_2_on(); } } //*------------------------------------2_1 screen, select ------------------------------------*// static void btn_2_1_1_clicked_cb(lv_obj_t * btn, lv_event_t event) { if(event == LV_EVENT_CLICKED && event != LV_EVENT_GESTURE) { screen_2_1_1_on(); } } static void btn_2_1_2_clicked_cb(lv_obj_t * btn, lv_event_t event) { if(event == LV_EVENT_CLICKED && event != LV_EVENT_GESTURE) { screen_2_1_2_on(); } } //*------------------------------------ 2_2 screen select ------------------------------------*// static void btn_2_2_1_clicked_cb(lv_obj_t * btn, lv_event_t event) { if(event == LV_EVENT_CLICKED && event != LV_EVENT_GESTURE) { screen_2_2_1_on(); } } static void btn_2_2_2_clicked_cb(lv_obj_t * btn, lv_event_t event) { if(event == LV_EVENT_CLICKED && event != LV_EVENT_GESTURE) { screen_2_2_2_on(); } } static void time_setup_screen_on_cb(lv_obj_t * btn, lv_event_t event) { if(event == LV_EVENT_CLICKED && event != LV_EVENT_GESTURE) { time_setup_screen_2_2_on(); } } static void volt_setup_screen_on_cb(lv_obj_t * btn, lv_event_t event) { if(event == LV_EVENT_CLICKED && event != LV_EVENT_GESTURE) { volt_setup_screen_2_2_on(); } } //*------------------------------------ screen ------------------------------------*// void home_btn(void) { lv_home_btn = lv_obj_create(lv_scr_act(), NULL); lv_obj_set_style_local_bg_opa(lv_home_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_set_style_local_border_opa(lv_home_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_home_label = lv_label_create(lv_home_btn, NULL); lv_obj_set_size(lv_home_btn, 25, 25); lv_obj_set_pos(lv_home_btn,gui_banner_pos_x+100, 5); lv_obj_set_event_cb(lv_home_btn, home_btn_touched_cb); lv_label_set_recolor(lv_home_label, true); lv_obj_set_style_local_text_font(lv_home_label, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_20); lv_label_set_text(lv_home_label, "#ffffff \xef\x80\x95#"); } //*------------------------------------ start screen ------------------------------------*// static void gui_first_screen(void) { gui_first_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_first_scr); LV_IMG_DECLARE(img_stc); lv_obj_t * img_stc_logo = lv_img_create(gui_first_scr, NULL); lv_img_set_src(img_stc_logo, &(img_stc)); lv_img_set_zoom(img_stc_logo,230); lv_obj_align(img_stc_logo, gui_first_scr, LV_ALIGN_IN_TOP_MID, gui_juvenui_pos_x, gui_juvenui_pos_y); // after a few seconds, this screen is deleted and load second screen. // this task runs only once. load_stim_rf_select_screen_task_handle = lv_task_create(load_second_screen_task_cb, gui_screen_change_time, LV_TASK_PRIO_LOW, NULL); lv_task_once(load_stim_rf_select_screen_task_handle); } void gui_second_screen(void) { lv_style_reset(&gui_btn_style); gui_second_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_second_scr); // design element call up gui_common_elements(); // interaction elements placement lv_btn1 = lv_btn_create(gui_second_scr, NULL); lv_obj_add_style(lv_btn1, LV_BTN_PART_MAIN, &gui_btn_style); lv_obj_set_size(lv_btn1, gui_btn_w, gui_btn_h); lv_obj_align(lv_btn1, gui_second_scr, LV_ALIGN_IN_TOP_MID, gui_banner_pos_x, gui_banner_h+5); //Set its position lv_obj_set_style_local_bg_color(lv_btn1, LV_OBJ_PART_MAIN, LV_BTN_STATE_PRESSED, LV_COLOR_WHITE); lv_label1 = lv_label_create(lv_btn1, NULL); lv_label_set_recolor(lv_label1, true); lv_label_set_text(lv_label1, "#353535 2_1 button.#"); lv_label_set_align(lv_label1, LV_LABEL_ALIGN_RIGHT); lv_obj_set_style_local_text_letter_space(lv_label1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, -1); lv_obj_set_event_cb(lv_btn1, btn_2_1_clicked_cb); lv_btn2 = lv_btn_create(gui_second_scr, lv_btn1); lv_obj_align(lv_btn2, lv_btn1, LV_ALIGN_CENTER, gui_btn_dis_ver_x, gui_btn_dis_ver_y); lv_label2 = lv_label_create(lv_btn2, NULL); lv_label_set_recolor(lv_label2, true); lv_label_set_text(lv_label2, "#353535 2_2 button#"); lv_label_set_align(lv_label2, LV_LABEL_ALIGN_RIGHT); lv_obj_set_event_cb(lv_btn2, btn_2_2_clicked_cb); } void screen_2_1_on(void) { lv_style_reset(&gui_btn_style); gui_2_1_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_2_1_scr); // design element call up gui_common_elements(); home_btn(); // interaction elements placement lv_btn1 = lv_btn_create(gui_2_1_scr, NULL); //Add a button the current screen lv_obj_add_style(lv_btn1, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_set_size(lv_btn1, gui_btn_w, gui_btn_h); lv_obj_align(lv_btn1, gui_2_1_scr, LV_ALIGN_IN_TOP_MID, gui_banner_pos_x, gui_banner_h+5); lv_label1 = lv_label_create(lv_btn1, NULL); lv_label_set_recolor(lv_label1, true); lv_label_set_text(lv_label1, "#353535 2_1_1 button#"); lv_label_set_align(lv_label1, LV_LABEL_ALIGN_RIGHT); lv_obj_set_event_cb(lv_btn1, btn_2_1_1_clicked_cb); lv_btn2 = lv_btn_create(gui_2_1_scr, lv_btn1); //Add a button the current screen lv_obj_add_style(lv_btn2, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_align(lv_btn2, lv_btn1, LV_ALIGN_CENTER, gui_btn_dis_ver_x, gui_btn_dis_ver_y); //Set its position lv_label2 = lv_label_create(lv_btn2, NULL); lv_label_set_recolor(lv_label2, true); lv_label_set_text(lv_label2, "#353535 2_1_2 button#"); lv_label_set_align(lv_label2, LV_LABEL_ALIGN_RIGHT); lv_obj_set_event_cb(lv_btn2, btn_2_1_2_clicked_cb); // go back before screen button lv_back_to_second_btn = lv_obj_create(lv_scr_act(), lv_btn2); lv_obj_set_style_local_bg_opa(lv_back_to_second_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_set_style_local_border_opa(lv_back_to_second_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_back_to_second_label = lv_label_create(lv_back_to_second_btn, NULL); lv_obj_set_style_local_text_font(lv_back_to_second_label, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_20); lv_obj_set_size(lv_back_to_second_btn, 25, 25); lv_obj_set_pos(lv_back_to_second_btn, gui_banner_pos_x+68, 5); lv_obj_set_click(lv_back_to_second_btn, true); lv_obj_set_event_cb(lv_back_to_second_btn, back_btn_touched_cb); lv_label_set_recolor(lv_back_to_second_label, true); lv_label_set_text(lv_back_to_second_label, "#ffffff \xef\xA2\xA2#"); } void screen_2_1_1_on(void) { lv_style_reset(&gui_btn_style); gui_2_1_1_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_2_1_1_scr); // design element call up gui_common_elements(); home_btn(); // interaction elements placement lv_btn1 = lv_btn_create(gui_2_1_1_scr, NULL); lv_obj_add_style(lv_btn1, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_set_size(lv_btn1, gui_btn_w, gui_btn_h); lv_obj_align(lv_btn1, gui_2_1_1_scr, LV_ALIGN_IN_TOP_MID, gui_banner_pos_x, gui_banner_h+5); lv_label2 = lv_label_create(lv_btn1, NULL); lv_label_set_text(lv_label2, "50hz"); lv_label_set_align(lv_label2, LV_LABEL_ALIGN_RIGHT); lv_label1 = lv_label_create(gui_2_1_1_scr, NULL); lv_label_set_text(lv_label1, "Pulse"); lv_label_set_align(lv_label1, LV_ALIGN_IN_TOP_LEFT); lv_obj_align(lv_label1, gui_2_1_1_scr, LV_ALIGN_IN_TOP_LEFT, gui_banner_pos_x+10, gui_banner_h); lv_obj_set_style_local_text_color(lv_label1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_YELLOW); lv_obj_set_style_local_text_font(lv_label1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &jvn_montserrat_bold_14); voltage_spinbox = lv_spinbox_create(gui_2_1_1_scr, NULL); lv_spinbox_set_range(voltage_spinbox, 1, 32); lv_spinbox_set_digit_format(voltage_spinbox, 2, 1); lv_spinbox_step_next(voltage_spinbox); lv_spinbox_set_padding_left(voltage_spinbox, 20); lv_obj_set_width(voltage_spinbox, 80); lv_obj_align(voltage_spinbox, lv_btn1, LV_ALIGN_CENTER, gui_btn_dis_ver_x, gui_btn_dis_ver_y); lv_obj_t * btn_down = lv_btn_create(gui_2_1_1_scr, NULL); lv_obj_set_size(btn_down, 30, 20); lv_obj_align(btn_down, voltage_spinbox, LV_ALIGN_OUT_BOTTOM_MID, -20, 0); lv_obj_set_style_local_value_str(btn_down, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_DOWN); lv_obj_set_event_cb(btn_down, volt_spinbox_down_event_cb); lv_obj_t * btn_up = lv_btn_create(gui_2_1_1_scr, btn_down); lv_obj_align(btn_up, btn_down, LV_ALIGN_CENTER, gui_btn_dis_hor_x, 0); lv_obj_set_event_cb(btn_up, volt_spinbox_up_event_cb); lv_obj_set_style_local_value_str(btn_up, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_UP); lv_obj_set_style_local_bg_opa(voltage_spinbox, LV_SPINBOX_PART_CURSOR, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_t * lv_label4; lv_label4 = lv_label_create(gui_2_1_1_scr, NULL); lv_label_set_text(lv_label4, "Volt"); lv_obj_align(lv_label4, lv_label1, LV_ALIGN_CENTER, gui_banner_pos_x, (2*gui_banner_h)); lv_obj_set_style_local_text_color(lv_label4, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_YELLOW); lv_obj_set_style_local_text_font(lv_label4, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &jvn_montserrat_bold_14); // go back before screen button lv_back_2_1_btn = lv_obj_create(lv_scr_act(), NULL); lv_obj_set_style_local_bg_opa(lv_back_2_1_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_set_style_local_border_opa(lv_back_2_1_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_back_2_1_label = lv_label_create(lv_back_2_1_btn, NULL); lv_obj_set_style_local_text_font(lv_back_2_1_label, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_20); lv_obj_set_size(lv_back_2_1_btn, 25, 25); lv_obj_set_pos(lv_back_2_1_btn,gui_banner_pos_x+68, 5); lv_obj_set_click(lv_back_2_1_btn, true); lv_obj_set_event_cb(lv_back_2_1_btn, back_btn_touched_cb); lv_label_set_recolor(lv_back_2_1_label, true); lv_label_set_text(lv_back_2_1_label, "#ffffff \xef\xA2\xA2#"); } void screen_2_1_2_on(void) { lv_style_reset(&gui_btn_style); gui_2_1_2_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_2_1_2_scr); // design element call up gui_common_elements(); home_btn(); // interaction elements placement lv_btn1 = lv_btn_create(gui_2_1_2_scr, NULL); lv_obj_add_style(lv_btn1, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_set_size(lv_btn1, gui_btn_w, gui_btn_h); lv_obj_align(lv_btn1, gui_2_1_2_scr, LV_ALIGN_IN_TOP_MID, gui_banner_pos_x, gui_banner_h+5); lv_label2 = lv_label_create(lv_btn1, NULL); lv_label_set_text(lv_label2, "02hz"); lv_label_set_align(lv_label2, LV_LABEL_ALIGN_RIGHT); lv_label1 = lv_label_create(gui_2_1_2_scr, NULL); lv_label_set_text(lv_label1, "Pulse"); lv_label_set_align(lv_label1, LV_ALIGN_IN_TOP_LEFT); lv_obj_align(lv_label1, gui_2_1_2_scr, LV_ALIGN_IN_TOP_LEFT, gui_banner_pos_x+10, gui_banner_h); lv_obj_set_style_local_text_color(lv_label1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_YELLOW); lv_obj_set_style_local_text_font(lv_label1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &jvn_montserrat_bold_14); voltage_spinbox = lv_spinbox_create(gui_2_1_2_scr, NULL); lv_spinbox_set_range(voltage_spinbox, 1, 32); lv_spinbox_set_digit_format(voltage_spinbox, 2, 1); lv_spinbox_step_next(voltage_spinbox); lv_spinbox_set_padding_left(voltage_spinbox, 20); lv_obj_set_width(voltage_spinbox, 80); lv_obj_align(voltage_spinbox, lv_btn1, LV_ALIGN_CENTER, gui_btn_dis_ver_x, gui_btn_dis_ver_y); lv_obj_t * btn_down = lv_btn_create(gui_2_1_2_scr, NULL); lv_obj_set_size(btn_down, 30, 20); lv_obj_align(btn_down, voltage_spinbox, LV_ALIGN_OUT_BOTTOM_MID, -20, 0); lv_theme_apply(btn_down, LV_THEME_SPINBOX_BTN); lv_obj_set_style_local_value_str(btn_down, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_DOWN); lv_obj_set_event_cb(btn_down, volt_spinbox_down_event_cb); lv_obj_t * btn_up = lv_btn_create(gui_2_1_2_scr, btn_down); lv_obj_align(btn_up, btn_down, LV_ALIGN_CENTER, gui_btn_dis_hor_x, 0); lv_obj_set_event_cb(btn_up, volt_spinbox_up_event_cb); lv_obj_set_style_local_value_str(btn_up, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_UP); lv_obj_set_style_local_bg_opa(voltage_spinbox, LV_SPINBOX_PART_CURSOR, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_t * lv_label4; lv_label4 = lv_label_create(gui_2_1_2_scr, NULL); lv_label_set_text(lv_label4, "Volt"); lv_obj_align(lv_label4, lv_label1, LV_ALIGN_CENTER, gui_banner_pos_x, (2*gui_banner_h)); lv_obj_set_style_local_text_color(lv_label4, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_YELLOW); lv_obj_set_style_local_text_font(lv_label4, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &jvn_montserrat_bold_14); lv_back_2_1_btn = lv_obj_create(lv_scr_act(), NULL); lv_obj_set_style_local_bg_opa(lv_back_2_1_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_set_style_local_border_opa(lv_back_2_1_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_back_2_1_label = lv_label_create(lv_back_2_1_btn, NULL); lv_obj_set_style_local_text_font(lv_back_2_1_label, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_20); lv_obj_set_size(lv_back_2_1_btn, 25, 25); lv_obj_set_pos(lv_back_2_1_btn,gui_banner_pos_x+68, 5); lv_obj_set_click(lv_back_2_1_btn, true); lv_obj_set_event_cb(lv_back_2_1_btn, back_btn_touched_cb); lv_label_set_recolor(lv_back_2_1_label, true); lv_label_set_text(lv_back_2_1_label, "#ffffff \xef\xA2\xA2#"); } void screen_2_2_on(void) { lv_style_reset(&gui_btn_style); gui_2_2_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_2_2_scr); // design element call up gui_common_elements(); home_btn(); // interaction elements placement lv_btn1 = lv_btn_create(gui_2_2_scr, NULL); lv_obj_add_style(lv_btn1, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_set_size(lv_btn1, gui_btn_w, gui_btn_h); lv_obj_align(lv_btn1, gui_2_2_scr, LV_ALIGN_IN_TOP_MID, gui_banner_pos_x, gui_banner_h+5); lv_label1 = lv_label_create(lv_btn1, NULL); lv_label_set_recolor(lv_label1, true); lv_label_set_text(lv_label1, "#353535 2_2_1 button#"); lv_label_set_align(lv_label1, LV_LABEL_ALIGN_RIGHT); lv_obj_set_event_cb(lv_btn1, btn_2_2_1_clicked_cb); lv_btn2 = lv_btn_create(gui_2_2_scr, lv_btn1); //Add a button the current screen lv_obj_add_style(lv_btn2, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_align(lv_btn2, lv_btn1, LV_ALIGN_CENTER, gui_btn_dis_ver_x, gui_btn_dis_ver_y); lv_label2 = lv_label_create(lv_btn2, NULL); lv_label_set_recolor(lv_label2, true); lv_label_set_text(lv_label2, "#353535 2_2_2 button#"); lv_label_set_align(lv_label2, LV_LABEL_ALIGN_RIGHT); lv_obj_set_event_cb(lv_btn2, btn_2_2_2_clicked_cb); lv_back_to_second_btn = lv_obj_create(gui_2_2_scr, NULL); lv_obj_set_style_local_bg_opa(lv_back_to_second_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_set_style_local_border_opa(lv_back_to_second_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); //lv_obj_set_style_local_border_color(lv_back_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_YELLOW); lv_back_to_second_label = lv_label_create(lv_back_to_second_btn, NULL); lv_obj_set_style_local_text_font(lv_back_to_second_label, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_20); lv_obj_set_size(lv_back_to_second_btn, 25, 25); lv_obj_set_pos(lv_back_to_second_btn,gui_banner_pos_x+68, 5); lv_obj_set_click(lv_back_to_second_btn, true); lv_obj_set_event_cb(lv_back_to_second_btn, back_btn_touched_cb); lv_label_set_recolor(lv_back_to_second_label, true); lv_label_set_text(lv_back_to_second_label, "#ffffff \xef\xA2\xA2#"); } void screen_2_2_1_on(void) { lv_style_reset(&gui_btn_style); gui_2_2_1_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_2_2_1_scr); //design element call up gui_common_elements(); home_btn(); // interaction elements placement lv_btn1 = lv_btn_create(gui_2_2_1_scr, NULL); //Add a button the current screen lv_obj_add_style(lv_btn1, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_set_size(lv_btn1, gui_btn_w-5, gui_btn_h-15); lv_obj_align(lv_btn1, gui_2_2_1_scr, LV_ALIGN_IN_TOP_MID, gui_banner_pos_x, gui_banner_h+5); lv_obj_set_style_local_bg_color(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLUE); lv_obj_set_style_local_bg_opa(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_COVER); lv_obj_set_style_local_radius(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 10); lv_label1 = lv_label_create(lv_btn1, NULL); lv_label_set_recolor(lv_label1, true); lv_label_set_text(lv_label1, "#ffffff Mode 1#"); lv_label_set_align(lv_label1, LV_LABEL_ALIGN_RIGHT); lv_btn2 = lv_btn_create(gui_2_2_1_scr, lv_btn1); //Add a button the current screen lv_obj_add_style(lv_btn2, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_align(lv_btn2, lv_btn1, LV_ALIGN_CENTER, gui_banner_pos_x, gui_banner_h+5); //Set its position lv_obj_set_style_local_bg_color(lv_btn2, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLUE); lv_obj_set_style_local_bg_opa(lv_btn2, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_COVER); lv_label2 = lv_label_create(lv_btn2, NULL); lv_label_set_recolor(lv_label2, true); lv_label_set_text(lv_label2, "#ffffff Mode 2#"); lv_label_set_align(lv_label2, LV_LABEL_ALIGN_RIGHT); lv_btn3 = lv_btn_create(gui_2_2_1_scr, lv_btn1); //Add a button the current screen lv_obj_add_style(lv_btn3, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_align(lv_btn3, lv_btn2, LV_ALIGN_CENTER, gui_banner_pos_x, gui_banner_h+5); //Set its position lv_obj_set_style_local_bg_color(lv_btn3, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLUE); lv_obj_set_style_local_bg_opa(lv_btn3, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_COVER); lv_label3 = lv_label_create(lv_btn3, NULL); lv_label_set_recolor(lv_label3, true); lv_label_set_text(lv_label3, "#ffffff Mode 3#"); lv_label_set_align(lv_label3, LV_LABEL_ALIGN_RIGHT); lv_back_2_2_btn = lv_obj_create(lv_scr_act(), NULL); lv_obj_set_style_local_bg_opa(lv_back_2_2_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_set_style_local_border_opa(lv_back_2_2_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_back_2_2_label = lv_label_create(lv_back_2_2_btn, NULL); lv_obj_set_style_local_text_font(lv_back_2_2_label, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_20); lv_obj_set_size(lv_back_2_2_btn, 25, 25); lv_obj_set_pos(lv_back_2_2_btn,gui_banner_pos_x+68, 5); lv_obj_set_click(lv_back_2_2_btn, true); lv_obj_set_event_cb(lv_back_2_2_btn, back_btn_touched_cb); lv_label_set_recolor(lv_back_2_2_label, true); lv_label_set_text(lv_back_2_2_label, "#ffffff \xef\xA2\xA2#"); } void rf_auto_value_setup_screen(uint8_t num) { lv_style_reset(&gui_btn_style); // call screen gui_2_2_1_value_setup_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_2_2_1_value_setup_scr); // design element call up gui_common_elements(); home_btn(); // interaction elements placement lv_btn1 = lv_btn_create(gui_2_2_1_value_setup_scr, NULL); //Add a button the current screen lv_obj_add_style(lv_btn1, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_set_size(lv_btn1, gui_btn_w-75, gui_btn_h-10); lv_obj_align(lv_btn1, gui_2_2_1_value_setup_scr, LV_ALIGN_IN_TOP_LEFT, gui_banner_pos_x+5, gui_banner_h+2); lv_obj_set_style_local_radius(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 10); lv_obj_set_style_local_border_opa(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_COVER); lv_obj_set_style_local_border_width(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 2); lv_obj_set_style_local_border_color(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLUE); lv_label1 = lv_label_create(gui_2_2_1_value_setup_scr, NULL); lv_label_set_text(lv_label1, "20V"); lv_obj_set_style_local_text_font(lv_label1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &jvn_montserrat_bold_14); lv_obj_set_pos(lv_label1, gui_banner_pos_x+20, gui_banner_h+20); lv_obj_set_event_cb(lv_btn1, volt_setup_screen_on_cb); lv_btn2 = lv_btn_create(gui_2_2_1_value_setup_scr, lv_btn1); lv_obj_align(lv_btn2, lv_btn1, LV_ALIGN_CENTER, gui_banner_pos_x+60, 0); lv_label2 = lv_label_create(gui_2_2_1_value_setup_scr, lv_label1); lv_label_set_text(lv_label2, "20ms"); lv_obj_align(lv_label2, lv_label1, LV_ALIGN_CENTER, 60, 0); lv_btn3 = lv_btn_create(gui_2_2_1_value_setup_scr, lv_btn1); lv_obj_align(lv_btn3, lv_btn1, LV_ALIGN_CENTER, gui_banner_pos_x, 43); lv_label3 = lv_label_create(gui_2_2_1_value_setup_scr, lv_label1); lv_label_set_text(lv_label3, "2Hz"); lv_obj_align(lv_label3, lv_label1, LV_ALIGN_CENTER, 0, 45); lv_btn4 = lv_btn_create(gui_2_2_1_value_setup_scr, lv_btn1); lv_obj_align(lv_btn4, lv_btn3, LV_ALIGN_CENTER, gui_banner_pos_x+60, 0); lv_label4 = lv_label_create(gui_2_2_1_value_setup_scr, lv_label1); lv_label_set_text(lv_label4, "42ºC"); lv_label_set_align(lv_label4, LV_LABEL_ALIGN_RIGHT); lv_obj_align(lv_label4, lv_label3, LV_ALIGN_CENTER, 60, 0); lv_btn5 = lv_btn_create(gui_2_2_1_value_setup_scr, lv_btn1); lv_obj_align(lv_btn5, lv_btn3, LV_ALIGN_CENTER, gui_banner_pos_x, 43); lv_obj_set_size(lv_btn5, gui_btn_w-10, gui_btn_h-5); lv_label5 = lv_label_create(lv_btn5, lv_label1); lv_label_set_text(lv_label5, "120s"); lv_obj_set_style_local_text_font(lv_label5, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &jvn_montserrat_bold_18); lv_label_set_align(lv_label5, LV_LABEL_ALIGN_RIGHT); lv_obj_set_event_cb(lv_btn5, time_setup_screen_on_cb); lv_back_2_2_1_btn = lv_obj_create(lv_scr_act(), NULL); lv_obj_set_style_local_bg_opa(lv_back_2_2_1_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_set_style_local_border_opa(lv_back_2_2_1_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_back_2_2_1_label = lv_label_create(lv_back_2_2_1_btn, NULL); lv_obj_set_style_local_text_font(lv_back_2_2_1_label, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_20); lv_obj_set_size(lv_back_2_2_1_btn, 25, 25); lv_obj_set_pos(lv_back_2_2_1_btn,gui_banner_pos_x+68, 5); lv_obj_set_click(lv_back_2_2_1_btn, true); lv_obj_set_event_cb(lv_back_2_2_1_btn, back_btn_touched_cb); lv_label_set_recolor(lv_back_2_2_1_label, true); lv_label_set_text(lv_back_2_2_1_label, "#ffffff \xef\xA2\xA2#"); } void screen_2_2_2_on(void) { lv_style_reset(&gui_btn_style); // call screen gui_2_2_2_value_setup_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_2_2_2_value_setup_scr); // design element call up gui_common_elements(); home_btn(); // interaction elements placement lv_btn1 = lv_btn_create(gui_2_2_2_value_setup_scr, NULL); //Add a button the current screen lv_obj_add_style(lv_btn1, LV_OBJ_PART_MAIN, &gui_btn_style); lv_obj_set_size(lv_btn1, gui_btn_w-75, gui_btn_h-10); lv_obj_align(lv_btn1, gui_2_2_2_value_setup_scr, LV_ALIGN_IN_TOP_LEFT, gui_banner_pos_x+5, gui_banner_h+2); lv_obj_set_style_local_radius(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 10); lv_obj_set_style_local_border_opa(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_COVER); lv_obj_set_style_local_border_width(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 2); lv_obj_set_style_local_border_color(lv_btn1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLUE); lv_label1 = lv_label_create(gui_2_2_2_value_setup_scr, NULL); lv_label_set_text(lv_label1, "20V"); lv_obj_set_style_local_text_font(lv_label1, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &jvn_montserrat_bold_14); lv_obj_set_pos(lv_label1, gui_banner_pos_x+20, gui_banner_h+20); lv_btn2 = lv_btn_create(gui_2_2_2_value_setup_scr, lv_btn1); lv_obj_align(lv_btn2, lv_btn1, LV_ALIGN_CENTER, gui_banner_pos_x+60, 0); lv_label2 = lv_label_create(gui_2_2_2_value_setup_scr, lv_label1); lv_label_set_text(lv_label2, "20ms"); lv_obj_align(lv_label2, lv_label1, LV_ALIGN_CENTER, 60, 0); lv_btn3 = lv_btn_create(gui_2_2_2_value_setup_scr, lv_btn1); lv_obj_align(lv_btn3, lv_btn1, LV_ALIGN_CENTER, gui_banner_pos_x, 43); lv_label3 = lv_label_create(gui_2_2_2_value_setup_scr, lv_label1); lv_label_set_text(lv_label3, "2Hz"); lv_obj_align(lv_label3, lv_label1, LV_ALIGN_CENTER, 0, 45); lv_btn4 = lv_btn_create(gui_2_2_2_value_setup_scr, lv_btn1); lv_obj_align(lv_btn4, lv_btn3, LV_ALIGN_CENTER, gui_banner_pos_x+60, 0); lv_label4 = lv_label_create(gui_2_2_2_value_setup_scr, lv_label1); lv_label_set_text(lv_label4, "42ºC"); lv_label_set_align(lv_label4, LV_LABEL_ALIGN_RIGHT); lv_obj_align(lv_label4, lv_label3, LV_ALIGN_CENTER, 60, 0); lv_btn5 = lv_btn_create(gui_2_2_2_value_setup_scr, lv_btn1); lv_obj_align(lv_btn5, lv_btn3, LV_ALIGN_CENTER, gui_banner_pos_x, 43); lv_obj_set_size(lv_btn5, gui_btn_w-10, gui_btn_h-5); lv_label5 = lv_label_create(lv_btn5, lv_label1); lv_label_set_text(lv_label5, "120s"); lv_obj_set_style_local_text_font(lv_label5, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &jvn_montserrat_bold_18); lv_label_set_align(lv_label5, LV_LABEL_ALIGN_RIGHT); lv_obj_set_event_cb(lv_btn5, time_setup_screen_on_cb); lv_back_2_2_btn = lv_obj_create(lv_scr_act(), NULL); lv_obj_set_style_local_bg_opa(lv_back_2_2_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_set_style_local_border_opa(lv_back_2_2_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_back_2_2_label = lv_label_create(lv_back_2_2_btn, NULL); lv_obj_set_style_local_text_font(lv_back_2_2_label, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_20); lv_obj_set_size(lv_back_2_2_btn, 25, 25); lv_obj_set_pos(lv_back_2_2_btn,gui_banner_pos_x+68, 5); lv_obj_set_click(lv_back_2_2_btn, true); lv_obj_set_event_cb(lv_back_2_2_btn, back_btn_touched_cb); lv_label_set_recolor(lv_back_2_2_label, true); lv_label_set_text(lv_back_2_2_label, "#ffffff \xef\xA2\xA2#"); } void time_setup_screen_2_2_on(void) { gui_2_2_2_time_setup_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_2_2_2_time_setup_scr); gui_common_elements(); time_spinbox = lv_spinbox_create(gui_2_2_2_time_setup_scr, NULL); lv_spinbox_set_range(time_spinbox, 1, 120); lv_spinbox_set_value(time_spinbox, 120); lv_spinbox_set_digit_format(time_spinbox, 3, 0); lv_spinbox_step_next(time_spinbox); lv_spinbox_set_padding_left(time_spinbox, 20); lv_obj_set_width(time_spinbox, 100); lv_obj_set_height(time_spinbox, 80); lv_obj_align(time_spinbox, gui_2_2_2_time_setup_scr, LV_ALIGN_CENTER, gui_btn_dis_ver_x, gui_btn_dis_hor_y); lv_textarea_set_text_align(time_spinbox, LV_ALIGN_OUT_RIGHT_BOTTOM); lv_obj_t * btn_down = lv_btn_create(gui_2_2_2_time_setup_scr, NULL); lv_obj_set_size(btn_down, 40, 30); lv_obj_align(btn_down, time_spinbox, LV_ALIGN_OUT_BOTTOM_MID, -20, 0); lv_theme_apply(btn_down, LV_THEME_SPINBOX_BTN); lv_obj_set_style_local_value_str(btn_down, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_DOWN); lv_obj_set_event_cb(btn_down, time_spinbox_down_event_cb); lv_obj_t * btn_up = lv_btn_create(gui_2_2_2_time_setup_scr, btn_down); lv_obj_align(btn_up, btn_down, LV_ALIGN_CENTER, gui_btn_dis_hor_x, 0); lv_obj_set_event_cb(btn_up, time_spinbox_up_event_cb); lv_obj_set_style_local_value_str(btn_up, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_UP); lv_obj_set_style_local_bg_opa(time_spinbox, LV_SPINBOX_PART_CURSOR, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_t * lv_label4; lv_label4 = lv_label_create(gui_2_2_2_time_setup_scr, NULL); lv_label_set_text(lv_label4, "Time"); lv_obj_align(lv_label4, time_spinbox, LV_ALIGN_IN_TOP_LEFT, gui_banner_pos_x+25, gui_btn_dis_hor_y); lv_obj_set_style_local_text_color(lv_label4, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_YELLOW); lv_obj_set_style_local_text_font(lv_label4, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_16); LV_IMG_DECLARE(gui_total_time); lv_obj_t * img_gui_total_time= lv_img_create(gui_2_2_2_time_setup_scr, NULL); lv_img_set_src(img_gui_total_time, &gui_total_time); lv_obj_set_pos(img_gui_total_time,gui_banner_pos_x+10, gui_banner_h+5); lv_img_set_zoom(img_gui_total_time,256); lv_back_btn = lv_obj_create(lv_scr_act(), NULL); lv_obj_set_style_local_bg_opa(lv_back_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_set_style_local_border_opa(lv_back_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_back_label = lv_label_create(lv_back_btn, NULL); lv_obj_set_size(lv_back_btn, 25, 25); lv_obj_set_pos(lv_back_btn,gui_banner_pos_x+68, 5); lv_obj_set_click(lv_back_btn, true); lv_obj_set_event_cb(lv_back_btn, back_btn_touched_cb); lv_label_set_recolor(lv_back_label, true); lv_label_set_text(lv_back_label, "#ffffff \xef\xA2\xA2#"); } void volt_setup_screen_2_2_on(void) { gui_2_2_2_volt_setup_scr = lv_obj_create(NULL, NULL); lv_scr_load(gui_2_2_2_volt_setup_scr); gui_common_elements(); voltage_spinbox = lv_spinbox_create(gui_2_2_2_volt_setup_scr, NULL); lv_spinbox_set_range(voltage_spinbox, 20, 55); lv_spinbox_set_value(voltage_spinbox, 20); lv_spinbox_set_digit_format(voltage_spinbox, 2, 0); lv_spinbox_step_next(voltage_spinbox); lv_spinbox_set_padding_left(voltage_spinbox, 20); lv_obj_set_width(voltage_spinbox, 100); lv_obj_set_height(voltage_spinbox, 80); lv_obj_align(voltage_spinbox, gui_2_2_2_volt_setup_scr, LV_ALIGN_CENTER, gui_btn_dis_ver_x, gui_btn_dis_hor_y); lv_textarea_set_text_align(voltage_spinbox, LV_ALIGN_OUT_RIGHT_BOTTOM); lv_obj_t * btn_down = lv_btn_create(gui_2_2_2_volt_setup_scr, NULL); lv_obj_set_size(btn_down, 40, 30); lv_obj_align(btn_down, voltage_spinbox, LV_ALIGN_OUT_BOTTOM_MID, -20, 0); lv_theme_apply(btn_down, LV_THEME_SPINBOX_BTN); lv_obj_set_style_local_value_str(btn_down, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_DOWN); lv_obj_t * btn_up = lv_btn_create(gui_2_2_2_volt_setup_scr, btn_down); lv_obj_align(btn_up, btn_down, LV_ALIGN_CENTER, gui_btn_dis_hor_x, 0); lv_obj_set_style_local_value_str(btn_up, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_UP); lv_obj_set_style_local_bg_opa(voltage_spinbox, LV_SPINBOX_PART_CURSOR, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_t * lv_label4; lv_label4 = lv_label_create(gui_2_2_2_volt_setup_scr, NULL); lv_label_set_text(lv_label4, "Volt"); lv_obj_align(lv_label4, voltage_spinbox, LV_ALIGN_IN_TOP_LEFT, gui_banner_pos_x+25, gui_btn_dis_hor_y); lv_obj_set_style_local_text_color(lv_label4, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_YELLOW); lv_obj_set_style_local_text_font(lv_label4, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_16); lv_back_btn = lv_obj_create(lv_scr_act(), NULL); lv_obj_set_style_local_bg_opa(lv_back_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_obj_set_style_local_border_opa(lv_back_btn, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); lv_back_label = lv_label_create(lv_back_btn, NULL); lv_obj_set_size(lv_back_btn, 25, 25); lv_obj_set_pos(lv_back_btn,gui_banner_pos_x+68, 5); lv_obj_set_click(lv_back_btn, true); lv_obj_set_event_cb(lv_back_btn, back_btn_touched_cb); lv_label_set_recolor(lv_back_label, true); lv_label_set_text(lv_back_label, "#ffffff \xef\xA2\xA2#"); } void gui_on(void) { style_setting_test(); gui_second_screen(); } void disp_change_screen(uint8_t screenId) { printf("screenId = %u\r\n", screenId); if(screenId == 0) { gui_first_screen(); } switch (screenId) { case 1: if(lv_scr_act() == gui_2_1_scr || lv_scr_act() == gui_2_2_scr) { lv_obj_clean(lv_scr_act()); lv_obj_del(lv_scr_act()); } delete_scr_screen_2(); gui_second_screen(); break; case 2: if(lv_scr_act() == gui_2_1_2_scr || lv_scr_act() == gui_2_1_1_scr) { lv_obj_clean(lv_scr_act()); lv_obj_del(lv_scr_act()); } delete_scr_screen_2(); screen_2_1_on(); break; case 3: if(lv_scr_act() == gui_2_2_1_scr || lv_scr_act() == gui_2_2_2_scr) { lv_obj_clean(lv_scr_act()); lv_obj_del(lv_scr_act()); } delete_scr_screen_2(); screen_2_2_on(); break; case 4: if(lv_scr_act() == gui_2_2_1_value_setup_scr) { lv_obj_clean(lv_scr_act()); } delete_scr_screen_2(); screen_2_2_1_on(); break; } } void delete_scr_screen_2(void) { lv_style_reset(&gui_btn_style); printf("delete styles\r\n"); }