From d75f226583451c9cdc96ae527f5bb58f70fae5a5 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Mon, 1 Nov 2021 20:02:51 +0100 Subject: [PATCH 1/4] Fixed stvo front light for non-centered led strips --- main/ledstrip.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/main/ledstrip.h b/main/ledstrip.h index 205c257..7eb95ba 100644 --- a/main/ledstrip.h +++ b/main/ledstrip.h @@ -149,10 +149,13 @@ void updateLedStrip() std::fill(center + settings.ledstrip.smallOffset + 1U, center + settings.ledstrip.bigOffset + 1U, CRGB{255, 0, 0}); // Left } - if (settings.ledstrip.stvoFrontEnable) + if (settings.ledstrip.stvoFrontEnable && settings.ledstrip.stvoFrontLength > 0) { - std::fill(std::begin(leds) + settings.ledstrip.stvoFrontOffset, std::begin(leds) + settings.ledstrip.stvoFrontOffset + settings.ledstrip.stvoFrontLength, CRGB{255, 255, 255}); - std::fill(std::end(leds) - settings.ledstrip.stvoFrontOffset - settings.ledstrip.stvoFrontLength, std::end(leds) - settings.ledstrip.stvoFrontOffset, CRGB{255, 255, 255}); + + std::fill(std::begin(leds) + settings.ledstrip.stvoFrontOffset, std::begin(leds) + settings.ledstrip.stvoFrontOffset + settings.ledstrip.stvoFrontLength - settings.ledstrip.centerOffset, CRGB{255,255,255}); + std::fill(std::end(leds) - settings.ledstrip.stvoFrontOffset, std::end(leds) - settings.ledstrip.stvoFrontOffset - settings.ledstrip.stvoFrontLength + settings.ledstrip.centerOffset, CRGB{255,255,255}); + // std::fill(std::begin(leds) + settings.ledstrip.stvoFrontOffset, std::begin(leds) + settings.ledstrip.stvoFrontOffset + settings.ledstrip.stvoFrontLength, CRGB{255, 255, 255}); + // std::fill(std::end(leds) - settings.ledstrip.stvoFrontOffset - settings.ledstrip.stvoFrontLength, std::end(leds) - settings.ledstrip.stvoFrontOffset, CRGB{255, 255, 255}); } } From 7e5994812b44a7190a661f17d250f0854bf901c8 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Mon, 1 Nov 2021 20:17:13 +0100 Subject: [PATCH 2/4] Removed redownload / cache --- main/buildserver.h | 7 ------- main/displays/menus/otamenu.h | 8 -------- main/displays/menus/selectbuildservermenu.h | 1 - 3 files changed, 16 deletions(-) diff --git a/main/buildserver.h b/main/buildserver.h index 5f1f8ca..ff14c57 100644 --- a/main/buildserver.h +++ b/main/buildserver.h @@ -25,7 +25,6 @@ namespace { bool request_running = false; uint16_t request_failed = false; bool parsing_finished = false; - static bool redownload = true; cpputils::DelayedConstruction request; std::string get_ota_url_from_index(uint16_t index) @@ -113,7 +112,6 @@ namespace { url_for_latest = fix_url(fmt::format("{}{}", stringSettings.otaServerUrl, doc["latest"].as())); url_for_hashes = fix_url(fmt::format("{}{}", stringSettings.otaServerUrl, doc["url"].as())); parsing_finished = true; - redownload = false; } void setup_request() @@ -124,11 +122,6 @@ namespace { void start_descriptor_request(std::string server_base_url) { - if (!redownload) - { - parsing_finished = true; - return; - } if (!request.constructed()) { ESP_LOGW("BOBBY", "request is im oarsch"); diff --git a/main/displays/menus/otamenu.h b/main/displays/menus/otamenu.h index f4bf45c..619bc00 100644 --- a/main/displays/menus/otamenu.h +++ b/main/displays/menus/otamenu.h @@ -24,13 +24,6 @@ using namespace espgui; namespace { -class RedownloadJsonAction : public virtual ActionInterface { -public: - void triggered() override { - redownload = true; - } -}; - class OtaMenu : public MenuDisplay, public StaticText, @@ -42,7 +35,6 @@ public: constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::presets>>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::update>>>(); constructMenuItem, SwitchScreenAction>>(); - constructMenuItem, RedownloadJsonAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } }; diff --git a/main/displays/menus/selectbuildservermenu.h b/main/displays/menus/selectbuildservermenu.h index 0caa71b..b19c91b 100644 --- a/main/displays/menus/selectbuildservermenu.h +++ b/main/displays/menus/selectbuildservermenu.h @@ -45,7 +45,6 @@ public: stringSettings.otaUrl = m_buildserver_url; } saveSettings(); - redownload = true; url_for_latest.clear(); url_for_hashes.clear(); availableVersions = {}; From 5e5a25615748e1dcbe31343f365817f82bf01e19 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Mon, 1 Nov 2021 21:44:16 +0100 Subject: [PATCH 3/4] Reverted fix --- main/ledstrip.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/main/ledstrip.h b/main/ledstrip.h index 7eb95ba..89782a6 100644 --- a/main/ledstrip.h +++ b/main/ledstrip.h @@ -149,13 +149,10 @@ void updateLedStrip() std::fill(center + settings.ledstrip.smallOffset + 1U, center + settings.ledstrip.bigOffset + 1U, CRGB{255, 0, 0}); // Left } - if (settings.ledstrip.stvoFrontEnable && settings.ledstrip.stvoFrontLength > 0) + if (settings.ledstrip.stvoFrontEnable) { - - std::fill(std::begin(leds) + settings.ledstrip.stvoFrontOffset, std::begin(leds) + settings.ledstrip.stvoFrontOffset + settings.ledstrip.stvoFrontLength - settings.ledstrip.centerOffset, CRGB{255,255,255}); - std::fill(std::end(leds) - settings.ledstrip.stvoFrontOffset, std::end(leds) - settings.ledstrip.stvoFrontOffset - settings.ledstrip.stvoFrontLength + settings.ledstrip.centerOffset, CRGB{255,255,255}); - // std::fill(std::begin(leds) + settings.ledstrip.stvoFrontOffset, std::begin(leds) + settings.ledstrip.stvoFrontOffset + settings.ledstrip.stvoFrontLength, CRGB{255, 255, 255}); - // std::fill(std::end(leds) - settings.ledstrip.stvoFrontOffset - settings.ledstrip.stvoFrontLength, std::end(leds) - settings.ledstrip.stvoFrontOffset, CRGB{255, 255, 255}); + std::fill(std::begin(leds) + settings.ledstrip.stvoFrontOffset, std::begin(leds) + settings.ledstrip.stvoFrontOffset + settings.ledstrip.stvoFrontLength, CRGB{255, 255, 255}); + std::fill(std::end(leds) - settings.ledstrip.stvoFrontOffset - settings.ledstrip.stvoFrontLength, std::end(leds) - settings.ledstrip.stvoFrontOffset, CRGB{255, 255, 255}); } } From 362e7e9316bbc8dd6280f09219f5b5d7dbad04a5 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Wed, 3 Nov 2021 18:47:34 +0100 Subject: [PATCH 4/4] Added BAK/25R battery type --- main/battery.h | 22 +++++++++++++++++++-- main/displays/menus/selectbatterytypemenu.h | 1 + main/texts.h | 1 + 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/main/battery.h b/main/battery.h index f4b4c0c..6e92a60 100644 --- a/main/battery.h +++ b/main/battery.h @@ -12,7 +12,8 @@ x(_22P) \ x(HG2) \ x(MH1) \ - x(VTC5) + x(VTC5) \ + x(BAK_25R) DECLARE_TYPESAFE_ENUM(BatteryCellType, : uint8_t, BatteryCellTypeValues) namespace { @@ -61,7 +62,7 @@ float getBatteryPercentage(float batVoltage, BatteryCellType cellType) CURVE(3.56, 3.50, 2.25, 2.5) CURVE(3.50, 3.40, 2.5, 2.75) CURVE(3.40, 3.30, 2.75, 3.0) - CURVE(3.30, 2.5, 3.0, 3.2) + CURVE(3.30, 2.50, 3.0, 3.2) break; } case BatteryCellType::HG2: { @@ -101,6 +102,23 @@ float getBatteryPercentage(float batVoltage, BatteryCellType cellType) CURVE(2.80, 2.50, 2.5, 2.60) break; } + case BatteryCellType::BAK_25R: { + const float expected_ah = 2.5; + if(cellVoltage > 4.15){ + return 100; + } + CURVE(4.15, 4.06, 0, 0.25) + CURVE(4.06, 3.96, 0.25, 0.5) + CURVE(3.96, 3.88, 0.5, 0.75) + CURVE(3.88, 3.77, 0.75, 1) + CURVE(3.77, 3.68, 1, 1.25) + CURVE(3.68, 3.62, 1.25, 1.5) + CURVE(3.62, 3.56, 1.5, 1.75) + CURVE(3.56, 3.47, 1.75, 2) + CURVE(3.47, 3.31, 2, 2.25) + CURVE(3.31, 2.50, 2.25, 2.5) + break; + } } return 0.f; } diff --git a/main/displays/menus/selectbatterytypemenu.h b/main/displays/menus/selectbatterytypemenu.h index a0033c8..380ad63 100644 --- a/main/displays/menus/selectbatterytypemenu.h +++ b/main/displays/menus/selectbatterytypemenu.h @@ -42,6 +42,7 @@ namespace { constructMenuItem, BatterySelectTypeAction>>(); constructMenuItem, BatterySelectTypeAction>>(); constructMenuItem, BatterySelectTypeAction>>(); + constructMenuItem, BatterySelectTypeAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } }; diff --git a/main/texts.h b/main/texts.h index fd7d226..e332f80 100644 --- a/main/texts.h +++ b/main/texts.h @@ -102,6 +102,7 @@ constexpr char TEXT_BATTERY_TYPE_22P[] = "22P cells"; constexpr char TEXT_BATTERY_TYPE_HG2[] = "HG2 cells"; constexpr char TEXT_BATTERY_TYPE_MH1[] = "MH1 cells"; constexpr char TEXT_BATTERY_TYPE_VTC5[] = "VTC5 cells"; +constexpr char TEXT_BATTERY_TYPE_BAK_25R[] = "BAK / 25R cells"; constexpr char TEXT_BATTERY_WHKM[] = "Wh per km"; constexpr char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration"; constexpr char TEXT_VOLTAGECALIBRATION_RESET[] = "Reset calibration";