From 55bde70b9651b411ac0135bd4704f5b6972ea799 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 10 Jan 2024 20:32:01 +1100 Subject: add accurate esp and samd versions + expose this info to lua --- src/ui/CMakeLists.txt | 2 +- src/ui/include/screen_settings.hpp | 3 ++- src/ui/screen_settings.cpp | 10 +++++++--- src/ui/ui_fsm.cpp | 3 ++- 4 files changed, 12 insertions(+), 6 deletions(-) (limited to 'src/ui') diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index a869053d..0d9de5a4 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -9,5 +9,5 @@ idf_component_register( "screen_lua.cpp" "splash.c" "font_fusion_12.c" "font_fusion_10.c" INCLUDE_DIRS "include" - REQUIRES "drivers" "lvgl" "tinyfsm" "events" "system_fsm" "database" "esp_timer" "battery" "bindey" "lua" "luavgl") + REQUIRES "drivers" "lvgl" "tinyfsm" "events" "system_fsm" "database" "esp_timer" "battery" "bindey" "lua" "luavgl" "esp_app_format") target_compile_options(${COMPONENT_LIB} PRIVATE ${EXTRA_WARNINGS}) diff --git a/src/ui/include/screen_settings.hpp b/src/ui/include/screen_settings.hpp index 033cb7fa..7402f9f9 100644 --- a/src/ui/include/screen_settings.hpp +++ b/src/ui/include/screen_settings.hpp @@ -20,6 +20,7 @@ #include "model_top_bar.hpp" #include "nvs.hpp" +#include "samd.hpp" #include "screen.hpp" namespace ui { @@ -103,7 +104,7 @@ class Storage : public MenuScreen { class FirmwareUpdate : public MenuScreen { public: - FirmwareUpdate(models::TopBar&); + FirmwareUpdate(models::TopBar&, drivers::Samd&); }; class About : public MenuScreen { diff --git a/src/ui/screen_settings.cpp b/src/ui/screen_settings.cpp index a3a24eeb..3f4c2c46 100644 --- a/src/ui/screen_settings.cpp +++ b/src/ui/screen_settings.cpp @@ -15,6 +15,7 @@ #include "core/lv_obj.h" #include "core/lv_obj_tree.h" #include "display.hpp" +#include "esp_app_desc.h" #include "esp_log.h" #include "core/lv_group.h" @@ -32,6 +33,7 @@ #include "misc/lv_area.h" #include "model_top_bar.hpp" #include "nvs.hpp" +#include "samd.hpp" #include "screen.hpp" #include "themes.hpp" #include "ui_events.hpp" @@ -529,12 +531,13 @@ Storage::Storage(models::TopBar& bar) : MenuScreen(bar, "Storage") { }); } -FirmwareUpdate::FirmwareUpdate(models::TopBar& bar) +FirmwareUpdate::FirmwareUpdate(models::TopBar& bar, drivers::Samd& samd) : MenuScreen(bar, "Firmware Update") { lv_obj_set_flex_align(content_, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER); - label_pair(content_, "SAMD21 FW:", "vIDKLOL"); + auto samd_ver = samd.Version(); + label_pair(content_, "SAMD21 FW:", {samd_ver.data(), samd_ver.size()}); lv_obj_t* spacer = lv_obj_create(content_); lv_obj_set_size(spacer, 1, 4); @@ -549,7 +552,8 @@ FirmwareUpdate::FirmwareUpdate(models::TopBar& bar) spacer = lv_obj_create(content_); lv_obj_set_size(spacer, 1, 8); - label_pair(content_, "ESP32 FW:", "vIDKLOL"); + auto desc = esp_app_get_description(); + label_pair(content_, "ESP32 FW:", desc->version); spacer = lv_obj_create(content_); lv_obj_set_size(spacer, 1, 4); diff --git a/src/ui/ui_fsm.cpp b/src/ui/ui_fsm.cpp index 740383a4..75327a58 100644 --- a/src/ui/ui_fsm.cpp +++ b/src/ui/ui_fsm.cpp @@ -432,7 +432,8 @@ void Browse::react(const internal::ShowSettingsPage& ev) { screen.reset(new screens::Storage(sTopBarModel)); break; case internal::ShowSettingsPage::Page::kFirmwareUpdate: - screen.reset(new screens::FirmwareUpdate(sTopBarModel)); + screen.reset( + new screens::FirmwareUpdate(sTopBarModel, sServices->samd())); break; case internal::ShowSettingsPage::Page::kAbout: screen.reset(new screens::About(sTopBarModel)); -- cgit v1.2.3