Added more information in the about section of the settings screen : battery voltage, factory reset button and other things
This commit is contained in:
parent
47753131d6
commit
61f7e21cb3
@ -22,6 +22,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 _set_rtc_time_to_label(SettingsScreen_t * const settingsScreen);
|
||||
static void _set_battery_voltage_to_label(SettingsScreen_t * const settingsScreen);
|
||||
|
||||
static void _settings_screen_update_labels_language(SettingsScreen_t * const settingsScreen)
|
||||
{
|
||||
@ -232,6 +233,7 @@ static void about_refresh_timer_cb(lv_timer_t *timer)
|
||||
{
|
||||
SettingsScreen_t *settingsScreen = timer->user_data;
|
||||
_set_rtc_time_to_label(settingsScreen);
|
||||
_set_battery_voltage_to_label(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)
|
||||
@ -479,10 +481,22 @@ 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);
|
||||
|
||||
lv_obj_t *dev_name_label = lv_label_create(settingsScreen->side_screen);
|
||||
const char * ble_dev_name = NULL;
|
||||
if(settingsScreen->settingsScreenAPIInterface.getBLEDeviceNameCb) settingsScreen->settingsScreenAPIInterface.getBLEDeviceNameCb(&ble_dev_name);
|
||||
lv_label_set_text_static(dev_name_label, ble_dev_name);
|
||||
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->wifi_switch = lv_switch_create(settingsScreen->side_screen);
|
||||
lv_obj_align_to(settingsScreen->wifi_switch, settingsScreen->ble_switch, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 10);
|
||||
lv_obj_align_to(settingsScreen->wifi_switch, dev_name_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 10);
|
||||
if(settingsScreen->settingsScreenAPIInterface.setWiFiEnabledSettingsCb)settingsScreen->settingsScreenAPIInterface.setWiFiEnabledSettingsCb(&toggled, SETTING_MODE_GET);
|
||||
if(toggled) lv_obj_add_state(settingsScreen->wifi_switch, LV_STATE_CHECKED);
|
||||
lv_obj_add_state(settingsScreen->wifi_switch, LV_STATE_DISABLED);
|
||||
lv_obj_add_event_cb(settingsScreen->wifi_switch, &(activation_switch_cb), LV_EVENT_VALUE_CHANGED, settingsScreen);
|
||||
|
||||
label = lv_label_create(settingsScreen->side_screen);
|
||||
@ -541,9 +555,18 @@ static void load_about_side_screen(SettingsScreen_t *settingsScreen)
|
||||
lv_obj_align_to(settingsScreen->currentTime.current_time_label, rtc_time, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
_set_rtc_time_to_label(settingsScreen);
|
||||
|
||||
lv_obj_t *battery_label = lv_label_create(settingsScreen->side_screen);
|
||||
lv_label_set_text_static(battery_label, "Battery Voltage :");
|
||||
lv_obj_align_to(battery_label, settingsScreen->currentTime.current_time_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
|
||||
settingsScreen->batteryVoltage.batteryVoltageLabel = lv_label_create(settingsScreen->side_screen);
|
||||
_set_battery_voltage_to_label(settingsScreen);
|
||||
lv_obj_set_style_text_color(settingsScreen->batteryVoltage.batteryVoltageLabel, lv_color_make(130, 130, 130), LV_PART_MAIN);
|
||||
lv_obj_align_to(settingsScreen->batteryVoltage.batteryVoltageLabel, battery_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
|
||||
label = lv_label_create(settingsScreen->side_screen);
|
||||
lv_label_set_text_static(label, "Factory Reset :");
|
||||
lv_obj_align_to(label, settingsScreen->currentTime.current_time_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
lv_obj_align_to(label, settingsScreen->batteryVoltage.batteryVoltageLabel, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
|
||||
|
||||
lv_obj_t *factory_rst_btn = lv_btn_create(settingsScreen->side_screen);
|
||||
lv_obj_align_to(factory_rst_btn, label, LV_ALIGN_OUT_BOTTOM_MID, 0, 5);
|
||||
@ -720,3 +743,11 @@ static void _set_rtc_time_to_label(SettingsScreen_t * const settingsScreen)
|
||||
year+2000);
|
||||
lv_label_set_text_static(settingsScreen->currentTime.current_time_label, settingsScreen->currentTime.current_time_text);
|
||||
}
|
||||
|
||||
static void _set_battery_voltage_to_label(SettingsScreen_t * const settingsScreen)
|
||||
{
|
||||
uint16_t voltage = 0;
|
||||
if(settingsScreen->settingsScreenAPIInterface.getBatteryVoltageCb) settingsScreen->settingsScreenAPIInterface.getBatteryVoltageCb(&voltage);
|
||||
sprintf(settingsScreen->batteryVoltage.batteryVoltageText, "%u mV", voltage);
|
||||
lv_label_set_text_static(settingsScreen->batteryVoltage.batteryVoltageLabel, settingsScreen->batteryVoltage.batteryVoltageText);
|
||||
}
|
||||
|
@ -21,6 +21,8 @@ typedef struct SettingsScreenAPIInterface
|
||||
void (*setBLEEnabledSettingsCb)(bool *enabled, SettingMode_e mode);
|
||||
void (*setWiFiEnabledSettingsCb)(bool *enabled, SettingMode_e mode);
|
||||
void (*setLanguageSettingsCb)(uint8_t *language, SettingMode_e mode);
|
||||
void (*getBLEDeviceNameCb)(const char **dev_name);
|
||||
void (*getBatteryVoltageCb)(uint16_t *battery_voltage);
|
||||
void (*saveSettingsCb)(void);
|
||||
void (*factoryResetCb)(void);
|
||||
} SettingsScreenAPIInterface_t;
|
||||
@ -38,6 +40,7 @@ typedef struct SettingsScreen
|
||||
|
||||
lv_obj_t *side_screen;
|
||||
|
||||
/* Menu widgets */
|
||||
lv_obj_t *hour_roller;
|
||||
lv_obj_t *minute_roller;
|
||||
lv_obj_t *second_roller;
|
||||
@ -56,6 +59,12 @@ typedef struct SettingsScreen
|
||||
char current_time_text[20];
|
||||
} currentTime;
|
||||
|
||||
struct
|
||||
{
|
||||
lv_obj_t *batteryVoltageLabel;
|
||||
char batteryVoltageText[8];
|
||||
} batteryVoltage;
|
||||
|
||||
/* Main screen */
|
||||
lv_obj_t *display;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user