Major rework of the settings screen :
- reduced RAM footprint by 10K :-) - Added the new about category displaying infos about the watch's firmware - Now widgets are reloaded with current parameters's values - Almost all settings are taken into account
This commit is contained in:
parent
728394ff22
commit
185b7a7efa
File diff suppressed because it is too large
Load Diff
@ -3,24 +3,59 @@
|
||||
|
||||
#include "lvgl.h"
|
||||
|
||||
typedef enum SettingMode
|
||||
{
|
||||
SETTING_MODE_GET = 0,
|
||||
SETTING_MODE_SET
|
||||
} SettingMode_e;
|
||||
|
||||
typedef struct SettingsScreenAPIInterface
|
||||
{
|
||||
void (*setBrightnessSettingsCb)(uint8_t brightness);
|
||||
void (*setTimeSettingsCb)(uint8_t hour, uint8_t minute, uint8_t second, uint8_t day, uint8_t month, uint8_t year);
|
||||
void (*setTimeoutSettingsCb)(uint8_t timeout);
|
||||
void (*setOrientationSettingsCb)(uint8_t orientation);
|
||||
void (*setTimeSettingsCb)(uint8_t *hour, uint8_t *minute, uint8_t *second, uint8_t *day, uint8_t *month, uint8_t *year, SettingMode_e mode);
|
||||
void (*setBrightnessSettingsCb)(uint8_t *brightness, SettingMode_e mode);
|
||||
void (*setTimeoutSettingsCb)(uint8_t *timeout, SettingMode_e mode);
|
||||
void (*setDisplayVibrationDurationSettingsCb)(uint8_t *duration, SettingMode_e mode);
|
||||
void (*setDisplayVibrationStrengthSettingsCb)(uint8_t *strength, SettingMode_e mode);
|
||||
void (*setOrientationSettingsCb)(uint8_t *orientation, SettingMode_e mode);
|
||||
void (*setBLEEnabledSettingsCb)(bool *enabled, SettingMode_e mode);
|
||||
void (*setWiFiEnabledSettingsCb)(bool *enabled, SettingMode_e mode);
|
||||
void (*setLanguageSettingsCb)(uint8_t *language, SettingMode_e mode);
|
||||
} SettingsScreenAPIInterface_t;
|
||||
|
||||
typedef struct SettingsScreen
|
||||
{
|
||||
SettingsScreenAPIInterface_t settingsScreenAPIInterface;
|
||||
/* Menu list items */
|
||||
lv_obj_t *time_and_date_item;
|
||||
lv_obj_t *display_item;
|
||||
lv_obj_t *notifications_item;
|
||||
lv_obj_t *connectivity_item;
|
||||
lv_obj_t *language_item;
|
||||
lv_obj_t *about_item;
|
||||
|
||||
lv_obj_t *side_screen;
|
||||
|
||||
lv_obj_t *hour_roller;
|
||||
lv_obj_t *minute_roller;
|
||||
lv_obj_t *second_roller;
|
||||
lv_obj_t *checkbox_time_12H;
|
||||
lv_obj_t *checkbox_time_24H;
|
||||
lv_obj_t *day_roller;
|
||||
lv_obj_t *month_roller;
|
||||
lv_obj_t *year_roller;
|
||||
lv_obj_t *ble_switch;
|
||||
lv_obj_t *wifi_switch;
|
||||
struct
|
||||
{
|
||||
lv_obj_t *current_time_label;
|
||||
char current_time_text[20];
|
||||
} currentTime;
|
||||
|
||||
/* Main screen */
|
||||
lv_obj_t *display;
|
||||
|
||||
/* Other */
|
||||
lv_timer_t *about_refresh_timer;
|
||||
} SettingsScreen_t;
|
||||
|
||||
void settings_screen_init(SettingsScreen_t * const settingsScreen);
|
||||
@ -31,6 +66,4 @@ void settings_screen_create(SettingsScreen_t * const settingsScreen);
|
||||
|
||||
void settings_screen_destroy(SettingsScreen_t * const settingsScreen);
|
||||
|
||||
void settings_screen(void);
|
||||
|
||||
#endif //SETTINGS_SCREEN_H
|
||||
|
Loading…
Reference in New Issue
Block a user