From fc65f930939e3d3ab0d494c79cf6bfbe48ce5e97 Mon Sep 17 00:00:00 2001 From: nick Date: Thu, 18 Jun 2026 23:51:54 -0600 Subject: [PATCH] dashboard: reset battery detail cache when reopening overlay --- firmware/esp32-s3-dashboard/dashboard_config.h | 2 +- .../esp32-s3-dashboard/esp32-s3-dashboard.ino | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/firmware/esp32-s3-dashboard/dashboard_config.h b/firmware/esp32-s3-dashboard/dashboard_config.h index e5409b2..9bd2b49 100644 --- a/firmware/esp32-s3-dashboard/dashboard_config.h +++ b/firmware/esp32-s3-dashboard/dashboard_config.h @@ -1,6 +1,6 @@ #pragma once -static const char *DASHBOARD_VERSION = "0.1.100-real-cache-reset"; +static const char *DASHBOARD_VERSION = "0.1.101-battery-detail-cache-reset"; // Update these if your Cargo ESP AP credentials are different. //static const char *CARGO_WIFI_SSID = "OverlandController"; diff --git a/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino b/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino index ff1a872..6e477ff 100644 --- a/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino +++ b/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino @@ -540,6 +540,20 @@ static void system_card_event_cb(lv_event_t *event) static void create_overland_overview_screen(); static void create_battery_detail_screen(); static void show_dashboard_screen(DashboardScreen screen); +static void reset_battery_detail_widget_cache() +{ + last_battery_detail_soc_text = "__force_soc__"; + last_battery_detail_status_text = "__force_status__"; + last_battery_detail_voltage_text = "__force_voltage__"; + last_battery_detail_current_text = "__force_current__"; + last_battery_detail_power_text = "__force_power__"; + last_battery_detail_remaining_text = "__force_remaining__"; + last_battery_detail_capacity_text = "__force_capacity__"; + last_battery_detail_temp_text = "__force_temp__"; + last_battery_detail_delta_text = "__force_delta__"; + last_battery_detail_estimate_text = "__force_estimate__"; +} + static void update_battery_detail_widgets(); static void show_boot_screen(); static void show_diagnostics_overlay(); @@ -687,6 +701,7 @@ static void create_battery_detail_screen() lv_obj_clear_flag(battery_detail_page, LV_OBJ_FLAG_HIDDEN); lv_obj_move_foreground(battery_detail_page); current_dashboard_screen = SCREEN_BATTERY_DETAIL; + reset_battery_detail_widget_cache(); update_battery_detail_widgets(); return; } @@ -735,6 +750,7 @@ static void create_battery_detail_screen() battery_detail_value_label(battery_detail_page, "Battery Temp", &battery_detail_temp_label, 670, 362); battery_detail_value_label(battery_detail_page, "Cell Delta", &battery_detail_delta_label, 356, 504); + reset_battery_detail_widget_cache(); update_battery_detail_widgets(); lv_obj_move_foreground(battery_detail_page);