adding save and battery voltage reading
This commit is contained in:
26
main/gui.c
26
main/gui.c
@@ -1395,28 +1395,32 @@ static lv_obj_t* create_volume_page(void) {
|
||||
|
||||
static void show_volume_control(void) {
|
||||
ESP_LOGI(TAG, "Showing volume control");
|
||||
|
||||
|
||||
// Load saved volume from system
|
||||
_current_volume = system_getVolume();
|
||||
ESP_LOGI(TAG, "Loaded volume from system: %d", _current_volume);
|
||||
|
||||
lv_obj_t* menu = create_menu_container();
|
||||
if (!menu) {
|
||||
ESP_LOGE(TAG, "Failed to create menu container for volume control");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
lv_obj_t* volume_page = create_volume_page();
|
||||
if (!volume_page) {
|
||||
ESP_LOGE(TAG, "Failed to create volume page");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
lv_menu_set_page(menu, volume_page);
|
||||
_currentPage = volume_page;
|
||||
_mode = GUI_MENU; // Keep in menu mode
|
||||
|
||||
menu_hide_headers(menu);
|
||||
|
||||
|
||||
lv_obj_remove_flag(menu, LV_OBJ_FLAG_HIDDEN);
|
||||
lv_obj_add_flag(_bubble, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
|
||||
ESP_LOGI(TAG, "Volume control displayed");
|
||||
}
|
||||
|
||||
@@ -1452,6 +1456,17 @@ static bool menu_stack_is_empty(void) {
|
||||
static void menu_go_back(void) {
|
||||
ESP_LOGI(TAG, "Menu go back requested");
|
||||
|
||||
// Save volume if exiting from volume page
|
||||
if (_currentPage == _volume_page) {
|
||||
system_setVolume(_current_volume);
|
||||
esp_err_t ret = system_saveVolume();
|
||||
if (ret == ESP_OK) {
|
||||
ESP_LOGI(TAG, "Volume %d saved when exiting volume menu", _current_volume);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Failed to save volume: %s", esp_err_to_name(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (menu_stack_is_empty()) {
|
||||
ESP_LOGI(TAG, "Menu stack empty, returning to bubble mode");
|
||||
_mode = GUI_BUBBLE;
|
||||
@@ -1497,6 +1512,7 @@ static void update_volume_display(int volume) {
|
||||
UNLOCK();
|
||||
|
||||
_current_volume = volume;
|
||||
system_setVolume(volume); // Update system state in real-time
|
||||
ESP_LOGI(TAG, "Volume display updated to %d%%", volume);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user