Compare commits

...

2 Commits

Author SHA1 Message Date
e3321d67ab Updated settings screen in the lvgl simulator 2023-04-22 22:52:49 +02:00
5bc20d03d7 Added two new messages to parse 2023-04-22 22:51:33 +02:00
4 changed files with 117 additions and 15 deletions

View File

@ -16,3 +16,20 @@
<stdbool.h>
<time.h>
1681114227 source:d:\users\think\programmation\arduino\git_projects\w800_smart_watch\src\gadget_bridge_parser\gadget_bridge.c
"gadget_bridge.h"
<stdio.h>
<stdlib.h>
<string.h>
1681150637 d:\users\think\programmation\arduino\git_projects\w800_smart_watch\src\gadget_bridge_parser\gadget_bridge.h
<stdint.h>
<stdbool.h>
<time.h>
1681114227 source:d:\users\think\programmation\arduino\git_projects\w800_smart_watch\src\gadget_bridge_parser\main.c
<stdio.h>
<stdlib.h>
<string.h>
"gadget_bridge.h"

View File

@ -22,6 +22,7 @@
[10][16]GB({t:"calendar",id:63749,type:0,timestamp:1681077600,durationInSeconds:86400,title:"Easter Monday",description:"Public holiday",location:"",calName:"anatole.schramm-henry@master-stic.fr/Holidays in France",color:-15292571,allDay:true})
[10][16]GB({t:"weather",temp:0,hum:0,code:3200,wind:0.0,wdir:0,loc:""})[10]
[16]GB({t:"notify",id:1682154002,src:"Gadgetbridge",subject:"This is a test payload",body:"This is a test payload ",sender :"This is a test payload ",tel:"This is a test payload "})[10]
[16]GB({t:"notify",id:1680859061,body:"test hehe test",sender:"+33652623698",tel:"+33652623698"})
[10][16]GB({t:"notify",id:1680859062,src:"Messages",title:"06 52 62 36 98",body:"test hehe test"})[10]
[16]GB({t:"notify",id:1680859063,src:"E-mail",title:"Th3maz1ng Wot Channel",body:"Test subject"})[10]
@ -279,8 +280,20 @@ const char *sample[] =
"deo with subtitles)\"",
",dur:219,c:-1,n:-1})",
"[16]GB({t:\"notify\",i",
"d:1680859061,body:\"tes",
"t hehe test\",sender:\"",
"+33652623698\",tel:\"+3",
"3652623698\"})",
"[16]GB({t:\"notify\",id:",
"1682154002,src:\"Gadgetb",
"ridge\",subject:\"This i",
"s a test payload\",body:\"",
"This is a test payload \",",
"sender :\"This is a test",
"payload \",tel:\"This is",
" a test payload \"})[10]",
};
int main()

View File

@ -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);
}

View File

@ -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;