adding save and battery voltage reading

This commit is contained in:
2026-01-19 17:42:48 -06:00
parent 3bce9e772c
commit 40bea065a7
7 changed files with 424 additions and 7 deletions

View File

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