#include #include "screens.h" #include "images.h" #include "fonts.h" #include "actions.h" #include "vars.h" #include "styles.h" #include "ui.h" #include objects_t objects; lv_obj_t *tick_value_change_obj; uint32_t active_theme_index = 0; static void event_handler_cb_vote_session_orgenv_name(lv_event_t *e) { lv_event_code_t event = lv_event_get_code(e); if (event == LV_EVENT_VALUE_CHANGED) { lv_obj_t *ta = lv_event_get_target(e); if (tick_value_change_obj != ta) { const char *value = lv_textarea_get_text(ta); set_var_ui_orgev(value); } } } static void event_handler_cb_vote_session_name_name(lv_event_t *e) { lv_event_code_t event = lv_event_get_code(e); if (event == LV_EVENT_VALUE_CHANGED) { lv_obj_t *ta = lv_event_get_target(e); if (tick_value_change_obj != ta) { const char *value = lv_textarea_get_text(ta); set_var_ui_voter(value); } } } static void event_handler_cb_vote_session_question_name(lv_event_t *e) { lv_event_code_t event = lv_event_get_code(e); if (event == LV_EVENT_VALUE_CHANGED) { lv_obj_t *ta = lv_event_get_target(e); if (tick_value_change_obj != ta) { const char *value = lv_textarea_get_text(ta); set_var_ui_question(value); } } } static void event_handler_cb_vote_results_obj8(lv_event_t *e) { lv_event_code_t event = lv_event_get_code(e); if (event == LV_EVENT_VALUE_CHANGED) { lv_obj_t *ta = lv_event_get_target(e); if (tick_value_change_obj != ta) { const char *value = lv_textarea_get_text(ta); set_var_ui_winner(value); } } } static void event_handler_cb_ibvs_processor_obj10(lv_event_t *e) { lv_event_code_t event = lv_event_get_code(e); if (event == LV_EVENT_VALUE_CHANGED) { lv_obj_t *ta = lv_event_get_target(e); if (tick_value_change_obj != ta) { const char *value = lv_textarea_get_text(ta); set_var_ui_ip(value); } } } void create_screen_start() { lv_obj_t *obj = lv_obj_create(0); objects.start = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 240); lv_obj_clear_flag(obj, LV_OBJ_FLAG_PRESS_LOCK|LV_OBJ_FLAG_CLICK_FOCUSABLE|LV_OBJ_FLAG_GESTURE_BUBBLE|LV_OBJ_FLAG_SNAPPABLE|LV_OBJ_FLAG_SCROLLABLE|LV_OBJ_FLAG_SCROLL_ELASTIC|LV_OBJ_FLAG_SCROLL_MOMENTUM|LV_OBJ_FLAG_SCROLL_CHAIN_HOR|LV_OBJ_FLAG_SCROLL_CHAIN_VER); lv_obj_set_scroll_dir(obj, LV_DIR_NONE); lv_obj_set_style_text_color(obj, lv_color_hex(0xff212121), LV_PART_MAIN | LV_STATE_DEFAULT); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_image_create(parent_obj); lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_image_set_src(obj, &img_logo); } } tick_screen_start(); } void tick_screen_start() { } void create_screen_configurations() { lv_obj_t *obj = lv_obj_create(0); objects.configurations = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 240); lv_obj_set_style_bg_color(obj, lv_color_hex(0xff001c12), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_color(obj, lv_color_hex(0xff673333), LV_PART_MAIN | LV_STATE_DEFAULT); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_obj_create(parent_obj); lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 60); { static lv_coord_t dsc[] = {LV_GRID_TEMPLATE_LAST}; lv_obj_set_style_grid_row_dsc_array(obj, dsc, LV_PART_MAIN | LV_STATE_DEFAULT); } { static lv_coord_t dsc[] = {LV_GRID_TEMPLATE_LAST}; lv_obj_set_style_grid_column_dsc_array(obj, dsc, LV_PART_MAIN | LV_STATE_DEFAULT); } } { lv_obj_t *obj = lv_label_create(parent_obj); lv_obj_set_pos(obj, 120, 14); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_obj_set_style_text_font(obj, &lv_font_montserrat_30, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(obj, 3, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, "IBVS"); } { lv_obj_t *obj = lv_label_create(parent_obj); objects.obj0 = obj; lv_obj_set_pos(obj, 0, 120); lv_obj_set_size(obj, 320, 75); lv_obj_set_style_text_color(obj, lv_color_hex(0xff1c52db), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_font(obj, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, " Connect serial to\n configure voter..."); } } tick_screen_configurations(); } void tick_screen_configurations() { } void create_screen_vote_wait() { lv_obj_t *obj = lv_obj_create(0); objects.vote_wait = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 240); lv_obj_set_style_bg_color(obj, lv_color_hex(0xff001c12), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_color(obj, lv_color_hex(0xff673333), LV_PART_MAIN | LV_STATE_DEFAULT); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_obj_create(parent_obj); lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 60); { static lv_coord_t dsc[] = {LV_GRID_TEMPLATE_LAST}; lv_obj_set_style_grid_row_dsc_array(obj, dsc, LV_PART_MAIN | LV_STATE_DEFAULT); } { static lv_coord_t dsc[] = {LV_GRID_TEMPLATE_LAST}; lv_obj_set_style_grid_column_dsc_array(obj, dsc, LV_PART_MAIN | LV_STATE_DEFAULT); } } { lv_obj_t *obj = lv_label_create(parent_obj); lv_obj_set_pos(obj, 120, 14); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_obj_set_style_text_font(obj, &lv_font_montserrat_30, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(obj, 3, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, "IBVS"); } { lv_obj_t *obj = lv_label_create(parent_obj); objects.obj1 = obj; lv_obj_set_pos(obj, 1, 120); lv_obj_set_size(obj, 319, 35); lv_label_set_long_mode(obj, LV_LABEL_LONG_SCROLL); lv_obj_set_style_text_color(obj, lv_color_hex(0xff1c52db), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_font(obj, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, "Waiting for Voting session to start..."); } } tick_screen_vote_wait(); } void tick_screen_vote_wait() { } void create_screen_vote_session() { lv_obj_t *obj = lv_obj_create(0); objects.vote_session = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 240); lv_obj_set_style_bg_color(obj, lv_color_hex(0xff08694b), LV_PART_MAIN | LV_STATE_DEFAULT); { lv_obj_t *parent_obj = obj; { // Orgenv_name lv_obj_t *obj = lv_textarea_create(parent_obj); objects.orgenv_name = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 190, 40); lv_textarea_set_max_length(obj, 150); lv_textarea_set_placeholder_text(obj, "Organization / Event"); lv_textarea_set_one_line(obj, false); lv_textarea_set_password_mode(obj, false); lv_obj_add_event_cb(obj, event_handler_cb_vote_session_orgenv_name, LV_EVENT_ALL, 0); lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE); lv_obj_set_style_text_font(obj, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_color(obj, lv_color_hex(0xffe01a1a), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_border_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); } { // name_name lv_obj_t *obj = lv_textarea_create(parent_obj); objects.name_name = obj; lv_obj_set_pos(obj, 190, 0); lv_obj_set_size(obj, 130, 40); lv_textarea_set_max_length(obj, 150); lv_textarea_set_placeholder_text(obj, "Voter"); lv_textarea_set_one_line(obj, false); lv_textarea_set_password_mode(obj, false); lv_obj_add_event_cb(obj, event_handler_cb_vote_session_name_name, LV_EVENT_ALL, 0); lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE); lv_obj_set_style_text_font(obj, &lv_font_montserrat_14, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_border_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_color(obj, lv_color_hex(0xff060f47), LV_PART_MAIN | LV_STATE_DEFAULT); } { // question_name lv_obj_t *obj = lv_textarea_create(parent_obj); objects.question_name = obj; lv_obj_set_pos(obj, 0, 40); lv_obj_set_size(obj, 320, 39); lv_textarea_set_max_length(obj, 60); lv_textarea_set_one_line(obj, false); lv_textarea_set_password_mode(obj, false); lv_obj_add_event_cb(obj, event_handler_cb_vote_session_question_name, LV_EVENT_ALL, 0); lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE); lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_border_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_color(obj, lv_color_hex(0xff552f10), LV_PART_MAIN | LV_STATE_DEFAULT); } { // picture lv_obj_t *obj = lv_image_create(parent_obj); objects.picture = obj; lv_obj_set_pos(obj, 190, 85); lv_obj_set_size(obj, 130, 150); lv_image_set_src(obj, &img_john_does_2); } { // item1 lv_obj_t *obj = lv_button_create(parent_obj); objects.item1 = obj; lv_obj_set_pos(obj, 0, 79); lv_obj_set_size(obj, 175, 28); lv_obj_add_event_cb(obj, action_act_butt_1, LV_EVENT_RELEASED, (void *)0); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_label_create(parent_obj); objects.obj2 = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_obj_set_style_align(obj, LV_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, ""); } } } { // item2 lv_obj_t *obj = lv_button_create(parent_obj); objects.item2 = obj; lv_obj_set_pos(obj, 0, 110); lv_obj_set_size(obj, 175, 28); lv_obj_add_event_cb(obj, action_act_butt_2, LV_EVENT_RELEASED, (void *)0); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_label_create(parent_obj); objects.obj3 = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_obj_set_style_align(obj, LV_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, ""); } } } { // item3 lv_obj_t *obj = lv_button_create(parent_obj); objects.item3 = obj; lv_obj_set_pos(obj, 0, 141); lv_obj_set_size(obj, 175, 28); lv_obj_add_event_cb(obj, action_act_butt_3, LV_EVENT_RELEASED, (void *)0); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_label_create(parent_obj); objects.obj4 = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_obj_set_style_align(obj, LV_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, ""); } } } { // item4 lv_obj_t *obj = lv_button_create(parent_obj); objects.item4 = obj; lv_obj_set_pos(obj, 0, 172); lv_obj_set_size(obj, 175, 28); lv_obj_add_event_cb(obj, action_act_butt_4, LV_EVENT_RELEASED, (void *)0); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_label_create(parent_obj); objects.obj5 = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_obj_set_style_align(obj, LV_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, ""); } } } { // item5 lv_obj_t *obj = lv_button_create(parent_obj); objects.item5 = obj; lv_obj_set_pos(obj, 0, 203); lv_obj_set_size(obj, 175, 28); lv_obj_add_event_cb(obj, action_act_butt_5, LV_EVENT_RELEASED, (void *)0); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_label_create(parent_obj); objects.obj6 = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_obj_set_style_align(obj, LV_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, ""); } } } } tick_screen_vote_session(); } void tick_screen_vote_session() { { const char *new_val = get_var_ui_orgev(); const char *cur_val = lv_textarea_get_text(objects.orgenv_name); uint32_t max_length = lv_textarea_get_max_length(objects.orgenv_name); if (strncmp(new_val, cur_val, max_length) != 0) { tick_value_change_obj = objects.orgenv_name; lv_textarea_set_text(objects.orgenv_name, new_val); tick_value_change_obj = NULL; } } { const char *new_val = get_var_ui_voter(); const char *cur_val = lv_textarea_get_text(objects.name_name); uint32_t max_length = lv_textarea_get_max_length(objects.name_name); if (strncmp(new_val, cur_val, max_length) != 0) { tick_value_change_obj = objects.name_name; lv_textarea_set_text(objects.name_name, new_val); tick_value_change_obj = NULL; } } { const char *new_val = get_var_ui_question(); const char *cur_val = lv_textarea_get_text(objects.question_name); uint32_t max_length = lv_textarea_get_max_length(objects.question_name); if (strncmp(new_val, cur_val, max_length) != 0) { tick_value_change_obj = objects.question_name; lv_textarea_set_text(objects.question_name, new_val); tick_value_change_obj = NULL; } } { const char *new_val = get_var_ui_item1(); const char *cur_val = lv_label_get_text(objects.obj2); if (strcmp(new_val, cur_val) != 0) { tick_value_change_obj = objects.obj2; lv_label_set_text(objects.obj2, new_val); tick_value_change_obj = NULL; } } { const char *new_val = get_var_ui_item2(); const char *cur_val = lv_label_get_text(objects.obj3); if (strcmp(new_val, cur_val) != 0) { tick_value_change_obj = objects.obj3; lv_label_set_text(objects.obj3, new_val); tick_value_change_obj = NULL; } } { const char *new_val = get_var_ui_item3(); const char *cur_val = lv_label_get_text(objects.obj4); if (strcmp(new_val, cur_val) != 0) { tick_value_change_obj = objects.obj4; lv_label_set_text(objects.obj4, new_val); tick_value_change_obj = NULL; } } { const char *new_val = get_var_ui_item4(); const char *cur_val = lv_label_get_text(objects.obj5); if (strcmp(new_val, cur_val) != 0) { tick_value_change_obj = objects.obj5; lv_label_set_text(objects.obj5, new_val); tick_value_change_obj = NULL; } } { const char *new_val = get_var_ui_item5(); const char *cur_val = lv_label_get_text(objects.obj6); if (strcmp(new_val, cur_val) != 0) { tick_value_change_obj = objects.obj6; lv_label_set_text(objects.obj6, new_val); tick_value_change_obj = NULL; } } } void create_screen_vote_wait_results() { lv_obj_t *obj = lv_obj_create(0); objects.vote_wait_results = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 240); lv_obj_set_style_bg_color(obj, lv_color_hex(0xff001c12), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_color(obj, lv_color_hex(0xff673333), LV_PART_MAIN | LV_STATE_DEFAULT); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_obj_create(parent_obj); lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 60); { static lv_coord_t dsc[] = {LV_GRID_TEMPLATE_LAST}; lv_obj_set_style_grid_row_dsc_array(obj, dsc, LV_PART_MAIN | LV_STATE_DEFAULT); } { static lv_coord_t dsc[] = {LV_GRID_TEMPLATE_LAST}; lv_obj_set_style_grid_column_dsc_array(obj, dsc, LV_PART_MAIN | LV_STATE_DEFAULT); } } { lv_obj_t *obj = lv_label_create(parent_obj); lv_obj_set_pos(obj, 120, 14); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_obj_set_style_text_font(obj, &lv_font_montserrat_30, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(obj, 3, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, "IBVS"); } { lv_obj_t *obj = lv_label_create(parent_obj); objects.obj7 = obj; lv_obj_set_pos(obj, 1, 120); lv_obj_set_size(obj, 319, 35); lv_label_set_long_mode(obj, LV_LABEL_LONG_SCROLL); lv_obj_set_style_text_color(obj, lv_color_hex(0xff1c52db), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_font(obj, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, "Seat tight, waiting for results..."); } } tick_screen_vote_wait_results(); } void tick_screen_vote_wait_results() { } void create_screen_vote_results() { lv_obj_t *obj = lv_obj_create(0); objects.vote_results = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 240); lv_obj_set_style_bg_color(obj, lv_color_hex(0xff9e9c20), LV_PART_MAIN | LV_STATE_DEFAULT); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_textarea_create(parent_obj); objects.obj8 = obj; lv_obj_set_pos(obj, 10, 71); lv_obj_set_size(obj, 300, 135); lv_textarea_set_max_length(obj, 128); lv_textarea_set_one_line(obj, false); lv_textarea_set_password_mode(obj, false); lv_obj_add_event_cb(obj, event_handler_cb_vote_results_obj8, LV_EVENT_ALL, 0); lv_obj_set_style_text_font(obj, &lv_font_montserrat_38, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_color(obj, lv_color_hex(0xff212121), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_bg_color(obj, lv_color_hex(0xffe480ba), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_border_width(obj, 15, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_border_side(obj, LV_BORDER_SIDE_FULL, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_align(obj, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); } { lv_obj_t *obj = lv_textarea_create(parent_obj); lv_obj_set_pos(obj, 35, 0); lv_obj_set_size(obj, 250, 50); lv_textarea_set_max_length(obj, 128); lv_textarea_set_text(obj, "And the winner is :"); lv_textarea_set_one_line(obj, false); lv_textarea_set_password_mode(obj, false); lv_obj_set_style_text_font(obj, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_border_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); } } tick_screen_vote_results(); } void tick_screen_vote_results() { { const char *new_val = get_var_ui_winner(); const char *cur_val = lv_textarea_get_text(objects.obj8); uint32_t max_length = lv_textarea_get_max_length(objects.obj8); if (strncmp(new_val, cur_val, max_length) != 0) { tick_value_change_obj = objects.obj8; lv_textarea_set_text(objects.obj8, new_val); tick_value_change_obj = NULL; } } } void create_screen_ibvs_mode() { lv_obj_t *obj = lv_obj_create(0); objects.ibvs_mode = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 240); lv_obj_set_style_bg_color(obj, lv_color_hex(0xff296b41), LV_PART_MAIN | LV_STATE_DEFAULT); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_button_create(parent_obj); lv_obj_set_pos(obj, 30, 160); lv_obj_set_size(obj, 100, 50); lv_obj_add_event_cb(obj, action_act_badge, LV_EVENT_RELEASED, (void *)0); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_label_create(parent_obj); lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_obj_set_style_align(obj, LV_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, "Badge"); } } } { lv_obj_t *obj = lv_button_create(parent_obj); lv_obj_set_pos(obj, 190, 160); lv_obj_set_size(obj, 100, 50); lv_obj_add_event_cb(obj, action_act_processor, LV_EVENT_RELEASED, (void *)0); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_label_create(parent_obj); lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT); lv_obj_set_style_align(obj, LV_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_label_set_text(obj, "Processor"); } } } { lv_obj_t *obj = lv_textarea_create(parent_obj); objects.obj9 = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 93); lv_textarea_set_max_length(obj, 128); lv_textarea_set_text(obj, "\nChose IBVS mode"); lv_textarea_set_one_line(obj, false); lv_textarea_set_password_mode(obj, false); lv_obj_set_style_text_font(obj, &lv_font_montserrat_22, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_align(obj, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(obj, 1, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_border_width(obj, 5, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_border_color(obj, lv_color_hex(0xffb039d0), LV_PART_MAIN | LV_STATE_DEFAULT); } } tick_screen_ibvs_mode(); } void tick_screen_ibvs_mode() { } void create_screen_ibvs_processor() { lv_obj_t *obj = lv_obj_create(0); objects.ibvs_processor = obj; lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 240); lv_obj_set_style_bg_color(obj, lv_color_hex(0xff965516), LV_PART_MAIN | LV_STATE_DEFAULT); { lv_obj_t *parent_obj = obj; { lv_obj_t *obj = lv_spinner_create(parent_obj); lv_obj_set_pos(obj, 211, 120); lv_obj_set_size(obj, 80, 80); lv_spinner_set_anim_params(obj, 1000, 60); } { lv_obj_t *obj = lv_textarea_create(parent_obj); lv_obj_set_pos(obj, 0, 0); lv_obj_set_size(obj, 320, 89); lv_textarea_set_max_length(obj, 128); lv_textarea_set_text(obj, "Processor mode\nConnect to serial"); lv_textarea_set_one_line(obj, false); lv_textarea_set_password_mode(obj, false); lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_align(obj, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_font(obj, &lv_font_montserrat_30, LV_PART_MAIN | LV_STATE_DEFAULT); } { lv_obj_t *obj = lv_textarea_create(parent_obj); objects.obj10 = obj; lv_obj_set_pos(obj, 10, 180); lv_obj_set_size(obj, 180, 50); lv_textarea_set_max_length(obj, 128); lv_textarea_set_one_line(obj, false); lv_textarea_set_password_mode(obj, false); lv_obj_add_event_cb(obj, event_handler_cb_ibvs_processor_obj10, LV_EVENT_ALL, 0); lv_obj_set_style_text_align(obj, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_font(obj, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); } { lv_obj_t *obj = lv_textarea_create(parent_obj); lv_obj_set_pos(obj, 10, 136); lv_obj_set_size(obj, 150, 44); lv_textarea_set_max_length(obj, 128); lv_textarea_set_text(obj, "MQTT IP:"); lv_textarea_set_one_line(obj, false); lv_textarea_set_password_mode(obj, false); lv_obj_set_style_bg_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_border_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_font(obj, &lv_font_montserrat_22, LV_PART_MAIN | LV_STATE_DEFAULT); } } tick_screen_ibvs_processor(); } void tick_screen_ibvs_processor() { { const char *new_val = get_var_ui_ip(); const char *cur_val = lv_textarea_get_text(objects.obj10); uint32_t max_length = lv_textarea_get_max_length(objects.obj10); if (strncmp(new_val, cur_val, max_length) != 0) { tick_value_change_obj = objects.obj10; lv_textarea_set_text(objects.obj10, new_val); tick_value_change_obj = NULL; } } } typedef void (*tick_screen_func_t)(); tick_screen_func_t tick_screen_funcs[] = { tick_screen_start, tick_screen_configurations, tick_screen_vote_wait, tick_screen_vote_session, tick_screen_vote_wait_results, tick_screen_vote_results, tick_screen_ibvs_mode, tick_screen_ibvs_processor, }; void tick_screen(int screen_index) { tick_screen_funcs[screen_index](); } void tick_screen_by_id(enum ScreensEnum screenId) { tick_screen_funcs[screenId - 1](); } void create_screens() { lv_disp_t *dispp = lv_disp_get_default(); lv_theme_t *theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED), false, LV_FONT_DEFAULT); lv_disp_set_theme(dispp, theme); create_screen_start(); create_screen_configurations(); create_screen_vote_wait(); create_screen_vote_session(); create_screen_vote_wait_results(); create_screen_vote_results(); create_screen_ibvs_mode(); create_screen_ibvs_processor(); }