Updated settings screen in the lvgl simulator
This commit is contained in:
parent
5bc20d03d7
commit
e3321d67ab
@ -20,6 +20,7 @@ static const char* language_options = "Francais\nDeutsch\nEnglish";
|
||||
|
||||
static void _simulate_side_screen_item_click(SettingsScreen_t * const settingsScreen, lv_obj_t *item);
|
||||
static void _enable_time_and_date_rollers(bool enabled, SettingsScreen_t * const settingsScreen);
|
||||
static void _show_ble_pairing_key(SettingsScreen_t * const settingsScreen, bool show);
|
||||
static void _reset_switch_pointers(SettingsScreen_t * const settingsScreen)
|
||||
{
|
||||
settingsScreen->ble_switch = NULL;
|
||||
@ -28,7 +29,7 @@ static void _reset_switch_pointers(SettingsScreen_t * const settingsScreen)
|
||||
static lv_obj_t *add_menu_list_item(lv_obj_t *list, const char *text, lv_event_cb_t event_cb, void *user_data);
|
||||
static void update_menu_list_item_text(lv_obj_t *menu_list_item, const char *text);
|
||||
|
||||
static void gesture_event_cb(lv_event_t * e)
|
||||
static void gesture_event_cb(lv_event_t *e)
|
||||
{
|
||||
SettingsScreen_t *settingsScreen = e->user_data;
|
||||
|
||||
@ -111,9 +112,16 @@ static void activation_switch_cb(lv_event_t *e)
|
||||
if(e->target == settingsScreen->ble_switch)
|
||||
{
|
||||
if(toggled)
|
||||
{
|
||||
strcpy(settingsScreen->ble_pairing_key.text, "123456");
|
||||
_show_ble_pairing_key(settingsScreen, true);
|
||||
LV_LOG_USER("BLE is on");
|
||||
}
|
||||
else
|
||||
{
|
||||
_show_ble_pairing_key(settingsScreen, false);
|
||||
LV_LOG_USER("BLE is off");
|
||||
}
|
||||
}
|
||||
else if(e->target == settingsScreen->auto_set_time_switch)
|
||||
{
|
||||
@ -358,22 +366,43 @@ static void load_connectivity_side_screen(SettingsScreen_t *settingsScreen)
|
||||
lv_label_set_text_static(label, "Bluetooth");
|
||||
lv_obj_align_to(label, settingsScreen->ble_switch, LV_ALIGN_OUT_RIGHT_MID, 10, 0);
|
||||
|
||||
label = lv_label_create(settingsScreen->side_screen);
|
||||
lv_label_set_text_static(label, "Device Name :");
|
||||
lv_obj_align_to(label, settingsScreen->ble_switch, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
settingsScreen->ble_pairing_label = lv_label_create(settingsScreen->side_screen);
|
||||
lv_label_set_text_static(settingsScreen->ble_pairing_label, "Pairing Code :");
|
||||
lv_obj_align_to(settingsScreen->ble_pairing_label, settingsScreen->ble_switch, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
lv_obj_add_flag(settingsScreen->ble_pairing_label, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
lv_obj_t *dev_name_label = lv_label_create(settingsScreen->side_screen);
|
||||
lv_label_set_text_static(dev_name_label, NULL/*"W800SW"*/);
|
||||
lv_obj_set_style_text_color(dev_name_label, lv_color_make(130, 130, 130), LV_PART_MAIN);
|
||||
lv_obj_align_to(dev_name_label, label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
settingsScreen->ble_pairing_key.label = lv_label_create(settingsScreen->side_screen);
|
||||
lv_obj_set_style_text_color(settingsScreen->ble_pairing_key.label, lv_color_make(130, 130, 130), LV_PART_MAIN);
|
||||
lv_obj_align_to(settingsScreen->ble_pairing_key.label, settingsScreen->ble_pairing_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
lv_obj_add_flag(settingsScreen->ble_pairing_key.label, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
settingsScreen->ble_dev_name_label = lv_label_create(settingsScreen->side_screen);
|
||||
lv_label_set_text_static(settingsScreen->ble_dev_name_label, "Device Name :");
|
||||
lv_obj_align_to(settingsScreen->ble_dev_name_label, settingsScreen->ble_switch, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
|
||||
settingsScreen->ble_dev_name_value = lv_label_create(settingsScreen->side_screen);
|
||||
lv_label_set_text_static(settingsScreen->ble_dev_name_value, "MDBT42Q_W800SW");
|
||||
lv_obj_set_style_text_color(settingsScreen->ble_dev_name_value, lv_color_make(130, 130, 130), LV_PART_MAIN);
|
||||
lv_obj_align_to(settingsScreen->ble_dev_name_value, settingsScreen->ble_dev_name_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
|
||||
settingsScreen->ble_dev_mac_label = lv_label_create(settingsScreen->side_screen);
|
||||
lv_label_set_text_static(settingsScreen->ble_dev_mac_label, "Device MAC :");
|
||||
lv_obj_align_to(settingsScreen->ble_dev_mac_label, settingsScreen->ble_dev_name_value, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
|
||||
settingsScreen->ble_mac_addr.label = lv_label_create(settingsScreen->side_screen);
|
||||
strcpy(settingsScreen->ble_mac_addr.text, "XX:XX:XX:XX:XX:XX");
|
||||
lv_label_set_text_static(settingsScreen->ble_mac_addr.label, settingsScreen->ble_mac_addr.text);
|
||||
lv_obj_set_style_text_color(settingsScreen->ble_mac_addr.label, lv_color_make(130, 130, 130), LV_PART_MAIN);
|
||||
lv_obj_align_to(settingsScreen->ble_mac_addr.label, settingsScreen->ble_dev_mac_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
|
||||
|
||||
lv_obj_t *wifi_switch = lv_switch_create(settingsScreen->side_screen);
|
||||
lv_obj_align_to(wifi_switch, dev_name_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 10);
|
||||
lv_obj_add_state(wifi_switch, LV_STATE_DISABLED);
|
||||
label = lv_label_create(settingsScreen->side_screen);
|
||||
lv_label_set_text_static(label, "WiFi");
|
||||
lv_obj_align_to(label, wifi_switch, LV_ALIGN_OUT_RIGHT_MID, 10, 0);
|
||||
settingsScreen->wifi_switch = lv_switch_create(settingsScreen->side_screen);
|
||||
lv_obj_align_to(settingsScreen->wifi_switch, settingsScreen->ble_mac_addr.label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 10);
|
||||
lv_obj_add_state(settingsScreen->wifi_switch, LV_STATE_DISABLED);
|
||||
|
||||
settingsScreen->wifi_label = lv_label_create(settingsScreen->side_screen);
|
||||
lv_label_set_text_static(settingsScreen->wifi_label, "WiFi");
|
||||
lv_obj_align_to(settingsScreen->wifi_label, settingsScreen->wifi_switch, LV_ALIGN_OUT_RIGHT_MID, 10, 0);
|
||||
}
|
||||
|
||||
static void load_language_side_screen(SettingsScreen_t *settingsScreen)
|
||||
@ -699,3 +728,27 @@ static void update_menu_list_item_text(lv_obj_t *menu_list_item, const char *tex
|
||||
lv_label_set_text(label, text);
|
||||
}
|
||||
}
|
||||
|
||||
static void _show_ble_pairing_key(SettingsScreen_t * const settingsScreen, bool show)
|
||||
{
|
||||
lv_obj_align_to(settingsScreen->ble_pairing_label, settingsScreen->ble_switch, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
if(show)
|
||||
{
|
||||
lv_label_set_text_static(settingsScreen->ble_pairing_key.label, settingsScreen->ble_pairing_key.text);
|
||||
lv_obj_align_to(settingsScreen->ble_dev_name_label, settingsScreen->ble_pairing_key.label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
lv_obj_clear_flag(settingsScreen->ble_pairing_label, LV_OBJ_FLAG_HIDDEN);
|
||||
lv_obj_clear_flag(settingsScreen->ble_pairing_key.label, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
else
|
||||
{
|
||||
lv_obj_add_flag(settingsScreen->ble_pairing_key.label, LV_OBJ_FLAG_HIDDEN);
|
||||
lv_obj_add_flag(settingsScreen->ble_pairing_label, LV_OBJ_FLAG_HIDDEN);
|
||||
lv_obj_align_to(settingsScreen->ble_dev_name_label, settingsScreen->ble_switch, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
}
|
||||
|
||||
lv_obj_align_to(settingsScreen->ble_dev_name_value, settingsScreen->ble_dev_name_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
lv_obj_align_to(settingsScreen->ble_dev_mac_label, settingsScreen->ble_dev_name_value, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
lv_obj_align_to(settingsScreen->ble_mac_addr.label, settingsScreen->ble_dev_mac_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
lv_obj_align_to(settingsScreen->wifi_switch, settingsScreen->ble_mac_addr.label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 10);
|
||||
lv_obj_align_to(settingsScreen->wifi_label, settingsScreen->wifi_switch, LV_ALIGN_OUT_RIGHT_MID, 10, 0);
|
||||
}
|
||||
|
@ -31,13 +31,32 @@ typedef struct SettingsScreen
|
||||
lv_obj_t *day_roller;
|
||||
lv_obj_t *month_roller;
|
||||
lv_obj_t *year_roller;
|
||||
lv_obj_t *wifi_switch;
|
||||
lv_obj_t *wifi_label;
|
||||
lv_obj_t *ble_switch;
|
||||
lv_obj_t *ble_pairing_label;
|
||||
lv_obj_t *ble_dev_name_label;
|
||||
lv_obj_t *ble_dev_name_value;
|
||||
lv_obj_t *ble_dev_mac_label;
|
||||
|
||||
struct
|
||||
{
|
||||
lv_obj_t *current_time_label;
|
||||
char current_time_text[20];
|
||||
} currentTime;
|
||||
|
||||
struct
|
||||
{
|
||||
lv_obj_t *label;
|
||||
char text[18];
|
||||
} ble_mac_addr;
|
||||
|
||||
struct
|
||||
{
|
||||
lv_obj_t *label;
|
||||
char text[7];
|
||||
} ble_pairing_key;
|
||||
|
||||
/* Main screen */
|
||||
lv_obj_t *display;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user