diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index 8dfd123..caffdb1 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -57,7 +57,6 @@ set(headers statistics.h statustexthelper.h taskmanager.h - texts.h time_bobbycar.h types.h udpcloud.h @@ -292,7 +291,6 @@ set(sources statistics.cpp statustexthelper.cpp taskmanager.cpp - texts.cpp time_bobbycar.cpp types.cpp udpcloud.cpp diff --git a/main/accessors/settingsaccessors.h b/main/accessors/settingsaccessors.h index 2230674..a4e925c 100644 --- a/main/accessors/settingsaccessors.h +++ b/main/accessors/settingsaccessors.h @@ -182,7 +182,19 @@ struct LedsCountAccessor : public RefAccessorSaveSettings { int16_t &ge struct CenterOffsetAccessor : public RefAccessorSaveSettings { int16_t &getRef() const override { return settings.ledstrip.centerOffset; } }; struct SmallOffsetAccessor : public RefAccessorSaveSettings { int16_t &getRef() const override { return settings.ledstrip.smallOffset; } }; struct BigOffsetAccessor : public RefAccessorSaveSettings { int16_t &getRef() const override { return settings.ledstrip.bigOffset; } }; -struct DeziampereAccessor : public RefAccessorSaveSettings { int16_t &getRef() const override { return settings.ledstrip.deziampere; } }; +struct LedStripMaxMilliampsAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.ledStripMaxMilliamps; } }; +struct LedStripMaxAmpereAccessor : public virtual espgui::AccessorInterface +{ + float getValue() const override + { + return configs.ledStripMaxMilliamps.value / 1000.f; + } + + espgui::AccessorInterface::setter_result_t setValue(float value) override + { + return configs.write_config(configs.ledStripMaxMilliamps, value * 1000); + } +}; struct EnableBeepWhenBlinkAccessor : public RefAccessorSaveSettings { bool &getRef() const override { return settings.ledstrip.enableBeepWhenBlink; } }; struct EnableFullBlinkAccessor : public RefAccessorSaveSettings { bool &getRef() const override { return settings.ledstrip.enableFullBlink; } }; struct EnableLedstripStVOAccessor : public RefAccessorSaveSettings { bool &getRef() const override { return settings.ledstrip.enableStVO; } }; diff --git a/main/actions/rebootaction.cpp b/main/actions/rebootaction.cpp index a343c6e..138fa76 100644 --- a/main/actions/rebootaction.cpp +++ b/main/actions/rebootaction.cpp @@ -6,16 +6,12 @@ // 3rdparty lib includes #include -// local includes -#include "globals.h" -#include "texts.h" - void RebootAction::triggered() { espgui::tft.fillScreen(TFT_BLACK); espgui::tft.setTextColor(TFT_YELLOW); - espgui::tft.drawString(TEXT_REBOOT, 5, 5, 4); + espgui::tft.drawString("Reboot", 5, 5, 4); espgui::tft.fillRect(0, 34, espgui::tft.width(), 3, TFT_WHITE); diff --git a/main/actions/rebootaction.h b/main/actions/rebootaction.h index 3bc01f2..757ba3c 100644 --- a/main/actions/rebootaction.h +++ b/main/actions/rebootaction.h @@ -1,9 +1,7 @@ #pragma once // 3rdparty lib includes -#include "actioninterface.h" - -using namespace espgui; +#include class RebootAction : public virtual espgui::ActionInterface { diff --git a/main/changevaluedisplay_bluetoothmode.h b/main/changevaluedisplay_bluetoothmode.h index e34fcb3..96b8468 100644 --- a/main/changevaluedisplay_bluetoothmode.h +++ b/main/changevaluedisplay_bluetoothmode.h @@ -7,7 +7,6 @@ #include "actions/setvalueaction.h" #include "actions/backproxyaction.h" #include "icons/back.h" -#include "texts.h" #ifdef FEATURE_BLUETOOTH #include "bluetoothmode.h" #endif diff --git a/main/displays/calibratedisplay.cpp b/main/displays/calibratedisplay.cpp index 59b845a..ee7cd7a 100644 --- a/main/displays/calibratedisplay.cpp +++ b/main/displays/calibratedisplay.cpp @@ -10,6 +10,10 @@ #include "displays/menus/boardcomputerhardwaresettingsmenu.h" #include "newsettings.h" +namespace { +constexpr char TEXT_CALIBRATE[] = "Calibrate"; +} // namespace + CalibrateDisplay::CalibrateDisplay(bool bootup) : m_bootup{bootup} { diff --git a/main/displays/calibratedisplay.h b/main/displays/calibratedisplay.h index d2ad87d..96e8f3c 100644 --- a/main/displays/calibratedisplay.h +++ b/main/displays/calibratedisplay.h @@ -15,7 +15,6 @@ #include "bobbydisplaywithtitle.h" #include "globals.h" #include "utils.h" -#include "texts.h" #include "modes/ignoreinputmode.h" class CalibrateDisplay : public BobbyDisplayWithTitle diff --git a/main/displays/calibratevoltagedisplay.cpp b/main/displays/calibratevoltagedisplay.cpp index ee3179f..291c7e7 100644 --- a/main/displays/calibratevoltagedisplay.cpp +++ b/main/displays/calibratevoltagedisplay.cpp @@ -1,14 +1,35 @@ #include "calibratevoltagedisplay.h" // 3rdparty lib includes +#include +#include +#include +#include +#include #include -// local includes +// Local includes +#include "utils.h" +#include "icons/settings.h" +#include "battery.h" +#include "menus/batterymenu.h" +#include "globals.h" #include "displays/menus/batterymenu.h" #include "accessors/settingsaccessors.h" #include "bobbycheckbox.h" namespace { +constexpr char TEXT_BATTERY_CALIBRATE[] = "Calibrate Voltages"; +constexpr char TEXT_VOLTAGECALIBRATION_30V[] = "Calibrate 30.0V"; +constexpr char TEXT_VOLTAGECALIBRATION_50V[] = "Calibrate 50.0V"; +constexpr char TEXT_VOLTAGECALIBRATION_VALUE_30_FRONT[] = "30V Front"; +constexpr char TEXT_VOLTAGECALIBRATION_VALUE_30_BACK[] = "30V Back"; +constexpr char TEXT_VOLTAGECALIBRATION_VALUE_50_FRONT[] = "50V Front"; +constexpr char TEXT_VOLTAGECALIBRATION_VALUE_50_BACK[] = "50V Back"; +constexpr char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration"; +constexpr char TEXT_VOLTAGECALIBRATION_RESET[] = "Reset calibration"; +constexpr char TEXT_BACK[] = "Back"; + class Save30VCalibrationAction : public virtual espgui::ActionInterface { public: @@ -49,17 +70,58 @@ float convertToFloat(int16_t value) return value/100.; } -class BatteryVoltageCalibrationFront30VText : public virtual espgui::TextInterface { public: std::string text() const override { return fmt::format("30V Front: {}", convertToFloat(settings.battery.front30VoltCalibration)); } }; -class BatteryVoltageCalibrationBack30VText : public virtual espgui::TextInterface { public: std::string text() const override { return fmt::format("30V Back: {}", convertToFloat(settings.battery.back30VoltCalibration)); } }; -class BatteryVoltageCalibrationFront50VText : public virtual espgui::TextInterface { public: std::string text() const override { return fmt::format("50V Front: {}", convertToFloat(settings.battery.front50VoltCalibration)); } }; -class BatteryVoltageCalibrationBack50VText : public virtual espgui::TextInterface { public: std::string text() const override { return fmt::format("50V Back: {}", convertToFloat(settings.battery.back50VoltCalibration)); } }; -class BatteryVoltageCalibratedText : public virtual espgui::TextInterface { public: std::string text() const override { if (settings.battery.applyCalibration) return fmt::format("F{:.2f}V B{:.2f}", controllers.front.getCalibratedVoltage(), controllers.back.getCalibratedVoltage()); else return "Not activated"; } }; -} // namespace +class BatteryVoltageCalibrationFront30VText : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + return fmt::format("30V Front: {}", convertToFloat(settings.battery.front30VoltCalibration)); + } +}; -using namespace espgui; +class BatteryVoltageCalibrationBack30VText : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + return fmt::format("30V Back: {}", convertToFloat(settings.battery.back30VoltCalibration)); + } +}; + +class BatteryVoltageCalibrationFront50VText : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + return fmt::format("50V Front: {}", convertToFloat(settings.battery.front50VoltCalibration)); + } +}; + +class BatteryVoltageCalibrationBack50VText : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + return fmt::format("50V Back: {}", convertToFloat(settings.battery.back50VoltCalibration)); + } +}; + +class BatteryVoltageCalibratedText : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + if (settings.battery.applyCalibration) + return fmt::format("F{:.2f}V B{:.2f}", controllers.front.getCalibratedVoltage(), controllers.back.getCalibratedVoltage()); + else + return "Not activated"; + } +}; +} // namespace CalibrateVoltageDisplay::CalibrateVoltageDisplay() { + using namespace espgui; constructMenuItem, Save30VCalibrationAction>>(); constructMenuItem, Save50VCalibrationAction>>(); constructMenuItem, BobbyCheckbox, BatteryApplyCalibrationAccessor>>(); @@ -75,7 +137,12 @@ CalibrateVoltageDisplay::CalibrateVoltageDisplay() constructMenuItem, ResetCalibrationAction>>(); } +std::string CalibrateVoltageDisplay::text() const +{ + return TEXT_BATTERY_CALIBRATE; +} + void CalibrateVoltageDisplay::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/calibratevoltagedisplay.h b/main/displays/calibratevoltagedisplay.h index 1c27ab3..1efa967 100644 --- a/main/displays/calibratevoltagedisplay.h +++ b/main/displays/calibratevoltagedisplay.h @@ -1,27 +1,14 @@ #pragma once -// 3rdparty lib includes -#include -#include -#include -#include -#include - -// Local includes +// local includes #include "bobbymenudisplay.h" -#include "utils.h" -#include "icons/settings.h" -#include "texts.h" -#include "battery.h" -#include "menus/batterymenu.h" -#include "globals.h" -class CalibrateVoltageDisplay : - public BobbyMenuDisplay, - public espgui::StaticText +class CalibrateVoltageDisplay : public BobbyMenuDisplay { public: CalibrateVoltageDisplay(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/gametrakcalibratedisplay.h b/main/displays/gametrakcalibratedisplay.h index 690034a..1d3456b 100644 --- a/main/displays/gametrakcalibratedisplay.h +++ b/main/displays/gametrakcalibratedisplay.h @@ -12,7 +12,6 @@ // local includes #include "bobbydisplay.h" #include "globals.h" -#include "texts.h" #include "modes/ignoreinputmode.h" namespace { diff --git a/main/displays/ledstripcolorsdisplay.cpp b/main/displays/ledstripcolorsdisplay.cpp index 5b17d88..f341df4 100644 --- a/main/displays/ledstripcolorsdisplay.cpp +++ b/main/displays/ledstripcolorsdisplay.cpp @@ -17,13 +17,14 @@ #include "utils.h" #include "icons/back.h" #include "icons/bobbycar.h" -#include "texts.h" #include "actions/dummyaction.h" #include "globals.h" #include "displays/menus/ledstripmenu.h" #ifdef FEATURE_LEDSTRIP namespace { +constexpr char TEXT_LEDSTRIPCOLORMENU[] = "Customize Ledstrip"; + int8_t selected_side = 7; int8_t selected_color; bool state_select_color{false}; diff --git a/main/displays/lockscreen.cpp b/main/displays/lockscreen.cpp index 4c1d843..7142770 100644 --- a/main/displays/lockscreen.cpp +++ b/main/displays/lockscreen.cpp @@ -7,7 +7,6 @@ // local includes #include "globals.h" #include "utils.h" -#include "texts.h" #include "displays/menus/mainmenu.h" #include "displays/calibratedisplay.h" #include "bobbybuttons.h" @@ -40,7 +39,7 @@ void Lockscreen::initScreen() espgui::tft.setTextFont(4); espgui::tft.setTextColor(TFT_YELLOW); - espgui::tft.drawString(TEXT_LOCKVEHICLE, 5, 5); + espgui::tft.drawString("Lock vehicle", 5, 5); espgui::tft.fillRect(0, 34, espgui::tft.width(), 3, TFT_WHITE); diff --git a/main/displays/menus/aboutmenu.cpp b/main/displays/menus/aboutmenu.cpp index 6cf864e..535c7c3 100644 --- a/main/displays/menus/aboutmenu.cpp +++ b/main/displays/menus/aboutmenu.cpp @@ -15,6 +15,9 @@ #endif namespace { +constexpr char TEXT_ABOUT[] = "About"; +constexpr char TEXT_BACK[] = "Back"; + class CurrentVersionText : public virtual espgui::TextInterface { public: @@ -33,10 +36,9 @@ public: constexpr char TEXT_VERSION[] = "Version: 1.0"; } // namespace -using namespace espgui; - AboutMenu::AboutMenu() { + using namespace espgui; constructMenuItem>(); constructMenuItem, DisabledColor, DummyAction>>(); constructMenuItem, DisabledColor, DummyAction>>(); @@ -63,7 +65,12 @@ AboutMenu::AboutMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string AboutMenu::text() const +{ + return TEXT_ABOUT; +} + void AboutMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/aboutmenu.h b/main/displays/menus/aboutmenu.h index 34cff49..3937122 100644 --- a/main/displays/menus/aboutmenu.h +++ b/main/displays/menus/aboutmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class AboutMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class AboutMenu : public BobbyMenuDisplay { public: AboutMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/batterydebugmenu.cpp b/main/displays/menus/batterydebugmenu.cpp index e568c22..050aa1d 100644 --- a/main/displays/menus/batterydebugmenu.cpp +++ b/main/displays/menus/batterydebugmenu.cpp @@ -1,16 +1,55 @@ #include "batterydebugmenu.h" +// 3rdparty lib includes +#include +#include +#include +#include +#include + // local includes #include "debugmenu.h" #include "accessors/settingsaccessors.h" -#include "fmt/core.h" +#include "utils.h" +#include "icons/settings.h" +#include "battery.h" -class CurrentBatteryStatusText : public virtual espgui::TextInterface { public: std::string text() const override { return getBatteryPercentageString(); } }; -class CurrentAdvancedBatteryPercentageText : public virtual espgui::TextInterface { public: std::string text() const override { return getBatteryAdvancedPercentageString(); } }; +namespace { +constexpr char TEXT_BATTERYDEBUG[] = "Bat Debug Menu"; +constexpr char TEXT_BACK[] = "Back"; -class BatteryDebugText : public virtual espgui::TextInterface { public: std::string text() const override { return getBatteryDebugString(); } }; -class BatteryDebug2Text : public virtual espgui::TextInterface { - public: std::string text() const override { +class CurrentBatteryStatusText : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + return getBatteryPercentageString(); + } +}; + +class CurrentAdvancedBatteryPercentageText : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + return getBatteryAdvancedPercentageString(); + } +}; + +class BatteryDebugText : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + return getBatteryDebugString(); + } +}; + +class BatteryDebug2Text : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { float avgVoltage = 0; for (auto &controller : controllers) { @@ -23,12 +62,22 @@ class BatteryDebug2Text : public virtual espgui::TextInterface { return fmt::format("{:.0f} {:.0f}W/kmh", avgSpeedKmh, w_per_kmh); } }; -class BatteryDebug3Text : public virtual espgui::TextInterface { public: std::string text() const override { return fmt::format("{}fA {}bA", fixCurrent(controllers.front.feedback.left.dcLink + controllers.front.feedback.right.dcLink), fixCurrent(controllers.back.feedback.left.dcLink + controllers.back.feedback.right.dcLink)); } }; -using namespace espgui; +class BatteryDebug3Text : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + return fmt::format("{}fA {}bA", + fixCurrent(controllers.front.feedback.left.dcLink + controllers.front.feedback.right.dcLink), + fixCurrent(controllers.back.feedback.left.dcLink + controllers.back.feedback.right.dcLink)); + } +}; +} // namespace BatteryDebugMenu::BatteryDebugMenu() { + using namespace espgui; constructMenuItem>(); constructMenuItem>(); constructMenuItem>(); @@ -38,7 +87,12 @@ BatteryDebugMenu::BatteryDebugMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string BatteryDebugMenu::text() const +{ + return TEXT_BATTERYDEBUG; +} + void BatteryDebugMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/batterydebugmenu.h b/main/displays/menus/batterydebugmenu.h index 9c44597..e351982 100644 --- a/main/displays/menus/batterydebugmenu.h +++ b/main/displays/menus/batterydebugmenu.h @@ -1,24 +1,14 @@ #pragma once -// 3rdparty lib includes -#include -#include -#include -#include - // Local includes #include "displays/bobbymenudisplay.h" -#include "utils.h" -#include "icons/settings.h" -#include "texts.h" -#include "battery.h" -class BatteryDebugMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class BatteryDebugMenu : public BobbyMenuDisplay { public: BatteryDebugMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/batterymenu.cpp b/main/displays/menus/batterymenu.cpp index e41428b..74e8d7e 100644 --- a/main/displays/menus/batterymenu.cpp +++ b/main/displays/menus/batterymenu.cpp @@ -1,17 +1,42 @@ #include "batterymenu.h" // 3rdparty lib includes +#include +#include +#include +#include #include #include #include -// local includes +// Local includes +#include "utils.h" +#include "icons/settings.h" +#include "battery.h" +#include "selectbatterytypemenu.h" #include "displays/bobbychangevaluedisplay.h" #include "mainmenu.h" #include "displays/calibratevoltagedisplay.h" #include "accessors/settingsaccessors.h" #include "battery.h" +namespace { +constexpr char TEXT_BATTERY[] = "Battery"; +constexpr char TEXT_CELL_SERIES[] = "Cells (Series)"; +constexpr char TEXT_CELL_PARALLEL[] = "Cells (Parallel)"; +constexpr char TEXT_SELECT_CELL_TYPE[] = "Select Cell Type"; +constexpr char TEXT_CELL_TYPE[] = "Cell Type"; +constexpr char TEXT_BATTERY_CALIBRATE[] = "Calibrate Voltages"; +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"; +constexpr char TEXT_BACK[] = "Back"; + class CurrentBatteryStatusText : public virtual espgui::TextInterface { public: std::string text() const override { return getBatteryPercentageString(); } }; using BatteryCellSeriesChangeScreen = espgui::makeComponent< @@ -37,8 +62,27 @@ using BatteryWHperKMChangeScreen = espgui::makeComponent< espgui::ConfirmActionInterface>, espgui::BackActionInterface> >; +} // namespace -using namespace espgui; +BatteryMenu::BatteryMenu() +{ + using namespace espgui; + + constructMenuItem>(); + constructMenuItem>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem>(); + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::settings>>>(); + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); +} + +std::string BatteryMenu::text() const +{ + return TEXT_BATTERY; +} void BatteryMenu::start() { @@ -61,20 +105,7 @@ void BatteryMenu::redraw() m_doubleProgressBarBatPercentage.redraw(batPercent, battery::bootBatPercentage); } -BatteryMenu::BatteryMenu() -{ - constructMenuItem>(); - constructMenuItem>(); - constructMenuItem, SwitchScreenAction>>(); - constructMenuItem, SwitchScreenAction>>(); - constructMenuItem, SwitchScreenAction>>(); - constructMenuItem, SwitchScreenAction>>(); - constructMenuItem>(); - constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::settings>>>(); - constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); -} - void BatteryMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/batterymenu.h b/main/displays/menus/batterymenu.h index 14b1b08..01740c6 100644 --- a/main/displays/menus/batterymenu.h +++ b/main/displays/menus/batterymenu.h @@ -1,32 +1,22 @@ #pragma once -// 3rdparty lib includes -#include -#include -#include -#include - -// Local includes +// local includes #include "displays/bobbymenudisplay.h" -#include "utils.h" -#include "icons/settings.h" -#include "texts.h" -#include "battery.h" -#include "selectbatterytypemenu.h" #include "widgets/doubleprogressbar.h" -class BatteryMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class BatteryMenu : public BobbyMenuDisplay { using Base = BobbyMenuDisplay; public: BatteryMenu(); + std::string text() const override; + void start() override; void redraw() override; void back() override; + private: bobbygui::DoubleProgressBar m_doubleProgressBarBatPercentage{75, 68, 90, 24, 0, 100, TFT_RED, TFT_GREEN}; }; diff --git a/main/displays/menus/blesettingsmenu.cpp b/main/displays/menus/blesettingsmenu.cpp index aec2d9a..37d6d41 100644 --- a/main/displays/menus/blesettingsmenu.cpp +++ b/main/displays/menus/blesettingsmenu.cpp @@ -10,22 +10,30 @@ #include "bletexthelpers.h" #include "displays/menus/settingsmenu.h" #include "bobbycheckbox.h" -#include "texts.h" #ifdef FEATURE_BLE - -using namespace espgui; +namespace { +constexpr char TEXT_BLESETTINGS[] = "BLE settings"; +constexpr char TEXT_BLEENABLED[] = "BLE enabled"; +constexpr char TEXT_BACK[] = "Back"; +} // namespace BleSettingsMenu::BleSettingsMenu() { + using namespace espgui; constructMenuItem, BobbyCheckbox, BleEnabledAccessor>>(); constructMenuItem>(); constructMenuItem>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string BleSettingsMenu::text() const +{ + return TEXT_BLESETTINGS; +} + void BleSettingsMenu::back() { - switchScreen(); + espgui::switchScreen(); } #endif diff --git a/main/displays/menus/blesettingsmenu.h b/main/displays/menus/blesettingsmenu.h index b358862..0143c5e 100644 --- a/main/displays/menus/blesettingsmenu.h +++ b/main/displays/menus/blesettingsmenu.h @@ -2,16 +2,16 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" #ifdef FEATURE_BLE -class BleSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class BleSettingsMenu : public BobbyMenuDisplay { public: BleSettingsMenu(); + + std::string text() const override; + void back() override; }; #endif diff --git a/main/displays/menus/bluetoothsettingsmenu.h b/main/displays/menus/bluetoothsettingsmenu.h index 755c546..bac352d 100644 --- a/main/displays/menus/bluetoothsettingsmenu.h +++ b/main/displays/menus/bluetoothsettingsmenu.h @@ -19,7 +19,6 @@ #include "bluetoothtexthelpers.h" #include "accessors/settingsaccessors.h" #include "icons/back.h" -#include "texts.h" using namespace espgui; using namespace bluetoothtexthelpers; diff --git a/main/displays/menus/bmsmenu.cpp b/main/displays/menus/bmsmenu.cpp index 0b7d3f0..24ad1ba 100644 --- a/main/displays/menus/bmsmenu.cpp +++ b/main/displays/menus/bmsmenu.cpp @@ -13,7 +13,6 @@ #include "actions/switchscreenaction.h" #include "bluetoothtexthelpers.h" #include "icons/back.h" -#include "texts.h" #include "displays/menus/mainmenu.h" using namespace espgui; diff --git a/main/displays/menus/bmsmenu.h b/main/displays/menus/bmsmenu.h index a8d969c..ab4177e 100644 --- a/main/displays/menus/bmsmenu.h +++ b/main/displays/menus/bmsmenu.h @@ -3,14 +3,13 @@ #if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS) // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class BmsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class BmsMenu : public BobbyMenuDisplay { public: BmsMenu(); + + std::string text() const override { return TEXT_BMS; } void back() override; }; #endif diff --git a/main/displays/menus/boardcomputerhardwaresettingsmenu.cpp b/main/displays/menus/boardcomputerhardwaresettingsmenu.cpp index 4f2b0c9..9eb3e4d 100644 --- a/main/displays/menus/boardcomputerhardwaresettingsmenu.cpp +++ b/main/displays/menus/boardcomputerhardwaresettingsmenu.cpp @@ -19,6 +19,25 @@ #include "displays/menus/settingsmenu.h" namespace { +constexpr char TEXT_BOARDCOMPUTERHARDWARESETTINGS[] = "Boardcomputer H/W settings"; +constexpr char TEXT_LOCKSCREENSETTINGS[] = "Lockscreen Settings"; +constexpr char TEXT_CALIBRATE[] = "Calibrate"; +constexpr char TEXT_SAMPLECOUNT[] = "sampleCount"; +constexpr char TEXT_GASMIN[] = "gasMin"; +constexpr char TEXT_GASMAX[] = "gasMax"; +constexpr char TEXT_BREMSMIN[] = "bremsMin"; +constexpr char TEXT_BREMSMAX[] = "bremsMax"; +constexpr char TEXT_DPADDEBOUNCE[] = "dpadDebounce"; +constexpr char TEXT_GAMETRAKCALIBRATE[] = "Gametrak calibrate"; +constexpr char TEXT_SETGAMETRAKXMIN[] = "Set gametrakXMin"; +constexpr char TEXT_SETGAMETRAKXMAX[] = "Set gametrakXMax"; +constexpr char TEXT_SETGAMETRAKYMIN[] = "Set gametrakYMin"; +constexpr char TEXT_SETGAMETRAKYMAX[] = "Set gametrakYMax"; +constexpr char TEXT_SETGAMETRAKDISTMIN[] = "Set gametrakDistMin"; +constexpr char TEXT_SETGAMETRAKDISTMAX[] = "Set gametrakDistMax"; +constexpr char TEXT_TIMERS[] = "Timers"; +constexpr char TEXT_BACK[] = "Back"; + struct GasText : public virtual espgui::TextInterface { public: @@ -181,6 +200,11 @@ BoardcomputerHardwareSettingsMenu::BoardcomputerHardwareSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&icons::back>>>(); } +std::string BoardcomputerHardwareSettingsMenu::text() const +{ + return TEXT_BOARDCOMPUTERHARDWARESETTINGS; +} + void BoardcomputerHardwareSettingsMenu::back() { switchScreen(); diff --git a/main/displays/menus/boardcomputerhardwaresettingsmenu.h b/main/displays/menus/boardcomputerhardwaresettingsmenu.h index 1b5f151..3401014 100644 --- a/main/displays/menus/boardcomputerhardwaresettingsmenu.h +++ b/main/displays/menus/boardcomputerhardwaresettingsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class BoardcomputerHardwareSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class BoardcomputerHardwareSettingsMenu : public BobbyMenuDisplay { public: BoardcomputerHardwareSettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/buzzermenu.cpp b/main/displays/menus/buzzermenu.cpp index 757e0ee..4051706 100644 --- a/main/displays/menus/buzzermenu.cpp +++ b/main/displays/menus/buzzermenu.cpp @@ -15,6 +15,18 @@ #include "bobbycheckbox.h" namespace { +constexpr char TEXT_BUZZER[] = "Buzzer"; +constexpr char TEXT_FRONTFREQ[] = "Front freq"; +constexpr char TEXT_FRONTPATTERN[] = "Front pattern"; +constexpr char TEXT_BACKFREQ[] = "Back freq"; +constexpr char TEXT_BACKPATTERN[] = "Back pattern"; +constexpr char TEXT_REVERSEBEEP[] = "Reverse beep"; +constexpr char TEXT_REVERSEBEEPFREQ0[] = "Reverse beep freq0"; +constexpr char TEXT_REVERSEBEEPFREQ1[] = "Reverse beep freq1"; +constexpr char TEXT_REVERSEBEEPDURATION0[] = "Reverse beep duration0"; +constexpr char TEXT_REVERSEBEEPDURATION1[] = "Reverse beep duration1"; +constexpr char TEXT_BACK[] = "Back"; + struct FrontFreqAccessor : public espgui::RefAccessor { uint8_t &getRef() const override { return controllers.front.command.buzzer.freq; } }; using FrontFreqChangeScreen = espgui::makeComponent< BobbyChangeValueDisplay, @@ -97,6 +109,11 @@ BuzzerMenu::BuzzerMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string BuzzerMenu::text() const +{ + return TEXT_BUZZER; +} + void BuzzerMenu::back() { switchScreen(); diff --git a/main/displays/menus/buzzermenu.h b/main/displays/menus/buzzermenu.h index 525d363..cfdc0bd 100644 --- a/main/displays/menus/buzzermenu.h +++ b/main/displays/menus/buzzermenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class BuzzerMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class BuzzerMenu : public BobbyMenuDisplay { public: BuzzerMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/cloudsettingsmenu.cpp b/main/displays/menus/cloudsettingsmenu.cpp index d4e744d..d425baf 100644 --- a/main/displays/menus/cloudsettingsmenu.cpp +++ b/main/displays/menus/cloudsettingsmenu.cpp @@ -18,6 +18,12 @@ #ifdef FEATURE_CLOUD namespace { +constexpr char TEXT_CLOUDSETTINGS[] = "Cloud settings"; +constexpr char TEXT_CLOUDENABLED[] = "Cloud enabled"; +constexpr char TEXT_CLOUDTRANSMITTIMEOUT[] = "Transmit timeout"; +constexpr char TEXT_CLOUDCOLLECTRATE[] = "Cloud collect rate"; +constexpr char TEXT_CLOUDSENDRATE[] = "Cloud send rate"; +constexpr char TEXT_BACK[] = "Back"; using CloudTransmitTimeoutChangeScreen = espgui::makeComponent< BobbyChangeValueDisplay, @@ -68,6 +74,11 @@ CloudSettingsMenu::CloudSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string CloudSettingsMenu::text() const +{ + return TEXT_CLOUDSETTINGS; +} + void CloudSettingsMenu::back() { switchScreen(); diff --git a/main/displays/menus/cloudsettingsmenu.h b/main/displays/menus/cloudsettingsmenu.h index e15538c..5cb6118 100644 --- a/main/displays/menus/cloudsettingsmenu.h +++ b/main/displays/menus/cloudsettingsmenu.h @@ -2,16 +2,15 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" #ifdef FEATURE_CLOUD -class CloudSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class CloudSettingsMenu : public BobbyMenuDisplay { public: CloudSettingsMenu(); + std::string text() const override; + void back() override; }; #endif diff --git a/main/displays/menus/commanddebugmenu.h b/main/displays/menus/commanddebugmenu.h index 003a14d..9fc287d 100644 --- a/main/displays/menus/commanddebugmenu.h +++ b/main/displays/menus/commanddebugmenu.h @@ -26,10 +26,12 @@ public: constructMenuItem>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } + +private: + static constexpr char TEXT_BACK[] = "Back"; }; constexpr char TEXT_FRONTCOMMAND[] = "Front command"; -using FrontCommandDebugMenu = CommandDebugMenu; - constexpr char TEXT_BACKCOMMAND[] = "Back command"; +using FrontCommandDebugMenu = CommandDebugMenu; using BackCommandDebugMenu = CommandDebugMenu; diff --git a/main/displays/menus/controllerhardwaresettingsmenu.cpp b/main/displays/menus/controllerhardwaresettingsmenu.cpp index 4155d79..a49a3ad 100644 --- a/main/displays/menus/controllerhardwaresettingsmenu.cpp +++ b/main/displays/menus/controllerhardwaresettingsmenu.cpp @@ -19,6 +19,21 @@ #include "bobbycheckbox.h" namespace { +constexpr char TEXT_CONTROLLERHARDWARESETTINGS[] = "Controller H/W settings"; +constexpr char TEXT_WHEELDIAMETERMM[] = "Wheel diameter (mm)"; +constexpr char TEXT_WHEELDIAMETERINCH[] = "Wheel diameter (inch)"; +constexpr char TEXT_NUMMAGNETPOLES[] = "Num magnet poles"; +constexpr char TEXT_SETENABLED[] = "Set enabled"; +constexpr char TEXT_SETINVERTED[] = "Set inverted"; +constexpr char TEXT_SWAPFRONTBACK[] = "Swap front/back"; +#ifdef FEATURE_CAN +constexpr char TEXT_FRONTSENDCAN[] = "Front send CAN"; +constexpr char TEXT_BACKSENDCAN[] = "Back send CAN"; +constexpr char TEXT_CANTRANSMITTIMEOUT[] = "CanTransmitTimeout"; +constexpr char TEXT_CANRECEIVETIMEOUT[] = "CanReceiveTimeout"; +#endif +constexpr char TEXT_BACK[] = "Back"; + using WheelDiameterMmChangeScreen = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -59,10 +74,9 @@ using CanReceiveTimeoutChangeScreen = espgui::makeComponent< #endif } // namespace -using namespace espgui; - ControllerHardwareSettingsMenu::ControllerHardwareSettingsMenu() { + using namespace espgui; constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); @@ -78,7 +92,12 @@ ControllerHardwareSettingsMenu::ControllerHardwareSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string ControllerHardwareSettingsMenu::text() const +{ + return TEXT_CONTROLLERHARDWARESETTINGS; +} + void ControllerHardwareSettingsMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/controllerhardwaresettingsmenu.h b/main/displays/menus/controllerhardwaresettingsmenu.h index aeb3c2c..6cdc7bf 100644 --- a/main/displays/menus/controllerhardwaresettingsmenu.h +++ b/main/displays/menus/controllerhardwaresettingsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class ControllerHardwareSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class ControllerHardwareSettingsMenu : public BobbyMenuDisplay { public: ControllerHardwareSettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/crashmenu.cpp b/main/displays/menus/crashmenu.cpp index 8d4d74a..ddf74b0 100644 --- a/main/displays/menus/crashmenu.cpp +++ b/main/displays/menus/crashmenu.cpp @@ -1,20 +1,35 @@ #include "crashmenu.h" +// 3rdparty lib includes +#include "actions/switchscreenaction.h" +#include "icons/back.h" + // local includes #include "actions/assertaction.h" #include "actions/dividebyzeroaction.h" -#include "actions/switchscreenaction.h" #include "displays/menus/settingsmenu.h" -#include "icons/back.h" + +namespace { +constexpr char TEXT_CRASHMENU[] = "Crash Menu"; +constexpr char TEXT_CRASH_ASSERT[] = "assert(0)"; +constexpr char TEXT_CRASH_DIVZERO[] = "42 / 0"; +constexpr char TEXT_BACK[] = "Back"; +} // namespace CrashMenu::CrashMenu() { + using namespace espgui; constructMenuItem, AssertAction>>(); constructMenuItem, DivideByZeroAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string CrashMenu::text() const +{ + return TEXT_CRASHMENU; +} + void CrashMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/crashmenu.h b/main/displays/menus/crashmenu.h index eb71469..d8322ba 100644 --- a/main/displays/menus/crashmenu.h +++ b/main/displays/menus/crashmenu.h @@ -2,15 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -using namespace espgui; - -class CrashMenu : - public BobbyMenuDisplay, - public StaticText +class CrashMenu : public BobbyMenuDisplay { public: CrashMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/debugmenu.cpp b/main/displays/menus/debugmenu.cpp index bad2aa6..e20e527 100644 --- a/main/displays/menus/debugmenu.cpp +++ b/main/displays/menus/debugmenu.cpp @@ -29,7 +29,11 @@ #include "bobbycheckbox.h" namespace { -//constexpr char TEXT_DEBUG[] = "Debug"; +constexpr char TEXT_DEBUG[] = "Debug"; +constexpr char TEXT_TASKMANAGER[] = "Taskmanager"; +constexpr char TEXT_QRCODE_DEBUG[] = "QR Debug"; +constexpr char TEXT_BATTERYDEBUG[] = "Bat Debug Menu"; +constexpr char TEXT_TOGGLECLOUDDEBUG[] = "Cloud Debug"; //constexpr char TEXT_FRONTCOMMAND[] = "Front command"; //constexpr char TEXT_BACKCOMMAND[] = "Back command"; //constexpr char TEXT_FRONTLEFTCOMMAND[] = "Front left command"; @@ -46,7 +50,7 @@ constexpr char TEXT_LOADSETTINGS[] = "Load settings (old)"; constexpr char TEXT_SAVESETTINGS[] = "Save settings (old)"; constexpr char TEXT_ERASENVS[] = "Erase NVS (old)"; constexpr char TEXT_DYNAMICMENU[] = "GUI experiments"; -//constexpr char TEXT_BACK[] = "Back"; +constexpr char TEXT_BACK[] = "Back"; } // namespace DebugMenu::DebugMenu() @@ -83,6 +87,11 @@ DebugMenu::DebugMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string DebugMenu::text() const +{ + return TEXT_DEBUG; +} + void DebugMenu::back() { switchScreen(); diff --git a/main/displays/menus/debugmenu.h b/main/displays/menus/debugmenu.h index 4d08ac4..ed03a16 100644 --- a/main/displays/menus/debugmenu.h +++ b/main/displays/menus/debugmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class DebugMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class DebugMenu : public BobbyMenuDisplay { public: DebugMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/defaultmodesettingsmenu.cpp b/main/displays/menus/defaultmodesettingsmenu.cpp index 965e31f..32407b9 100644 --- a/main/displays/menus/defaultmodesettingsmenu.cpp +++ b/main/displays/menus/defaultmodesettingsmenu.cpp @@ -18,6 +18,37 @@ #include "bobbycheckbox.h" namespace { +constexpr char TEXT_DEFAULTMODESETTIGNS[] = "Default mode settings"; +constexpr char TEXT_DEFAULTMODESETTINGS[] = "Default mode settings"; +constexpr char TEXT_MODELMODE[] = "Model mode"; +constexpr char TEXT_HYBRIDMODE[] = "Hybrid mode"; +constexpr char TEXT_SQUAREGAS[] = "Square gas"; +constexpr char TEXT_SQUAREBREMS[] = "Square brems"; +constexpr char TEXT_ENABLESMOOTHINGUP[] = "Enable up smoothing"; +constexpr char TEXT_ENABLESMOOTHINGDOWN[] = "Enable down smoothing"; +constexpr char TEXT_ENABLEFWSMOOTHINGUP[] = "Enable fw up smoothing"; +constexpr char TEXT_ENABLEFWSMOOTHINGDOWN[] = "Enable fw down smoothing"; +constexpr char TEXT_FWSMOOTHING_LIMIT[] = "Fw smooth lower limit"; +constexpr char TEXT_SMOOTHINGVAL[] = "Smoothing"; +constexpr char TEXT_FRONTPERCENTAGE[] = "Front %"; +constexpr char TEXT_BACKPERCENTAGE[] = "Back %"; +constexpr char TEXT_ADDSCHWELLE[] = "Add/Sub Lim"; +constexpr char TEXT_SUBGASVAL[] = "Add Gas"; +constexpr char TEXT_SUBBRAKEVAL[] = "Add Brake"; +constexpr char TEXT_ADDGASVAL[] = "Sub Gas"; +constexpr char TEXT_ADDBRAKEVAL[] = "Sub Brake"; +constexpr char TEXT_HYBRIDENABLE[] = "Enable Hybrid mode"; +constexpr char TEXT_HYBRIDACTIVATIONLIMIT[] = "Hybrid activation-limit"; +constexpr char TEXT_HYBRIDDEACTIVATIONLIMIT[] = "Hybrid deactivation-limit"; +constexpr char TEXT_LIMITS_TO_NEAR[] = "Hybrid limits too near (>20)"; +constexpr char TEXT_HANDBREMSE_ENABLE[] = "Enable Handbremse"; +constexpr char TEXT_HANDBREMSE_AUTOMATIC[] = "Automatic Handbremse"; +constexpr char TEXT_HANDBREMSE_VISUALIZE[] = "Visualize Handbremse"; +constexpr char TEXT_HANDBREMSE_MODE[] = "Handbrems Mode"; +constexpr char TEXT_HANDBREMSE_TRIGGERTIMEOUT[] = "Handbrems Timeout"; +constexpr char TEXT_HANDBREMSE[] = "Handbremse"; +constexpr char TEXT_BACK[] = "Back"; + using DefaultModeModelModeChangeDisplay = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -141,6 +172,11 @@ DefaultModeSettingsMenu::DefaultModeSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string DefaultModeSettingsMenu::text() const +{ + return TEXT_DEFAULTMODESETTIGNS; +} + void DefaultModeSettingsMenu::back() { switchScreen(); diff --git a/main/displays/menus/defaultmodesettingsmenu.h b/main/displays/menus/defaultmodesettingsmenu.h index 555d4ed..237c453 100644 --- a/main/displays/menus/defaultmodesettingsmenu.h +++ b/main/displays/menus/defaultmodesettingsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class DefaultModeSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class DefaultModeSettingsMenu : public BobbyMenuDisplay { public: DefaultModeSettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/demosmenu.cpp b/main/displays/menus/demosmenu.cpp index 6d7c910..7fc021c 100644 --- a/main/displays/menus/demosmenu.cpp +++ b/main/displays/menus/demosmenu.cpp @@ -13,10 +13,18 @@ // local includes #include "utils.h" -using namespace espgui; +namespace { +constexpr char TEXT_DEMOS[] = "Demos"; +constexpr char TEXT_STARFIELD[] = "Starfield"; +constexpr char TEXT_PINGPONG[] = "PingPong"; +constexpr char TEXT_SPIRO[] = "Spiro"; +constexpr char TEXT_GAMEOFLIFE[] = "GameOfLife"; +constexpr char TEXT_BACK[] = "Back"; +} // namespace DemosMenu::DemosMenu() { + using namespace espgui; constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); @@ -24,7 +32,12 @@ DemosMenu::DemosMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string DemosMenu::text() const +{ + return TEXT_DEMOS; +} + void DemosMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/demosmenu.h b/main/displays/menus/demosmenu.h index 2544f9d..2ae12c6 100644 --- a/main/displays/menus/demosmenu.h +++ b/main/displays/menus/demosmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class DemosMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class DemosMenu : public BobbyMenuDisplay { public: DemosMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/dynamicdebugmenu.cpp b/main/displays/menus/dynamicdebugmenu.cpp index 085f3c1..7d7c110 100644 --- a/main/displays/menus/dynamicdebugmenu.cpp +++ b/main/displays/menus/dynamicdebugmenu.cpp @@ -19,7 +19,6 @@ #include "displays/bobbychangevaluedisplay.h" #include "utils.h" #include "icons/lock.h" -#include "texts.h" #include "bobbycheckbox.h" #include "bobbyerrorhandler.h" @@ -39,6 +38,7 @@ constexpr char TEXT_LOCKTOGGLE[] = "Lock toggle"; constexpr char TEXT_DEBUGTOGGLE[] = "Toggle"; constexpr char TEXT_DEBUGTOGGLEMENU[] = "Toggle (with menu)"; constexpr char TEXT_OPENPOPUP[] = "Open popup"; +constexpr char TEXT_BACK[] = "Back"; bool toggleLocked{}; bool toggle{}; diff --git a/main/displays/menus/enablemenu.cpp b/main/displays/menus/enablemenu.cpp index ffd9a53..3df14eb 100644 --- a/main/displays/menus/enablemenu.cpp +++ b/main/displays/menus/enablemenu.cpp @@ -9,8 +9,18 @@ #include "accessors/settingsaccessors.h" #include "bobbycheckbox.h" +namespace { +constexpr char TEXT_SETENABLED[] = "Set enabled"; +constexpr char TEXT_ENABLEFRONTLEFT[] = "Enable front left"; +constexpr char TEXT_ENABLEFRONTRIGHT[] = "Enable front right"; +constexpr char TEXT_ENABLEBACKLEFT[] = "Enable back left"; +constexpr char TEXT_ENABLEBACKRIGHT[] = "Enable back right"; +constexpr char TEXT_BACK[] = "Back"; +} // namespace + EnableMenu::EnableMenu() { + using namespace espgui; constructMenuItem, BobbyCheckbox, FrontLeftEnabledAccessor>>(); constructMenuItem, BobbyCheckbox, FrontRightEnabledAccessor>>(); constructMenuItem, BobbyCheckbox, BackLeftEnabledAccessor>>(); @@ -18,7 +28,12 @@ EnableMenu::EnableMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string EnableMenu::text() const +{ + return TEXT_SETENABLED; +} + void EnableMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/enablemenu.h b/main/displays/menus/enablemenu.h index 5736f55..0b763d9 100644 --- a/main/displays/menus/enablemenu.h +++ b/main/displays/menus/enablemenu.h @@ -2,15 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -using namespace espgui; - -class EnableMenu : - public BobbyMenuDisplay, - public StaticText +class EnableMenu : public BobbyMenuDisplay { public: EnableMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/espnowmenu.cpp b/main/displays/menus/espnowmenu.cpp index 6e4755e..aceac65 100644 --- a/main/displays/menus/espnowmenu.cpp +++ b/main/displays/menus/espnowmenu.cpp @@ -5,6 +5,12 @@ #include "actions/dummyaction.h" #include "actions/switchscreenaction.h" #include "icons/back.h" +#include +#include +#include +#include +#include +#include // local includes #include "icons/settings.h" @@ -12,22 +18,60 @@ #include "displays/menus/espnowsettingsmenu.h" #include "displays/menus/settingsmenu.h" #include "bobbycheckbox.h" +#include "espnowfunctions.h" -using namespace espgui; +namespace { +constexpr char TEXT_ESPNOW_MENU[] = "ESP-Now Menu"; +constexpr char TEXT_ESPNOW_RECEIVETS[] = "Recv Ts State"; +constexpr char TEXT_ESPNOW_RECEIVETSFROMBOBBY[] = "Recv BobbyTs State"; +constexpr char TEXT_ESPNOW_SENDTSMSG[] = "Broadcast Time"; +constexpr char TEXT_ESPNOW_SETTINGS[] = "ESP-Now settings"; +constexpr char TEXT_BACK[] = "Back"; -namespace espnowmenu { +struct ReceiveTimeStampAccessor : public espgui::RefAccessor +{ + bool &getRef() const override + { + return espnow::receiveTimeStamp; + } +}; +struct ReceiveTsFromOtherBobbycarsAccessor : public espgui::RefAccessor +{ + bool &getRef() const override + { + return espnow::receiveTsFromOtherBobbycars; + } +}; + +class SendBobbycarTimesyncMessageAction : public virtual espgui::ActionInterface +{ +public: + void triggered() override + { + const auto message = fmt::format("BOBBYT:{}", espchrono::utc_clock::now().time_since_epoch().count()); + espnow::send_espnow_message(message); + } +}; } // namespace -EspNowMenu::EspNowMenu() { - constructMenuItem, espnowmenu::SendBobbycarTimesyncMessageAction, StaticMenuItemIcon<&bobbyicons::time>>>(); - constructMenuItem, BobbyCheckbox, espnowmenu::ReceiveTimeStampAccessor>>(); - constructMenuItem, BobbyCheckbox, espnowmenu::ReceiveTsFromOtherBobbycarsAccessor>>(); +EspNowMenu::EspNowMenu() +{ + using namespace espgui; + + constructMenuItem, SendBobbycarTimesyncMessageAction, StaticMenuItemIcon<&bobbyicons::time>>>(); + constructMenuItem, BobbyCheckbox, ReceiveTimeStampAccessor>>(); + constructMenuItem, BobbyCheckbox, ReceiveTsFromOtherBobbycarsAccessor>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::settings>>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string EspNowMenu::text() const +{ + return TEXT_ESPNOW_MENU; +} + void EspNowMenu::back() { - switchScreen(); + espgui::switchScreen(); } #endif diff --git a/main/displays/menus/espnowmenu.h b/main/displays/menus/espnowmenu.h index 0129383..7ab2610 100644 --- a/main/displays/menus/espnowmenu.h +++ b/main/displays/menus/espnowmenu.h @@ -2,43 +2,16 @@ #ifdef FEATURE_ESPNOW -// 3rdparty lib includes -#include -#include -#include -#include -#include -#include -#include - // local includes #include "displays/bobbymenudisplay.h" -#include "espnowfunctions.h" -using namespace espgui; - -namespace espnowmenu { - -struct ReceiveTimeStampAccessor : public RefAccessor { bool &getRef() const override { return espnow::receiveTimeStamp; } }; -struct ReceiveTsFromOtherBobbycarsAccessor : public RefAccessor { bool &getRef() const override { return espnow::receiveTsFromOtherBobbycars; } }; - -class SendBobbycarTimesyncMessageAction : public virtual ActionInterface { -public: - void triggered() override - { - const auto message = fmt::format("BOBBYT:{}", espchrono::utc_clock::now().time_since_epoch().count()); - espnow::send_espnow_message(message); - } -}; - -} // namespace - -class EspNowMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class EspNowMenu : public BobbyMenuDisplay { public: EspNowMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/espnowsettingsmenu.cpp b/main/displays/menus/espnowsettingsmenu.cpp index 4b6a9a3..2cbc4c3 100644 --- a/main/displays/menus/espnowsettingsmenu.cpp +++ b/main/displays/menus/espnowsettingsmenu.cpp @@ -1,31 +1,49 @@ #include "espnowsettingsmenu.h" #ifdef FEATURE_ESPNOW + // 3rdparty lib includes #include "actions/dummyaction.h" #include "actions/switchscreenaction.h" #include "icons/back.h" +#include +#include +#include +#include +#include +#include // local includes #include "accessors/settingsaccessors.h" #include "icons/time.h" #include "espnowmenu.h" #include "bobbycheckbox.h" +#include "espnowfunctions.h" -using namespace espgui; - -namespace espnowsettingsmenu { +namespace { +constexpr char TEXT_ESPNOW_SETTINGS[] = "ESP-Now settings"; +constexpr char TEXT_ESPNOW_SYNCTIME[] = "Sync time (no NTP)"; +constexpr char TEXT_ESPNOW_SYNCWITHOTHERS[] = "Sync time with others"; +constexpr char TEXT_ESPNOW_SYNCBLINK[] = "Sync blink"; +constexpr char TEXT_BACK[] = "Back"; } // namespace -EspNowSettingsMenu::EspNowSettingsMenu() { +EspNowSettingsMenu::EspNowSettingsMenu() +{ + using namespace espgui; constructMenuItem, BobbyCheckbox, ESPNowSyncTimeEnabledAccessor>>(); constructMenuItem, BobbyCheckbox, ESPNowSyncTimeWithOthersEnabledAccessor>>(); constructMenuItem, BobbyCheckbox, ESPNowSyncBlinkEnabledAccessor>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string EspNowSettingsMenu::text() const +{ + return TEXT_ESPNOW_SETTINGS; +} + void EspNowSettingsMenu::back() { - switchScreen(); + espgui::switchScreen(); } #endif diff --git a/main/displays/menus/espnowsettingsmenu.h b/main/displays/menus/espnowsettingsmenu.h index 6f028de..b7fdd16 100644 --- a/main/displays/menus/espnowsettingsmenu.h +++ b/main/displays/menus/espnowsettingsmenu.h @@ -2,30 +2,16 @@ #ifdef FEATURE_ESPNOW -// 3rdparty lib includes -#include -#include -#include -#include -#include -#include -#include - // local includes #include "displays/bobbymenudisplay.h" -#include "espnowfunctions.h" -using namespace espgui; - -namespace espnowsettingsmenu { -} // namespace - -class EspNowSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class EspNowSettingsMenu : public BobbyMenuDisplay { public: EspNowSettingsMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/feedbackdebugmenu.h b/main/displays/menus/feedbackdebugmenu.h index 0f2200f..2774aa7 100644 --- a/main/displays/menus/feedbackdebugmenu.h +++ b/main/displays/menus/feedbackdebugmenu.h @@ -29,6 +29,9 @@ public: constructMenuItem, ColorInterface, DummyAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } + +private: + static constexpr char TEXT_BACK[] = "Back"; }; constexpr char TEXT_FRONTFEEDBACK[] = "Front feedback"; diff --git a/main/displays/menus/gametrakmodesettingsmenu.h b/main/displays/menus/gametrakmodesettingsmenu.h index 18464e6..ca8f329 100644 --- a/main/displays/menus/gametrakmodesettingsmenu.h +++ b/main/displays/menus/gametrakmodesettingsmenu.h @@ -6,15 +6,11 @@ #include "menuitem.h" #include "actions/switchscreenaction.h" #include "icons/back.h" -#include "texts.h" - -using namespace espgui; namespace { #ifdef FEATURE_GAMETRAK class ContainerModeSettingsMenu : public BobbyMenuDisplay, - public StaticText, public BackActionInterface> { public: @@ -22,6 +18,11 @@ public: { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } + + std::string text() const override + { + return TEXT_GAMETRAKMODESETTINGS; + } }; #endif } // namespace diff --git a/main/displays/menus/garagenmenu.cpp b/main/displays/menus/garagenmenu.cpp index 23d2719..61f6d4e 100644 --- a/main/displays/menus/garagenmenu.cpp +++ b/main/displays/menus/garagenmenu.cpp @@ -4,29 +4,66 @@ // 3rd party libs #include #include +#include +#include +#include // local includes #include "actions/switchscreenaction.h" #include "displays/menus/mainmenu.h" +#include "espnowfunctions.h" +#include "globals.h" +#include "newsettings.h" -using namespace espgui; +namespace { +constexpr char TEXT_GARAGE[] = "Garage"; +constexpr char TEXT_BACK[] = "Back"; + +class SendEspNowMessageAction : public virtual espgui::ActionInterface +{ +public: + SendEspNowMessageAction(uint8_t index) : m_index{index} {} + void triggered() override; + +private: + uint8_t m_index; +}; +} // namespace GarageMenu::GarageMenu() { + using namespace espgui; + for (uint8_t index = 0; index < configs.wireless_door_configs.size(); index++) { const auto &wirelessDoor = configs.wireless_door_configs[index]; if (wirelessDoor.doorId.value.empty() || wirelessDoor.doorToken.value.empty()) continue; - auto &menuitem = constructMenuItem>(index); + auto &menuitem = constructMenuItem>(index); menuitem.setTitle(wirelessDoor.doorId.value); } constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string GarageMenu::text() const +{ + return TEXT_GARAGE; +} + void GarageMenu::back() { - switchScreen(); + espgui::switchScreen(); } + +namespace { +void SendEspNowMessageAction:: triggered() +{ + if (const auto error = espnow::send_espnow_message(fmt::format("BOBBYOPEN:{}:{}", configs.wireless_door_configs[m_index].doorId.value, configs.wireless_door_configs[m_index].doorToken.value)); error != ESP_OK) + { + ESP_LOGE("BOBBY", "send_espnow_message() failed with: %s", esp_err_to_name(error)); + return; + } +} +} // namespace #endif diff --git a/main/displays/menus/garagenmenu.h b/main/displays/menus/garagenmenu.h index 2785da9..dfad599 100644 --- a/main/displays/menus/garagenmenu.h +++ b/main/displays/menus/garagenmenu.h @@ -1,41 +1,17 @@ #pragma once + #if defined(FEATURE_GARAGE) && defined (FEATURE_ESPNOW) -// 3rd party lib -#include -#include -#include // local includes #include "displays/bobbymenudisplay.h" -#include "espnowfunctions.h" -#include "texts.h" -#include "globals.h" -#include "newsettings.h" -namespace garagenmenu { -class SendEspNowMessageAction : public virtual espgui::ActionInterface -{ -public: - SendEspNowMessageAction(uint8_t index) : m_index{index} {} - void triggered() override - { - if (const auto error = espnow::send_espnow_message(fmt::format("BOBBYOPEN:{}:{}", configs.wireless_door_configs[m_index].doorId.value, configs.wireless_door_configs[m_index].doorToken.value)); error != ESP_OK) - { - ESP_LOGE("BOBBY", "send_espnow_message() failed with: %s", esp_err_to_name(error)); - return; - } - } -private: - uint8_t m_index; -}; -} // namespace garagenmenu - -class GarageMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class GarageMenu : public BobbyMenuDisplay { public: GarageMenu(); + + std::string text() const override; + void back() override; }; #endif diff --git a/main/displays/menus/graphsmenu.cpp b/main/displays/menus/graphsmenu.cpp index e20f2fe..871d28c 100644 --- a/main/displays/menus/graphsmenu.cpp +++ b/main/displays/menus/graphsmenu.cpp @@ -14,6 +14,24 @@ #include "displays/menus/mainmenu.h" namespace { +constexpr char TEXT_GRAPHS[] = "Graphs"; +constexpr char TEXT_GAS[] = "Gas"; +constexpr char TEXT_BREMS[] = "Brems"; +constexpr char TEXT_POTIS[] = "Potis"; +constexpr char TEXT_AVGSPEED[] = "Avg. speed"; +constexpr char TEXT_AVGSPEEDKMH[] = "Avg. speed KMH"; +constexpr char TEXT_SUMCURRENT[] = "Sum current"; +constexpr char TEXT_FRONTVOLTAGE[] = "Front voltage"; +constexpr char TEXT_BACKVOLTAGE[] = "Back voltage"; +constexpr char TEXT_VOLTAGES[] = "Voltages"; +constexpr char TEXT_BMSVOLTAGE[] = "BMS voltage"; +constexpr char TEXT_BMSCURRENT[] = "BMS current"; +constexpr char TEXT_BMSPOWER[] = "BMS power"; +constexpr char TEXT_SUMCURRENTSCOMPARISON[] = "Sum currents comparison"; +constexpr char TEXT_MOTORCURRENTS[] = "Motor currents"; +constexpr char TEXT_RSSI[] = "RSSI"; +constexpr char TEXT_BACK[] = "Back"; + using GasGraphDisplay = espgui::makeComponent< BobbyGraphDisplay<1>, espgui::StaticText, @@ -152,11 +170,9 @@ using RssiGraphDisplay = espgui::makeComponent< >; } // namespace -using namespace espgui; - - GraphsMenu::GraphsMenu() { + using namespace espgui; constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); @@ -179,7 +195,12 @@ GraphsMenu::GraphsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string GraphsMenu::text() const +{ + return TEXT_GRAPHS; +} + void GraphsMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/graphsmenu.h b/main/displays/menus/graphsmenu.h index f435cdf..03e6763 100644 --- a/main/displays/menus/graphsmenu.h +++ b/main/displays/menus/graphsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class GraphsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class GraphsMenu : public BobbyMenuDisplay { public: GraphsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/greenpassmenu.cpp b/main/displays/menus/greenpassmenu.cpp index 8cf3b5c..74fa34d 100644 --- a/main/displays/menus/greenpassmenu.cpp +++ b/main/displays/menus/greenpassmenu.cpp @@ -18,9 +18,11 @@ #include "qrimport.h" #include "bobbycheckbox.h" -using namespace espgui; - namespace { +constexpr char TEXT_GREENPASS[] = "Green Pass"; +constexpr char TEXT_ADDCERT[] = "Add cert"; +constexpr char TEXT_DELCERT[] = "Delete cert mode"; +constexpr char TEXT_BACK[] = "Back"; bool deleteMode; struct DeleteModeAccessor : espgui::RefAccessor { bool &getRef() const override { return deleteMode; } }; @@ -47,11 +49,11 @@ public: if (deleteMode) { qrimport::delete_qr_code(m_qrmenu.text); - switchScreen(); + espgui::switchScreen(); } else { - switchScreen(m_qrmenu.message, m_qrmenu.ver); + espgui::switchScreen(m_qrmenu.message, m_qrmenu.ver); } } private: @@ -62,6 +64,8 @@ private: GreenPassMenu::GreenPassMenu() { + using namespace espgui; + for (uint8_t index = 0; index < 4; index++) { const std::string nvs_key = fmt::format("covidcert-{}", index); @@ -87,7 +91,12 @@ GreenPassMenu::GreenPassMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string GreenPassMenu::text() const +{ + return TEXT_GREENPASS; +} + void GreenPassMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/greenpassmenu.h b/main/displays/menus/greenpassmenu.h index f19f622..d165f1f 100644 --- a/main/displays/menus/greenpassmenu.h +++ b/main/displays/menus/greenpassmenu.h @@ -1,19 +1,14 @@ #pragma once - -// 3rdparty lib includes -#include -#include - // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class GreenPassMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class GreenPassMenu : public BobbyMenuDisplay { public: GreenPassMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/handbremssettingsmenu.cpp b/main/displays/menus/handbremssettingsmenu.cpp index d4c9026..3c39799 100644 --- a/main/displays/menus/handbremssettingsmenu.cpp +++ b/main/displays/menus/handbremssettingsmenu.cpp @@ -12,10 +12,17 @@ #include "accessors/settingsaccessors.h" #include "changevaluedisplay_handbremsmode.h" #include "displays/menus/defaultmodesettingsmenu.h" -#include "texts.h" #include "bobbycheckbox.h" namespace { +constexpr char TEXT_HANDBREMSE_ENABLE[] = "Enable Handbremse"; +constexpr char TEXT_HANDBREMSE_AUTOMATIC[] = "Automatic Handbremse"; +constexpr char TEXT_HANDBREMSE_VISUALIZE[] = "Visualize Handbremse"; +constexpr char TEXT_HANDBREMSE_MODE[] = "Handbrems Mode"; +constexpr char TEXT_HANDBREMSE_TRIGGERTIMEOUT[] = "Handbrems Timeout"; +constexpr char TEXT_HANDBREMSE[] = "Handbremse"; +constexpr char TEXT_BACK[] = "Back"; + using HandBremsTriggerTimeoutChangeValueDisplay = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -51,6 +58,11 @@ HandbremsSettingsMenu::HandbremsSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string HandbremsSettingsMenu::text() const +{ + return TEXT_HANDBREMSE; +} + void HandbremsSettingsMenu::back() { espgui::switchScreen(); diff --git a/main/displays/menus/handbremssettingsmenu.h b/main/displays/menus/handbremssettingsmenu.h index 3ade5ec..e958296 100644 --- a/main/displays/menus/handbremssettingsmenu.h +++ b/main/displays/menus/handbremssettingsmenu.h @@ -2,13 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class HandbremsSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class HandbremsSettingsMenu : public BobbyMenuDisplay { public: HandbremsSettingsMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/invertmenu.cpp b/main/displays/menus/invertmenu.cpp index dc66527..6055768 100644 --- a/main/displays/menus/invertmenu.cpp +++ b/main/displays/menus/invertmenu.cpp @@ -9,6 +9,15 @@ #include "displays/menus/controllerhardwaresettingsmenu.h" #include "bobbycheckbox.h" +namespace { +constexpr char TEXT_SETINVERTED[] = "Set inverted"; +constexpr char TEXT_INVERTFRONTLEFT[] = "Invert front left"; +constexpr char TEXT_INVERTFRONTRIGHT[] = "Invert front right"; +constexpr char TEXT_INVERTBACKLEFT[] = "Invert back left"; +constexpr char TEXT_INVERTBACKRIGHT[] = "Invert back right"; +constexpr char TEXT_BACK[] = "Back"; +} // namespace + InvertMenu::InvertMenu() { using namespace espgui; @@ -19,6 +28,10 @@ InvertMenu::InvertMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string InvertMenu::text() const +{ + return TEXT_SETINVERTED; +} void InvertMenu::back() { diff --git a/main/displays/menus/invertmenu.h b/main/displays/menus/invertmenu.h index 430b364..c7bf50f 100644 --- a/main/displays/menus/invertmenu.h +++ b/main/displays/menus/invertmenu.h @@ -2,13 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class InvertMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class InvertMenu : public BobbyMenuDisplay { public: InvertMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/larsmmodesettingsmenu.cpp b/main/displays/menus/larsmmodesettingsmenu.cpp index 010cdaa..f3b9c78 100644 --- a/main/displays/menus/larsmmodesettingsmenu.cpp +++ b/main/displays/menus/larsmmodesettingsmenu.cpp @@ -15,6 +15,12 @@ #include "displays/menus/modessettingsmenu.h" namespace { +constexpr char TEXT_LARSMMODESETTINGS[] = "Larsm mode settings"; +constexpr char TEXT_MODELMODE[] = "Model mode"; +constexpr char TEXT_SETMODE[] = "Set mode"; +constexpr char TEXT_SETITERATIONS[] = "Set iterations"; +constexpr char TEXT_BACK[] = "Back"; + using LarsmModeModelModeChangeDisplay = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -48,6 +54,11 @@ LarsmModeSettingsMenu::LarsmModeSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string LarsmModeSettingsMenu::text() const +{ + return TEXT_LARSMMODESETTINGS; +} + void LarsmModeSettingsMenu::back() { switchScreen(); diff --git a/main/displays/menus/larsmmodesettingsmenu.h b/main/displays/menus/larsmmodesettingsmenu.h index 4bed219..797d7aa 100644 --- a/main/displays/menus/larsmmodesettingsmenu.h +++ b/main/displays/menus/larsmmodesettingsmenu.h @@ -1,17 +1,14 @@ #pragma once -// 3rdparty lib includes - // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class LarsmModeSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class LarsmModeSettingsMenu : public BobbyMenuDisplay { public: LarsmModeSettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/ledstripmenu.cpp b/main/displays/menus/ledstripmenu.cpp index bd99ae5..ed2d012 100644 --- a/main/displays/menus/ledstripmenu.cpp +++ b/main/displays/menus/ledstripmenu.cpp @@ -25,6 +25,30 @@ // clang-format off namespace { +constexpr char TEXT_LEDSTRIP[] = "Ledstrip"; +constexpr char TEXT_LEDANIMATION[] = "LED Animation"; +constexpr char TEXT_SELECTANIMATION[] = "Select Animation"; +constexpr char TEXT_BRAKELIGHTS[] = "Brake Lights"; +constexpr char TEXT_LEDSTRIPCOLORMENU[] = "Customize Ledstrip"; +constexpr char TEXT_BLINKANIMATION[] = "Blink animation"; +constexpr char TEXT_ANIMATION_TYPE[] = "Blink animation"; +constexpr char TEXT_LEDSCOUNT[] = "LEDs Count"; +constexpr char TEXT_CENTEROFFSET[] = "Center Offset"; +constexpr char TEXT_SMALLOFFSET[] = "Small Offset"; +constexpr char TEXT_BIGOFFSET[] = "Big Offset"; +constexpr char TEXT_LEDSTRIPCURRENTLIMIT[] = "Ledstrip Currentlimit"; +constexpr char TEXT_BLINKBEEP[] = "Blink Beep"; +constexpr char TEXT_FULLBLINK[] = "Full blink"; +constexpr char TEXT_LEDSTRIP_STVO[] = "Enable StVO"; +constexpr char TEXT_STVO_FRONTOFFSET[] = "StVO Front Offset"; +constexpr char TEXT_STVO_FRONTLENGTH[] = "StVO Front Length"; +constexpr char TEXT_STVO_ENABLEFRONTLIGHT[] = "StVO Front Enable"; +constexpr char TEXT_ANIMATION_MULTIPLIER[] = "Animation Multiplier"; +constexpr char TEXT_LEDSTRIP_BRIGHTNESS[] = "Ledstrip Brightness"; +constexpr char TEXT_LEDSTRIP_ALLCUSTOMOFF[] = "All custom off"; +constexpr char TEXT_LEDSTRIP_CHANGE_OTA_ANIM[] = "Change Ota animation"; +constexpr char TEXT_BACK[] = "Back"; + using LedsCountChangeScreen = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -57,10 +81,11 @@ using BigOffsetChangeScreen = espgui::makeComponent< espgui::BackActionInterface> >; -using DeziampereChangeScreen = espgui::makeComponent< - BobbyChangeValueDisplay, - espgui::StaticText, - DeziampereAccessor, +using LedStripMaxAmpereChangeScreen = espgui::makeComponent< + BobbyChangeValueDisplay, + espgui::StaticText, + LedStripMaxAmpereAccessor, + espgui::RatioNumberStep>, espgui::ConfirmActionInterface>, espgui::BackActionInterface> >; @@ -81,7 +106,7 @@ using StVOLengthChangeScreen = espgui::makeComponent< espgui::BackActionInterface> >; -using animationMultiplierChangeScreen = espgui::makeComponent< +using AnimationMultiplierChangeScreen = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, AnimationMultiplierAccessor, @@ -89,7 +114,7 @@ using animationMultiplierChangeScreen = espgui::makeComponent< espgui::BackActionInterface> >; -using ledstripBrightnessChangeScreen = espgui::makeComponent< +using LedStripBrightnessChangeScreen = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, LedstripBrightnessAccessor, @@ -102,10 +127,16 @@ class AllCustomLedsOffAction : public virtual espgui::ActionInterface public: void triggered() override { - for(int index = 0; index < 8; index++) - { - ledstrip_custom_colors[index] = CRGB{0,0,0}; - } + std::fill(std::begin(ledstrip_custom_colors), std::end(ledstrip_custom_colors), CRGB{0, 0, 0}); + } +}; + +class LedStripMaxCurrentText : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + return fmt::format("&sLedstrip max current: &f&2{:.02f}A", configs.ledStripMaxMilliamps.value / 1000.f); } }; } // namespace @@ -113,33 +144,43 @@ public: LedstripMenu::LedstripMenu() { using namespace espgui; - constructMenuItem, espgui::SwitchScreenAction>>(); - constructMenuItem, BobbyCheckbox, EnableLedAnimationAccessor>>(); + + if (!simplified) { constructMenuItem, BobbyCheckbox, EnableLedstripStVOAccessor>>(); } + constructMenuItem, BobbyCheckbox, EnableLedstripStVOFrontlight>>(); + + constructMenuItem, BobbyCheckbox, EnableLedAnimationAccessor>>(); + constructMenuItem, espgui::SwitchScreenAction>>(); + constructMenuItem, BobbyCheckbox, EnableBrakeLightsAccessor>>(); + + constructMenuItem, espgui::SwitchScreenAction>>(); + constructMenuItem, AllCustomLedsOffAction>>(); + constructMenuItem, BobbyCheckbox, EnableBeepWhenBlinkAccessor>>(); constructMenuItem, BobbyCheckbox, EnableFullBlinkAccessor>>(); - if (!simplified) { constructMenuItem, BobbyCheckbox, EnableLedstripStVOAccessor>>(); } - constructMenuItem, BobbyCheckbox, EnableLedstripStVOFrontlight>>(); - constructMenuItem, AllCustomLedsOffAction>>(); if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } - constructMenuItem, espgui::SwitchScreenAction>>(); constructMenuItem, espgui::SwitchScreenAction>>(); #ifdef FEATURE_OTA - if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } + if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } #endif - constructMenuItem, espgui::SwitchScreenAction>>(); + constructMenuItem, espgui::SwitchScreenAction>>(); if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } - if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } - if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } + if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } + if (!simplified) { constructMenuItem>>(); } constructMenuItem, espgui::SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string LedstripMenu::text() const +{ + return TEXT_LEDSTRIP; +} + void LedstripMenu::back() { espgui::switchScreen(); diff --git a/main/displays/menus/ledstripmenu.h b/main/displays/menus/ledstripmenu.h index 5644ec7..8ea46ee 100644 --- a/main/displays/menus/ledstripmenu.h +++ b/main/displays/menus/ledstripmenu.h @@ -2,16 +2,15 @@ // local includes #include "displays/menudisplaywithtime.h" -#include "texts.h" #ifdef FEATURE_LEDSTRIP -class LedstripMenu : - public bobbygui::MenuDisplayWithTime, - public espgui::StaticText +class LedstripMenu : public bobbygui::MenuDisplayWithTime { public: LedstripMenu(); + std::string text() const override; + void back() override; }; #endif diff --git a/main/displays/menus/ledstripselectanimationmenu.cpp b/main/displays/menus/ledstripselectanimationmenu.cpp index d553bff..4444707 100644 --- a/main/displays/menus/ledstripselectanimationmenu.cpp +++ b/main/displays/menus/ledstripselectanimationmenu.cpp @@ -8,10 +8,14 @@ #include "ledstripdefines.h" #include "ledstripmenu.h" -using namespace espgui; - #ifdef FEATURE_LEDSTRIP namespace { +constexpr char TEXT_SELECTANIMATION[] = "Select Animation"; +constexpr char TEXT_ANIMATION_DEFAULTRAINBOW[] = "Default Rainbow"; +constexpr char TEXT_ANIMATION_BETTERRAINBOW[] = "Better Rainbow"; +constexpr char TEXT_ANIMATION_SPEEDSYNCANIMATION[] = "Speed Sync"; +constexpr char TEXT_ANIMATION_CUSTOMCOLOR[] = "Custom Color"; +constexpr char TEXT_BACK[] = "Back"; class CurrentSelectedAnimationText : public virtual espgui::TextInterface { @@ -23,6 +27,8 @@ public: LedstripSelectAnimationMenu::LedstripSelectAnimationMenu() { + using namespace espgui; + constructMenuItem>(); constructMenuItem>(); constructMenuItem, LedStripSetAnimationAction>>(); @@ -32,9 +38,14 @@ LedstripSelectAnimationMenu::LedstripSelectAnimationMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string LedstripSelectAnimationMenu::text() const +{ + return TEXT_SELECTANIMATION; +} + void LedstripSelectAnimationMenu::back() { - switchScreen(); + espgui::switchScreen(); } namespace { diff --git a/main/displays/menus/ledstripselectanimationmenu.h b/main/displays/menus/ledstripselectanimationmenu.h index 659532d..334c25f 100644 --- a/main/displays/menus/ledstripselectanimationmenu.h +++ b/main/displays/menus/ledstripselectanimationmenu.h @@ -2,15 +2,15 @@ // Local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" #ifdef FEATURE_LEDSTRIP -class LedstripSelectAnimationMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class LedstripSelectAnimationMenu : public BobbyMenuDisplay { public: LedstripSelectAnimationMenu(); + + std::string text() const override; + void back() override; }; #endif diff --git a/main/displays/menus/ledstripselectblinkmenu.cpp b/main/displays/menus/ledstripselectblinkmenu.cpp index fbf7ab6..b72471a 100644 --- a/main/displays/menus/ledstripselectblinkmenu.cpp +++ b/main/displays/menus/ledstripselectblinkmenu.cpp @@ -11,34 +11,31 @@ #include "accessors/settingsaccessors.h" #include "actions/ledstripblinkactions.h" #include "displays/menus/ledstripmenu.h" +#include "ledstrip.h" +#include "ledstripdefines.h" #include "bobbycheckbox.h" -using namespace espgui; +namespace { +constexpr char TEXT_BLINKANIMATION[] = "Blink animation"; +constexpr char TEXT_ANIMATION_BLINKNONE[] = "Blink Off"; +constexpr char TEXT_ANIMATION_BLINKLEFT[] = "Blink Left"; +constexpr char TEXT_ANIMATION_BLINKRIGHT[] = "Blink Right"; +constexpr char TEXT_ANIMATION_BLINKBOTH[] = "Blink Both"; +constexpr char TEXT_LEDSTRIP_EN_BLINK_ANIM[] = "Animated Blink"; +constexpr char TEXT_BACK[] = "Back"; -std::string currentSelectedBlinkAnimationText::text() const { - switch (blinkAnimation) { - case LEDSTRIP_OVERWRITE_BLINKLEFT: -#ifndef LEDSTRIP_WRONG_DIRECTION - return TEXT_ANIMATION_BLINKLEFT; -#else - return TEXT_ANIMATION_BLINKRIGHT; -#endif - case LEDSTRIP_OVERWRITE_BLINKRIGHT: -#ifndef LEDSTRIP_WRONG_DIRECTION - return TEXT_ANIMATION_BLINKRIGHT; -#else - return TEXT_ANIMATION_BLINKLEFT; -#endif - case LEDSTRIP_OVERWRITE_BLINKBOTH: - return TEXT_ANIMATION_BLINKBOTH; - default: - return TEXT_ANIMATION_BLINKNONE; - } -} +class CurrentSelectedBlinkAnimationText : public virtual espgui::TextInterface +{ +public: + std::string text() const override; +}; + +} // namespace LedstripSelectBlinkMenu::LedstripSelectBlinkMenu() { - constructMenuItem>(); + using namespace espgui; + constructMenuItem>(); constructMenuItem>(); constructMenuItem, LedstripAnimationBlinkNoneAction>>(); constructMenuItem, LedstripAnimationBlinkLeftAction>>(); @@ -48,8 +45,40 @@ LedstripSelectBlinkMenu::LedstripSelectBlinkMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string LedstripSelectBlinkMenu::text() const +{ + return TEXT_BLINKANIMATION; +} + void LedstripSelectBlinkMenu::back() { - switchScreen(); + espgui::switchScreen(); } + +namespace { + +std::string CurrentSelectedBlinkAnimationText::text() const +{ + switch (blinkAnimation) + { + case LEDSTRIP_OVERWRITE_BLINKLEFT: +#ifndef LEDSTRIP_WRONG_DIRECTION + return TEXT_ANIMATION_BLINKLEFT; +#else + return TEXT_ANIMATION_BLINKRIGHT; +#endif + case LEDSTRIP_OVERWRITE_BLINKRIGHT: +#ifndef LEDSTRIP_WRONG_DIRECTION + return TEXT_ANIMATION_BLINKRIGHT; +#else + return TEXT_ANIMATION_BLINKLEFT; +#endif + case LEDSTRIP_OVERWRITE_BLINKBOTH: + return TEXT_ANIMATION_BLINKBOTH; + default: + return TEXT_ANIMATION_BLINKNONE; + } +} + +} // namespace #endif diff --git a/main/displays/menus/ledstripselectblinkmenu.h b/main/displays/menus/ledstripselectblinkmenu.h index ccfe0cf..577fc29 100644 --- a/main/displays/menus/ledstripselectblinkmenu.h +++ b/main/displays/menus/ledstripselectblinkmenu.h @@ -2,22 +2,14 @@ // Local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -#include "ledstrip.h" -#include "ledstripdefines.h" #ifdef FEATURE_LEDSTRIP -class currentSelectedBlinkAnimationText : public virtual espgui::TextInterface -{ -public: std::string text() const override; -}; - -class LedstripSelectBlinkMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class LedstripSelectBlinkMenu : public BobbyMenuDisplay { public: LedstripSelectBlinkMenu(); + + std::string text() const override; void back() override; }; #endif diff --git a/main/displays/menus/ledstripselectotamode.cpp b/main/displays/menus/ledstripselectotamode.cpp index 97ce863..42d31d6 100644 --- a/main/displays/menus/ledstripselectotamode.cpp +++ b/main/displays/menus/ledstripselectotamode.cpp @@ -1,24 +1,51 @@ #include "ledstripselectotamode.h" +// 3rdparty lib includes #include "actions/switchscreenaction.h" #include "icons/back.h" + +// local includes +#include "ledstrip.h" +#include "globals.h" +#include "utils.h" #include "ledstripmenu.h" -// Local includes - #if defined(FEATURE_LEDSTRIP) && defined(FEATURE_OTA) -using namespace espgui; +namespace { +constexpr char TEXT_BLINKANIMATION[] = "Blink animation"; +constexpr char TEXT_OTAANIM_NONE[] = "None"; +constexpr char TEXT_OTAANIM_PROGRESS[] = "Progress Bar"; +constexpr char TEXT_OTAANIM_COLOR[] = "Color change"; +constexpr char TEXT_BACK[] = "Back"; -ledstripOtaAnimationChangeMenu::ledstripOtaAnimationChangeMenu() +template +class LedstripChangeOtaAnimModeAction : public virtual espgui::ActionInterface { +public: + void triggered() override + { + settings.ledstrip.otaMode = mode; + saveSettings(); + } +}; +} // namespace + +LedstripOtaAnimationChangeMenu::LedstripOtaAnimationChangeMenu() +{ + using namespace espgui; constructMenuItem, LedstripChangeOtaAnimModeAction>>(); constructMenuItem, LedstripChangeOtaAnimModeAction>>(); constructMenuItem, LedstripChangeOtaAnimModeAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } -void ledstripOtaAnimationChangeMenu::back() +std::string LedstripOtaAnimationChangeMenu::text() const { - switchScreen(); + return TEXT_BLINKANIMATION; +} + +void LedstripOtaAnimationChangeMenu::back() +{ + espgui::switchScreen(); } #endif diff --git a/main/displays/menus/ledstripselectotamode.h b/main/displays/menus/ledstripselectotamode.h index f30238b..3bf4132 100644 --- a/main/displays/menus/ledstripselectotamode.h +++ b/main/displays/menus/ledstripselectotamode.h @@ -1,31 +1,15 @@ #pragma once -// Local includes +// local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -#include "ledstrip.h" -#include "globals.h" -#include "utils.h" #if defined(FEATURE_LEDSTRIP) && defined(FEATURE_OTA) - -template -class LedstripChangeOtaAnimModeAction : public virtual espgui::ActionInterface +class LedstripOtaAnimationChangeMenu : public BobbyMenuDisplay { public: - void triggered() override - { - settings.ledstrip.otaMode = mode; - saveSettings(); - } -}; + LedstripOtaAnimationChangeMenu(); -class ledstripOtaAnimationChangeMenu : - public BobbyMenuDisplay, - public espgui::StaticText -{ -public: - ledstripOtaAnimationChangeMenu(); + std::string text() const override; void back() override; }; #endif diff --git a/main/displays/menus/limitssettingsmenu.cpp b/main/displays/menus/limitssettingsmenu.cpp index 9c531ce..1ff5c26 100644 --- a/main/displays/menus/limitssettingsmenu.cpp +++ b/main/displays/menus/limitssettingsmenu.cpp @@ -14,6 +14,15 @@ #include "displays/menus/settingsmenu.h" namespace { +constexpr char TEXT_LIMITSSETTINGS[] = "Limit settings"; +constexpr char TEXT_IMOTMAX[] = "iMotMax"; +constexpr char TEXT_IDCMAX[] = "iDcMax"; +constexpr char TEXT_NMOTMAXKMH[] = "nMotMaxKmh"; +constexpr char TEXT_NMOTMAX[] = "nMotMax"; +constexpr char TEXT_FIELDWEAKMAX[] = "fldWkMax"; +constexpr char TEXT_PHASEADVMAX[] = "phsAdvMax"; +constexpr char TEXT_BACK[] = "Back"; + using IMotMaxChangeScreen = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -71,6 +80,11 @@ LimitsSettingsMenu::LimitsSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string LimitsSettingsMenu::text() const +{ + return TEXT_LIMITSSETTINGS; +} + void LimitsSettingsMenu::back() { switchScreen(); diff --git a/main/displays/menus/limitssettingsmenu.h b/main/displays/menus/limitssettingsmenu.h index 129a216..998cfee 100644 --- a/main/displays/menus/limitssettingsmenu.h +++ b/main/displays/menus/limitssettingsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class LimitsSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class LimitsSettingsMenu : public BobbyMenuDisplay { public: LimitsSettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/lockscreensettingsmenu.cpp b/main/displays/menus/lockscreensettingsmenu.cpp index 854e9d2..ecf97c8 100644 --- a/main/displays/menus/lockscreensettingsmenu.cpp +++ b/main/displays/menus/lockscreensettingsmenu.cpp @@ -15,6 +15,15 @@ #include "bobbycheckbox.h" namespace { +constexpr char TEXT_LOCKSCREENSETTINGS[] = "Lockscreen Settings"; +constexpr char TEXT_ALLOWPRESETSWITCH[] = "Allow preset switch"; +constexpr char TEXT_KEEPLOCKED[] = "Keep locked"; +constexpr char TEXT_PINDIGIT0[] = "PIN digit0"; +constexpr char TEXT_PINDIGIT1[] = "PIN digit1"; +constexpr char TEXT_PINDIGIT2[] = "PIN digit2"; +constexpr char TEXT_PINDIGIT3[] = "PIN digit3"; +constexpr char TEXT_BACK[] = "Back"; + using LockscreenPinDigit0ChangeScreen = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -48,10 +57,9 @@ using LockscreenPinDigit3ChangeScreen = espgui::makeComponent< >; } // namespace -using namespace espgui; - LockscreenSettingsMenu::LockscreenSettingsMenu() { + using namespace espgui; constructMenuItem, BobbyCheckbox, LockscreenAllowPresetSwitchAccessor>>(); constructMenuItem, BobbyCheckbox, LockscreenKeepLockedAccessor>>(); constructMenuItem>, SwitchScreenAction>>(); @@ -61,7 +69,12 @@ LockscreenSettingsMenu::LockscreenSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string LockscreenSettingsMenu::text() const +{ + return TEXT_LOCKSCREENSETTINGS; +} + void LockscreenSettingsMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/lockscreensettingsmenu.h b/main/displays/menus/lockscreensettingsmenu.h index 70e2338..f5054b9 100644 --- a/main/displays/menus/lockscreensettingsmenu.h +++ b/main/displays/menus/lockscreensettingsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class LockscreenSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class LockscreenSettingsMenu : public BobbyMenuDisplay { public: LockscreenSettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/mainmenu.cpp b/main/displays/menus/mainmenu.cpp index 1537d66..c22001d 100644 --- a/main/displays/menus/mainmenu.cpp +++ b/main/displays/menus/mainmenu.cpp @@ -1,5 +1,7 @@ #include "mainmenu.h" +// esp-idf includes + // 3rdparty lib includes #include "actions/switchscreenaction.h" #include "icons/back.h" @@ -52,23 +54,42 @@ #include "icons/time.h" #include "tftinstance.h" -using namespace espgui; +namespace { +constexpr char TAG[] = "BOBBY"; + +constexpr char TEXT_MAINMENU[] = "Main menu"; +constexpr char TEXT_STATUS[] = "Status"; +constexpr char TEXT_LEDSTRIP[] = "Ledstrip"; +constexpr char TEXT_STATISTICSMENU[] = "Statistics"; +constexpr char TEXT_SELECTMODE[] = "Select mode"; +constexpr char TEXT_MODESETTINGS[] = "Mode settings"; +constexpr char TEXT_PRESETS[] = "Presets"; +constexpr char TEXT_PROFILES[] = "Profiles"; +constexpr char TEXT_GRAPHS[] = "Graphs"; +constexpr char TEXT_POWERSUPPLY[] = "Powersupply"; +constexpr char TEXT_BMS[] = "BMS"; +constexpr char TEXT_SETTINGS[] = "Settings"; +constexpr char TEXT_GREENPASS[] = "Green Pass"; +constexpr char TEXT_LOCKVEHICLE[] = "Lock vehicle"; +constexpr char TEXT_MOSFETS[] = "Mosfets"; +constexpr char TEXT_DEMOS[] = "Demos"; +constexpr char TEXT_GARAGE[] = "Garage"; +constexpr char TEXT_UPDATE[] = "Update"; +constexpr char TEXT_POWEROFF[] = "Poweroff"; +constexpr char TEXT_REBOOT[] = "Reboot"; +constexpr char TEXT_DEBUG[] = "Debug"; +constexpr char TEXT_BATTERY[] = "Battery"; +constexpr char TEXT_BATTERYDEBUG[] = "Bat Debug Menu"; +constexpr char TEXT_TOGGLECLOUDDEBUG[] = "Cloud Debug"; -namespace mainmenu { -/* -class CurrentTimeText : public virtual TextInterface -{ -public: - std::string text() const override - { - return fmt::format("&7Time: {}", local_clock_string()); - } -}; -*/ } // namespace MainMenu::MainMenu() { + using namespace espgui; + + ESP_LOGI(TAG, "called"); + // constructMenuItem>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); #ifdef FEATURE_LEDSTRIP @@ -77,21 +98,8 @@ MainMenu::MainMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::statistics>>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::modes>>>(); if (SHOWITEM) { constructMenuItem, ModeSettingsAction>>(); } - if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::presets>>>(); } - if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } - if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::graph>>>(); } if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::battery>>>(); } -#if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY) - if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } -#endif -#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS) - if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::bms>>>(); } -#endif if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::settings>>>(); } -#ifdef FEATURE_MOSFETS - if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } -#endif - constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::demos>>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::greenpass>>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::lock>>>(); #if defined(FEATURE_GARAGE) && defined (FEATURE_ESPNOW) @@ -100,15 +108,33 @@ MainMenu::MainMenu() #ifdef FEATURE_OTA if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::update>>>(); } #endif + if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::graph>>>(); } +#if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY) + if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } +#endif +#ifdef FEATURE_MOSFETS + if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } +#endif +#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS) + if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::bms>>>(); } +#endif + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::demos>>>(); + if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } + if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::presets>>>(); } + if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::poweroff>>>(); constructMenuItem, RebootAction, StaticMenuItemIcon<&bobbyicons::reboot>>>(); - if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } #ifdef MAINMENU_PLUGIN GMEN1 #endif } +std::string MainMenu::text() const +{ + return TEXT_MAINMENU; +} + void MainMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/mainmenu.h b/main/displays/menus/mainmenu.h index 24feb16..58858e1 100644 --- a/main/displays/menus/mainmenu.h +++ b/main/displays/menus/mainmenu.h @@ -4,7 +4,6 @@ #include "menuitem.h" // local includes -#include "texts.h" #include "displays/menudisplaywithtime.h" #ifdef MAINMENU_PLUGIN #include MAINMENU_PLUGIN @@ -21,12 +20,14 @@ namespace { #endif } // namespace -class MainMenu : - public bobbygui::MenuDisplayWithTime, - public espgui::StaticText +class MainMenu : public bobbygui::MenuDisplayWithTime { using Base = espgui::MenuDisplay; + public: MainMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/modessettingsmenu.cpp b/main/displays/menus/modessettingsmenu.cpp index 4460ffb..239ef21 100644 --- a/main/displays/menus/modessettingsmenu.cpp +++ b/main/displays/menus/modessettingsmenu.cpp @@ -12,10 +12,18 @@ #include "displays/menus/gametrakmodesettingsmenu.h" #include "displays/menus/settingsmenu.h" -using namespace espgui; +namespace { +constexpr char TEXT_MODESSETTINGS[] = "Modes settings"; +constexpr char TEXT_DEFAULTMODESETTIGNS[] = "Default mode settings"; +constexpr char TEXT_TEMPOMATMODESETTINGS[] = "Tempomat mode settings"; +constexpr char TEXT_LARSMMODESETTINGS[] = "Larsm mode settings"; +constexpr char TEXT_GAMETRAKMODESETTINGS[] = "Gametrak mode settings"; +constexpr char TEXT_BACK[] = "Back"; +} // namespace ModesSettingsMenu::ModesSettingsMenu() { + using namespace espgui; constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); @@ -25,7 +33,12 @@ ModesSettingsMenu::ModesSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string ModesSettingsMenu::text() const +{ + return TEXT_MODESSETTINGS; +} + void ModesSettingsMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/modessettingsmenu.h b/main/displays/menus/modessettingsmenu.h index 94d3f56..fdf0e60 100644 --- a/main/displays/menus/modessettingsmenu.h +++ b/main/displays/menus/modessettingsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class ModesSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class ModesSettingsMenu : public BobbyMenuDisplay { public: ModesSettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/mosfetsmenu.cpp b/main/displays/menus/mosfetsmenu.cpp index 870c4fb..11b1c21 100644 --- a/main/displays/menus/mosfetsmenu.cpp +++ b/main/displays/menus/mosfetsmenu.cpp @@ -2,26 +2,52 @@ #ifdef FEATURE_MOSFETS // 3rdparty lib includes +#include "accessorinterface.h" #include "actions/switchscreenaction.h" #include "icons/back.h" // local includes #include "displays/menus/mainmenu.h" #include "bobbycheckbox.h" +#include "types.h" -using namespace espgui; +namespace { +constexpr char TEXT_MOSFETS[] = "Mosfets"; +constexpr char TEXT_MOSFET0[] = "Mosfet0"; +constexpr char TEXT_MOSFET1[] = "Mosfet1"; +constexpr char TEXT_MOSFET2[] = "Mosfet2"; +constexpr char TEXT_BACK[] = "Back"; + +template +class GPIOAccessor : public virtual espgui::AccessorInterface +{ +public: + bool getValue() const override { return digitalRead(PIN); } + espgui::AccessorInterface::setter_result_t setValue(bool value) override { digitalWrite(PIN, value ? HIGH : LOW); return {}; } +}; + +using Mosfet0Accessor = GPIOAccessor; +using Mosfet1Accessor = GPIOAccessor; +using Mosfet2Accessor = GPIOAccessor; +} // namespace MosfetsMenu::MosfetsMenu() { + using namespace espgui; constructMenuItem, BobbyCheckbox, Mosfet0Accessor>>(); constructMenuItem, BobbyCheckbox, Mosfet1Accessor>>(); constructMenuItem, BobbyCheckbox, Mosfet2Accessor>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string MosfetsMenu::text() const +{ + return TEXT_MOSFETS; +} + void MosfetsMenu::back() { - switchScreen(); + espgui::switchScreen(); } #endif diff --git a/main/displays/menus/mosfetsmenu.h b/main/displays/menus/mosfetsmenu.h index 2491f76..7ecb488 100644 --- a/main/displays/menus/mosfetsmenu.h +++ b/main/displays/menus/mosfetsmenu.h @@ -1,32 +1,17 @@ #pragma once #ifdef FEATURE_MOSFETS -// 3rdparty lib includes -#include "accessorinterface.h" // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -#include "types.h" -template -class GPIOAccessor : public virtual espgui::AccessorInterface -{ -public: - bool getValue() const override { return digitalRead(PIN); } - espgui::AccessorInterface::setter_result_t setValue(bool value) override { digitalWrite(PIN, value ? HIGH : LOW); return {}; } -}; - -using Mosfet0Accessor = GPIOAccessor; -using Mosfet1Accessor = GPIOAccessor; -using Mosfet2Accessor = GPIOAccessor; - -class MosfetsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class MosfetsMenu : public BobbyMenuDisplay { public: MosfetsMenu(); + + std::string text() const override; + void back() override; }; #endif diff --git a/main/displays/menus/motorfeedbackdebugmenu.h b/main/displays/menus/motorfeedbackdebugmenu.h index 98f8b7a..e879ec9 100644 --- a/main/displays/menus/motorfeedbackdebugmenu.h +++ b/main/displays/menus/motorfeedbackdebugmenu.h @@ -8,7 +8,6 @@ #include "actions/dummyaction.h" #include "actions/switchscreenaction.h" #include "icons/back.h" -#include "texts.h" #include "debugtexthelpers.h" #include "debugcolorhelpers.h" @@ -39,6 +38,9 @@ public: constructMenuItem, DummyAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } + +private: + static constexpr char TEXT_BACK[] = "Back"; }; constexpr char TEXT_FRONTLEFTFEEDBACK[] = "Front left feedback"; diff --git a/main/displays/menus/motorstatedebugmenu.h b/main/displays/menus/motorstatedebugmenu.h index 11c1960..3b8589c 100644 --- a/main/displays/menus/motorstatedebugmenu.h +++ b/main/displays/menus/motorstatedebugmenu.h @@ -35,6 +35,9 @@ public: constructMenuItem>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } + +private: + static constexpr char TEXT_BACK[] = "Back"; }; constexpr char TEXT_FRONTLEFTCOMMAND[] = "Front left command"; diff --git a/main/displays/menus/motortestmodesettingsmenu.cpp b/main/displays/menus/motortestmodesettingsmenu.cpp index ede9186..1554929 100644 --- a/main/displays/menus/motortestmodesettingsmenu.cpp +++ b/main/displays/menus/motortestmodesettingsmenu.cpp @@ -13,6 +13,11 @@ #include "displays/menus/modessettingsmenu.h" namespace { +constexpr char TEXT_MOTORTESTMODESETTINGS[] = "Motortest mode seetings"; +constexpr char TEXT_MOTORTESTMAXPWM[] = "Max Pwm"; +constexpr char TEXT_MOTORTESTMULTIPLIKATOR[] = "Acceleration"; +constexpr char TEXT_BACK[] = "Back"; + using MotortestMultiplikatorChangeDisplay = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -39,6 +44,11 @@ MotortestModeSettingsMenu::MotortestModeSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string MotortestModeSettingsMenu::text() const +{ + return TEXT_MOTORTESTMODESETTINGS; +} + void MotortestModeSettingsMenu::back() { switchScreen(); diff --git a/main/displays/menus/motortestmodesettingsmenu.h b/main/displays/menus/motortestmodesettingsmenu.h index c4f664b..5e94cae 100644 --- a/main/displays/menus/motortestmodesettingsmenu.h +++ b/main/displays/menus/motortestmodesettingsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class MotortestModeSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class MotortestModeSettingsMenu : public BobbyMenuDisplay { public: MotortestModeSettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/networksettingsmenu.cpp b/main/displays/menus/networksettingsmenu.cpp index 1b8a790..b57753c 100644 --- a/main/displays/menus/networksettingsmenu.cpp +++ b/main/displays/menus/networksettingsmenu.cpp @@ -19,7 +19,7 @@ using namespace espgui; namespace { constexpr char TEXT_STASETTINGS[] = "STA Settings"; constexpr char TEXT_APSETTINGS[] = "AP Settings"; -//constexpr char TEXT_BACK[] = "Back"; +constexpr char TEXT_BACK[] = "Back"; } // namespace NetworkSettingsMenu::NetworkSettingsMenu() diff --git a/main/displays/menus/otamenu.cpp b/main/displays/menus/otamenu.cpp index f28f478..007e6e4 100644 --- a/main/displays/menus/otamenu.cpp +++ b/main/displays/menus/otamenu.cpp @@ -16,11 +16,18 @@ #include "displays/updatedisplay.h" #ifdef FEATURE_OTA - -using namespace espgui; +namespace { +constexpr char TEXT_UPDATE[] = "Update"; +constexpr char TEXT_UPDATENOW[] = "Update now"; +constexpr char TEXT_SELECTBUILD[] = "Select build"; +constexpr char TEXT_SELECT_BRANCH[] = "Select Branch"; +constexpr char TEXT_SELECTBUILDSERVERMENU[] = "Select Buildserver"; +constexpr char TEXT_BACK[] = "Back"; +} // namespace OtaMenu::OtaMenu() { + using namespace espgui; constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::presets>>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::update>>>(); @@ -28,8 +35,13 @@ OtaMenu::OtaMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string OtaMenu::text() const +{ + return TEXT_UPDATE; +} + void OtaMenu::back() { - switchScreen(); + espgui::switchScreen(); } #endif diff --git a/main/displays/menus/otamenu.h b/main/displays/menus/otamenu.h index fdf7e4e..63ed7bc 100644 --- a/main/displays/menus/otamenu.h +++ b/main/displays/menus/otamenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class OtaMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class OtaMenu : public BobbyMenuDisplay { public: OtaMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/presetsmenu.cpp b/main/displays/menus/presetsmenu.cpp index ccbf67b..4ab1657 100644 --- a/main/displays/menus/presetsmenu.cpp +++ b/main/displays/menus/presetsmenu.cpp @@ -10,10 +10,28 @@ #include "menudisplay.h" #include "presets.h" #include "settings.h" -#include "texts.h" #include "utils.h" namespace { +constexpr char TEXT_PRESETS[] = "Presets"; +constexpr char TEXT_DEFAULTEVERYTHING[] = "Default everything"; +constexpr char TEXT_DEFAULTLIMITS[] = "Default limits"; +constexpr char TEXT_KIDSLIMITS[] = "Kids limits"; +constexpr char TEXT_DEFAULTPOTI[] = "Default poti"; +constexpr char TEXT_DEFAULTCONTROLLERHARDWARE[] = "Default controller H/W"; +constexpr char TEXT_MOSFETSOFFCONTROLLERHARDWARE[] = "MOSFETs off controller H/W"; +constexpr char TEXT_SPINNERCONTROLLERHARDWARE[] = "Spinner controller H/W"; +constexpr char TEXT_DEFAULTBOARDCOMPUTERHARDWARE[] = "Default boardcomputer H/W"; +constexpr char TEXT_DEFAULTDEFAULTMODE[] = "Default defaultMode"; +constexpr char TEXT_SINUSOIDALDEFAULTMODE[] = "Sinusoidal defaultMode"; +constexpr char TEXT_DEFAULTTEMPOMATMODE[] = "Default tempomatMode"; +constexpr char TEXT_DEFAULTLARSMMODE[] = "Default larsmMode"; +constexpr char TEXT_STREET[] = "Street"; +constexpr char TEXT_SIDEWALK[] = "Sidewalk"; +constexpr char TEXT_POLICE[] = "Police"; +constexpr char TEXT_RACE[] = "Race"; +constexpr char TEXT_BACK[] = "Back"; + class ApplyPresetAction : public virtual ActionInterface { public: @@ -86,6 +104,11 @@ PresetsMenu::PresetsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string PresetsMenu::text() const +{ + return TEXT_PRESETS; +} + void PresetsMenu::back() { switchScreen(); diff --git a/main/displays/menus/presetsmenu.h b/main/displays/menus/presetsmenu.h index c9f071d..9699c1c 100644 --- a/main/displays/menus/presetsmenu.h +++ b/main/displays/menus/presetsmenu.h @@ -2,13 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class PresetsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class PresetsMenu : public BobbyMenuDisplay { public: PresetsMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/profilesmenu.cpp b/main/displays/menus/profilesmenu.cpp index ad99a4c..6b6d08b 100644 --- a/main/displays/menus/profilesmenu.cpp +++ b/main/displays/menus/profilesmenu.cpp @@ -6,7 +6,15 @@ #include "displays/menus/mainmenu.h" #include "icons/back.h" #include "menudisplay.h" -#include "texts.h" + +namespace { +constexpr char TEXT_PROFILES[] = "Profiles"; +constexpr char TEXT_PROFILE0[] = "Profile 0"; +constexpr char TEXT_PROFILE1[] = "Profile 1"; +constexpr char TEXT_PROFILE2[] = "Profile 2"; +constexpr char TEXT_PROFILE3[] = "Profile 3"; +constexpr char TEXT_BACK[] = "Back"; +} // namespace ProfilesMenu::ProfilesMenu() { @@ -17,6 +25,11 @@ ProfilesMenu::ProfilesMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string ProfilesMenu::text() const +{ + return TEXT_PROFILES; +} + void ProfilesMenu::back() { switchScreen(); diff --git a/main/displays/menus/profilesmenu.h b/main/displays/menus/profilesmenu.h index ce57d23..fb2cd87 100644 --- a/main/displays/menus/profilesmenu.h +++ b/main/displays/menus/profilesmenu.h @@ -2,13 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class ProfilesMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class ProfilesMenu : public BobbyMenuDisplay { public: ProfilesMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/selectbatterytypemenu.cpp b/main/displays/menus/selectbatterytypemenu.cpp index 0f332b0..d3b123b 100644 --- a/main/displays/menus/selectbatterytypemenu.cpp +++ b/main/displays/menus/selectbatterytypemenu.cpp @@ -1,13 +1,44 @@ #include "selectbatterytypemenu.h" +// 3rdparty lib includes +#include +#include +#include +#include +#include + // local includes #include "battery.h" #include "globals.h" #include "utils.h" #include "displays/menus/batterymenu.h" +#include "batterymenu.h" +#include "displays/menus/mainmenu.h" namespace { -class CurrentBatteryTypeText : public virtual espgui::TextInterface { public: std::string text() const override { return getBatteryCellTypeString(); } }; +constexpr char TEXT_CELL_SERIES[] = "Cells (Series)"; +constexpr char TEXT_CELL_PARALLEL[] = "Cells (Parallel)"; +constexpr char TEXT_SELECT_CELL_TYPE[] = "Select Cell Type"; +constexpr char TEXT_CELL_TYPE[] = "Cell Type"; +constexpr char TEXT_BATTERY_CALIBRATE[] = "Calibrate Voltages"; +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"; +constexpr char TEXT_BACK[] = "Back"; + +class CurrentBatteryTypeText : public virtual espgui::TextInterface +{ +public: + std::string text() const override + { + return getBatteryCellTypeString(); + } +}; template class BatterySelectTypeAction : public virtual espgui::ActionInterface @@ -17,10 +48,9 @@ public: }; } // namespace -using namespace espgui; - BatteryTypeMenu::BatteryTypeMenu() { + using namespace espgui; constructMenuItem>(); constructMenuItem, BatterySelectTypeAction>>(); constructMenuItem, BatterySelectTypeAction>>(); @@ -30,6 +60,11 @@ BatteryTypeMenu::BatteryTypeMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string BatteryTypeMenu::text() const +{ + return TEXT_SELECT_CELL_TYPE; +} + void BatteryTypeMenu::back() { espgui::switchScreen(); diff --git a/main/displays/menus/selectbatterytypemenu.h b/main/displays/menus/selectbatterytypemenu.h index 6291f0b..cf84b49 100644 --- a/main/displays/menus/selectbatterytypemenu.h +++ b/main/displays/menus/selectbatterytypemenu.h @@ -1,23 +1,14 @@ #pragma once -// 3rdparty lib includes -#include -#include -#include -#include - // Local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -#include "batterymenu.h" -#include "displays/menus/mainmenu.h" -class BatteryTypeMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class BatteryTypeMenu : public BobbyMenuDisplay { public: BatteryTypeMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/selectbuildserverbranch.cpp b/main/displays/menus/selectbuildserverbranch.cpp index e6ffbb6..5412f84 100644 --- a/main/displays/menus/selectbuildserverbranch.cpp +++ b/main/displays/menus/selectbuildserverbranch.cpp @@ -15,15 +15,14 @@ #include "utils.h" #include "newsettings.h" -#define ERR_MESSAGE(text) \ - constructMenuItem, DefaultFont, StaticColor, DummyAction>>(); \ - constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); \ - return; - -using namespace espgui; -using namespace buildserver; - namespace { +constexpr char TEXT_OTA_NOBUILDSERVERAVAILABLE[] = "E:No server saved."; +constexpr char TEXT_OTA_NOBUILDSERVERSELECTED[] = "E:No server selected."; +constexpr char TEXT_OTA_NOCONNECTION[] = "E:No internet."; +constexpr char TEXT_SELECT_BRANCH[] = "Select Branch"; +constexpr char TEXT_SELECT_BRANCH_CLEAR[] = "Clear Branch"; +constexpr char TEXT_BACK[] = "Back"; + class CurrentBranch : public virtual espgui::TextInterface { public: @@ -83,6 +82,14 @@ void ClearBranchAction::triggered() SelectBuildserverBranchMenu::SelectBuildserverBranchMenu() { + using namespace espgui; + using namespace buildserver; + +#define ERR_MESSAGE(text) \ + constructMenuItem, DefaultFont, StaticColor, DummyAction>>(); \ + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); \ + return; + if (count_available_buildserver() < 1) { ERR_MESSAGE(TEXT_OTA_NOBUILDSERVERAVAILABLE); // E:No server saved. @@ -97,14 +104,22 @@ SelectBuildserverBranchMenu::SelectBuildserverBranchMenu() { ERR_MESSAGE(TEXT_OTA_NOCONNECTION); // E:No internet. } +#undef ERR_MESSAGE SelectBranch::setup_request(); SelectBranch::start_descriptor_request(configs.otaServerUrl.value); } +std::string SelectBuildserverBranchMenu::text() const +{ + return TEXT_SELECT_BRANCH; +} + void SelectBuildserverBranchMenu::update() { - using namespace SelectBranch; + using namespace espgui; + using namespace buildserver::SelectBranch; + if(get_request_running()) { check_descriptor_request(); @@ -138,11 +153,13 @@ void SelectBuildserverBranchMenu::update() void SelectBuildserverBranchMenu::back() { - switchScreen(); + espgui::switchScreen(); } void SelectBuildserverBranchMenu::buildMenuRequestError(std::string error) { + using namespace espgui; + auto &item = constructMenuItem, DummyAction>>(); item.setTitle(error); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); diff --git a/main/displays/menus/selectbuildserverbranch.h b/main/displays/menus/selectbuildserverbranch.h index 52b7f9a..92a4fd1 100644 --- a/main/displays/menus/selectbuildserverbranch.h +++ b/main/displays/menus/selectbuildserverbranch.h @@ -2,18 +2,17 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" #ifdef FEATURE_OTA -class SelectBuildserverBranchMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class SelectBuildserverBranchMenu : public BobbyMenuDisplay { using Base = espgui::MenuDisplay; public: SelectBuildserverBranchMenu(); + std::string text() const override; + void buildMenuRequestError(std::string error); void update() override; void back() override; diff --git a/main/displays/menus/selectbuildservermenu.cpp b/main/displays/menus/selectbuildservermenu.cpp index 31e5e67..87f6786 100644 --- a/main/displays/menus/selectbuildservermenu.cpp +++ b/main/displays/menus/selectbuildservermenu.cpp @@ -18,9 +18,12 @@ #ifdef FEATURE_OTA using namespace buildserver::SelectBuild; -using namespace espgui; namespace { +constexpr char TEXT_SELECTBUILDSERVERMENU[] = "Select Buildserver"; +constexpr char TEXT_NOBUILDSERVERCONFIGURED[] = "Not configured"; +constexpr char TEXT_BACK[] = "Back"; + class BuildserverMenuItem : public espgui::MenuItem { public: @@ -49,6 +52,8 @@ private: SelectBuildServerMenu::SelectBuildServerMenu() { + using namespace espgui; + for (const auto &otaServer : configs.otaServers) { std::string url = otaServer.url.value; @@ -70,6 +75,11 @@ SelectBuildServerMenu::SelectBuildServerMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string SelectBuildServerMenu::text() const +{ + return TEXT_SELECTBUILDSERVERMENU; +} + void SelectBuildServerMenu::back() { espgui::switchScreen(); diff --git a/main/displays/menus/selectbuildservermenu.h b/main/displays/menus/selectbuildservermenu.h index 0ce6ac3..bb84d20 100644 --- a/main/displays/menus/selectbuildservermenu.h +++ b/main/displays/menus/selectbuildservermenu.h @@ -4,17 +4,16 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" #ifdef FEATURE_OTA -class SelectBuildServerMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class SelectBuildServerMenu : public BobbyMenuDisplay { public: SelectBuildServerMenu(); + std::string text() const override; + void back() override; }; #endif diff --git a/main/displays/menus/selectmodemenu.cpp b/main/displays/menus/selectmodemenu.cpp index e6d4526..31e9053 100644 --- a/main/displays/menus/selectmodemenu.cpp +++ b/main/displays/menus/selectmodemenu.cpp @@ -19,6 +19,15 @@ #include "displays/menus/mainmenu.h" namespace { +constexpr char TEXT_SELECTMODE[] = "Select mode"; +constexpr char TEXT_DEFAULT[] = "Default"; +constexpr char TEXT_TEMPOMAT[] = "Tempomat"; +constexpr char TEXT_LARSM[] = "Larsm"; +constexpr char TEXT_REMOTECONTROL[] = "Remote control"; +constexpr char TEXT_GAMETRAK[] = "Gametrak"; +constexpr char TEXT_MOTORTEST[] = "Motortest"; +constexpr char TEXT_BACK[] = "Back"; + template class SetterAction : public espgui::ActionInterface { @@ -50,6 +59,11 @@ SelectModeMenu::SelectModeMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string SelectModeMenu::text() const +{ + return TEXT_SELECTMODE; +} + void SelectModeMenu::start() { Base::start(); diff --git a/main/displays/menus/selectmodemenu.h b/main/displays/menus/selectmodemenu.h index bd2071b..73d6c50 100644 --- a/main/displays/menus/selectmodemenu.h +++ b/main/displays/menus/selectmodemenu.h @@ -2,17 +2,16 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class SelectModeMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class SelectModeMenu : public BobbyMenuDisplay { using Base = BobbyMenuDisplay; public: SelectModeMenu(); + std::string text() const override; + void start() override; void back() override; }; diff --git a/main/displays/menus/selectotabuildmenu.cpp b/main/displays/menus/selectotabuildmenu.cpp index a908c3c..7853c76 100644 --- a/main/displays/menus/selectotabuildmenu.cpp +++ b/main/displays/menus/selectotabuildmenu.cpp @@ -22,6 +22,14 @@ using namespace espgui; using namespace buildserver::SelectBuild; namespace { +constexpr char TEXT_UPDATENOW[] = "Update now"; +constexpr char TEXT_SELECTBUILD[] = "Select build"; +constexpr char TEXT_OTA_NOBUILDSERVERAVAILABLE[] = "E:No server saved."; +constexpr char TEXT_OTA_NOBUILDSERVERSELECTED[] = "E:No server selected."; +constexpr char TEXT_OTA_NOCONNECTION[] = "E:No internet."; +constexpr char TEXT_OTA_WAITFORRESPONSE[] = "Wait for response..."; +constexpr char TEXT_BACK[] = "Back"; + template class VersionMenuItem : public MenuItem { @@ -89,6 +97,11 @@ SelectBuildMenu::SelectBuildMenu() } } +std::string SelectBuildMenu::text() const +{ + return TEXT_SELECTBUILD; +} + void SelectBuildMenu::update() { if(get_request_running()) diff --git a/main/displays/menus/selectotabuildmenu.h b/main/displays/menus/selectotabuildmenu.h index 23d23f2..4eedc55 100644 --- a/main/displays/menus/selectotabuildmenu.h +++ b/main/displays/menus/selectotabuildmenu.h @@ -2,18 +2,18 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" #ifdef FEATURE_OTA -class SelectBuildMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class SelectBuildMenu : public BobbyMenuDisplay { using Base = BobbyMenuDisplay; public: SelectBuildMenu(); + + std::string text() const override; + void update() override; void back() override; diff --git a/main/displays/menus/settingsmenu.cpp b/main/displays/menus/settingsmenu.cpp index 0fe5d60..9b5e374 100644 --- a/main/displays/menus/settingsmenu.cpp +++ b/main/displays/menus/settingsmenu.cpp @@ -44,6 +44,28 @@ #include "bobbycheckbox.h" namespace { +constexpr char TEXT_SETTINGS[] = "Settings"; +constexpr char TEXT_BACKLIGHT[] = "Backlight"; +constexpr char TEXT_LIMITSSETTINGS[] = "Limits settings"; +constexpr char TEXT_NETWORKSETTINGS[] = "Network settings"; +constexpr char TEXT_ESPNOW[] = "ESPNOW settings"; +constexpr char TEXT_BLUETOOTHSETTINGS[] = "Bluetooth settings"; +constexpr char TEXT_BLESETTINGS[] = "BLE settings"; +constexpr char TEXT_CLOUDSETTINGS[] = "Cloud settings"; +constexpr char TEXT_UDPCLOUDSETTINGS[] = "UDP Cloud settings"; +constexpr char TEXT_SELECTBUILDSERVERMENU[] = "Select Buildserver"; +constexpr char TEXT_TIME[] = "Time"; +constexpr char TEXT_MODESSETTINGS[] = "Modes settings"; +constexpr char TEXT_CONTROLLERHARDWARESETTINGS[] = "Controller H/W settings"; +constexpr char TEXT_BOARDCOMPUTERHARDWARESETTINGS[] = "Boardcomputer H/W settings"; +constexpr char TEXT_AUTOCONNECTBMS[] = "Auto connect BMS"; +constexpr char TEXT_BUZZER[] = "Buzzer"; +constexpr char TEXT_FRONTLED[] = "Front LED"; +constexpr char TEXT_BACKLED[] = "Back LED"; +constexpr char TEXT_CRASHMENU[] = "Crash Menu"; +constexpr char TEXT_ABOUT[] = "About"; +constexpr char TEXT_BACK[] = "Back"; + #ifdef FEATURE_LEDBACKLIGHT struct BacklightAccessor : public virtual espgui::AccessorInterface { @@ -99,6 +121,11 @@ SettingsMenu::SettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string SettingsMenu::text() const +{ + return TEXT_SETTINGS; +} + void SettingsMenu::back() { switchScreen(); diff --git a/main/displays/menus/settingsmenu.h b/main/displays/menus/settingsmenu.h index 7549144..436efce 100644 --- a/main/displays/menus/settingsmenu.h +++ b/main/displays/menus/settingsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/menudisplaywithtime.h" -#include "texts.h" -class SettingsMenu : - public bobbygui::MenuDisplayWithTime, - public espgui::StaticText +class SettingsMenu : public bobbygui::MenuDisplayWithTime { public: SettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/statisticsmenu.cpp b/main/displays/menus/statisticsmenu.cpp index 4852ad0..44b0c90 100644 --- a/main/displays/menus/statisticsmenu.cpp +++ b/main/displays/menus/statisticsmenu.cpp @@ -1,18 +1,27 @@ #include "statisticsmenu.h" -// local includes -#include "mainmenu.h" +// 3rdparty lib includes +#include #include "actions/dummyaction.h" #include "actions/switchscreenaction.h" #include "actioninterface.h" #include "fmt/core.h" -#include "utils.h" #include "icons/back.h" + +// local includes +#include "mainmenu.h" +#include "utils.h" #include "icons/time.h" #include "icons/reboot.h" #include "icons/update.h" #include "drivingstatistics.h" +namespace { +constexpr char TEXT_STATISTICSMENU[] = "Statistics"; +constexpr char TEXT_STATSSAVE[] = "Save kilometers"; +constexpr char TEXT_STATSCLEAR[] = "Clear current km"; +constexpr char TEXT_BACK[] = "Back"; + class WhPerKmText : public virtual espgui::TextInterface { public: @@ -147,28 +156,33 @@ public: drivingStatistics.batteryWhEstimate = 0; } }; - -using namespace espgui; +} // namespace StatisticsMenu::StatisticsMenu() { - constructMenuItem>(); - constructMenuItem>>(); - constructMenuItem>(); - constructMenuItem>(); - constructMenuItem>(); - constructMenuItem>(); -// constructMenuItem>(); - constructMenuItem>(); - constructMenuItem>(); - constructMenuItem>(); - constructMenuItem>(); - constructMenuItem, SaveKilometersAction, StaticMenuItemIcon<&bobbyicons::update>>>(); - constructMenuItem, ClearCurrentStatsAction, StaticMenuItemIcon<&bobbyicons::reboot>>>(); - constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); + using namespace espgui; + constructMenuItem>(); + constructMenuItem>>(); + constructMenuItem>(); + constructMenuItem>(); + constructMenuItem>(); + constructMenuItem>(); +// constructMenuItem>(); + constructMenuItem>(); + constructMenuItem>(); + constructMenuItem>(); + constructMenuItem>(); + constructMenuItem, SaveKilometersAction, StaticMenuItemIcon<&bobbyicons::update>>>(); + constructMenuItem, ClearCurrentStatsAction, StaticMenuItemIcon<&bobbyicons::reboot>>>(); + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); +} + +std::string StatisticsMenu::text() const +{ + return TEXT_STATISTICSMENU; } void StatisticsMenu::back() { - switchScreen(); + espgui::switchScreen(); } diff --git a/main/displays/menus/statisticsmenu.h b/main/displays/menus/statisticsmenu.h index be81dab..fd5b59d 100644 --- a/main/displays/menus/statisticsmenu.h +++ b/main/displays/menus/statisticsmenu.h @@ -1,18 +1,14 @@ #pragma once -// 3rdparty lib includes -#include - // Local includes #include "displays/menudisplaywithtime.h" -#include "texts.h" -class StatisticsMenu : - public bobbygui::MenuDisplayWithTime, - public espgui::StaticText +class StatisticsMenu : public bobbygui::MenuDisplayWithTime { public: StatisticsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/taskmanagermenu.cpp b/main/displays/menus/taskmanagermenu.cpp index 5d44948..998d01d 100644 --- a/main/displays/menus/taskmanagermenu.cpp +++ b/main/displays/menus/taskmanagermenu.cpp @@ -14,6 +14,8 @@ using namespace espgui; namespace { +constexpr char TEXT_TASKMANAGER[] = "Taskmanager"; +constexpr char TEXT_BACK[] = "Back"; class TaskText : public virtual espgui::TextInterface { @@ -38,6 +40,11 @@ TaskmanagerMenu::TaskmanagerMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string TaskmanagerMenu::text() const +{ + return TEXT_TASKMANAGER; +} + void TaskmanagerMenu::back() { switchScreen(); diff --git a/main/displays/menus/taskmanagermenu.h b/main/displays/menus/taskmanagermenu.h index e1d8b84..59facf4 100644 --- a/main/displays/menus/taskmanagermenu.h +++ b/main/displays/menus/taskmanagermenu.h @@ -2,13 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class TaskmanagerMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class TaskmanagerMenu : public BobbyMenuDisplay { public: TaskmanagerMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/tempomatmodesettingsmenu.cpp b/main/displays/menus/tempomatmodesettingsmenu.cpp index 441f2cc..960c75c 100644 --- a/main/displays/menus/tempomatmodesettingsmenu.cpp +++ b/main/displays/menus/tempomatmodesettingsmenu.cpp @@ -17,6 +17,12 @@ #include "displays/menus/modessettingsmenu.h" namespace { +constexpr char TEXT_TEMPOMATMODESETTINGS[] = "Tempomat mode settings"; +constexpr char TEXT_APPLY[] = "Apply"; +constexpr char TEXT_NCRUISEMOTTGT[] = "nCruiseMotTgt"; +constexpr char TEXT_MODELMODE[] = "Model mode"; +constexpr char TEXT_BACK[] = "Back"; + using TempomatModeCruiseMotTgtChangeDisplay = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -44,6 +50,11 @@ TempomatModeSettingsMenu::TempomatModeSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string TempomatModeSettingsMenu::text() const +{ + return TEXT_TEMPOMATMODESETTINGS; +} + void TempomatModeSettingsMenu::back() { switchScreen(); diff --git a/main/displays/menus/tempomatmodesettingsmenu.h b/main/displays/menus/tempomatmodesettingsmenu.h index 6d02a92..9b14d60 100644 --- a/main/displays/menus/tempomatmodesettingsmenu.h +++ b/main/displays/menus/tempomatmodesettingsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class TempomatModeSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class TempomatModeSettingsMenu : public BobbyMenuDisplay { public: TempomatModeSettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/timersmenu.cpp b/main/displays/menus/timersmenu.cpp index 16d3d43..86c7c9d 100644 --- a/main/displays/menus/timersmenu.cpp +++ b/main/displays/menus/timersmenu.cpp @@ -9,9 +9,12 @@ #include "displays/bobbychangevaluedisplay.h" #include "accessors/settingsaccessors.h" #include "displays/menus/boardcomputerhardwaresettingsmenu.h" -#include "texts.h" namespace { +constexpr char TEXT_TIMERS[] = "Timers"; +constexpr char TEXT_STATSUPDATERATE[] = "Stats update rate"; +constexpr char TEXT_BACK[] = "Back"; + using StatsUpdateRateChangeDisplay = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -19,7 +22,7 @@ using StatsUpdateRateChangeDisplay = espgui::makeComponent< espgui::ConfirmActionInterface>, espgui::BackActionInterface> >; -} +} // namespace TimersMenu::TimersMenu() { @@ -28,6 +31,11 @@ TimersMenu::TimersMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string TimersMenu::text() const +{ + return TEXT_TIMERS; +} + void TimersMenu::back() { espgui::switchScreen(); diff --git a/main/displays/menus/timersmenu.h b/main/displays/menus/timersmenu.h index 8b3d156..f3a08e0 100644 --- a/main/displays/menus/timersmenu.h +++ b/main/displays/menus/timersmenu.h @@ -2,13 +2,13 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" -class TimersMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class TimersMenu : public BobbyMenuDisplay { public: TimersMenu(); + + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/timesettingsmenu.cpp b/main/displays/menus/timesettingsmenu.cpp index 0ab0a04..1a44506 100644 --- a/main/displays/menus/timesettingsmenu.cpp +++ b/main/displays/menus/timesettingsmenu.cpp @@ -21,6 +21,15 @@ #include "bobbycheckbox.h" namespace { +constexpr char TEXT_TIME[] = "Time"; +constexpr char TEXT_OFFSET[] = "Offset"; +constexpr char TEXT_DAYLIGHTSAVINGMODE[] = "Daylight Saving"; +constexpr char TEXT_NTPENABLED[] = "NTP Enabled"; +constexpr char TEXT_NTPSERVER[] = "NTP Server"; +constexpr char TEXT_NTPMODE[] = "NTP Mode"; +constexpr char TEXT_NTPINTERVAL[] = "NTP Interval"; +constexpr char TEXT_BACK[] = "Back"; + class CurrentUtcDateTimeText : public virtual espgui::TextInterface { public: @@ -105,6 +114,11 @@ TimeSettingsMenu::TimeSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string TimeSettingsMenu::text() const +{ + return TEXT_TIME; +} + void TimeSettingsMenu::back() { switchScreen(); diff --git a/main/displays/menus/timesettingsmenu.h b/main/displays/menus/timesettingsmenu.h index 91aa018..764825f 100644 --- a/main/displays/menus/timesettingsmenu.h +++ b/main/displays/menus/timesettingsmenu.h @@ -2,14 +2,13 @@ // local includes #include "displays/menudisplaywithtime.h" -#include "texts.h" -class TimeSettingsMenu : - public bobbygui::MenuDisplayWithTime, - public espgui::StaticText +class TimeSettingsMenu : public bobbygui::MenuDisplayWithTime { public: TimeSettingsMenu(); + std::string text() const override; + void back() override; }; diff --git a/main/displays/menus/udpcloudsettingsmenu.cpp b/main/displays/menus/udpcloudsettingsmenu.cpp index 3e72142..1e8a32b 100644 --- a/main/displays/menus/udpcloudsettingsmenu.cpp +++ b/main/displays/menus/udpcloudsettingsmenu.cpp @@ -16,6 +16,12 @@ #ifdef FEATURE_UDPCLOUD namespace { +constexpr char TEXT_UDPCLOUDSETTINGS[] = "UDP Cloud settings"; +constexpr char TEXT_UDPCLOUDENABLED[] = "Udp Cloud enabled"; +constexpr char TEXT_UDPSENDRATE[] = "Udp send rate"; +constexpr char TEXT_UDPUSESTRING[] = "Udp use std::string"; +constexpr char TEXT_BACK[] = "Back"; + using UdpCloudSendRateChangeDisplay = espgui::makeComponent< BobbyChangeValueDisplay, espgui::StaticText, @@ -35,6 +41,11 @@ UdpCloudSettingsMenu::UdpCloudSettingsMenu() constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } +std::string UdpCloudSettingsMenu::text() const +{ + return TEXT_UDPCLOUDSETTINGS; +} + void UdpCloudSettingsMenu::back() { switchScreen(); diff --git a/main/displays/menus/udpcloudsettingsmenu.h b/main/displays/menus/udpcloudsettingsmenu.h index 6f9adb8..b5698a6 100644 --- a/main/displays/menus/udpcloudsettingsmenu.h +++ b/main/displays/menus/udpcloudsettingsmenu.h @@ -2,16 +2,15 @@ // local includes #include "displays/bobbymenudisplay.h" -#include "texts.h" #ifdef FEATURE_UDPCLOUD -class UdpCloudSettingsMenu : - public BobbyMenuDisplay, - public espgui::StaticText +class UdpCloudSettingsMenu : public BobbyMenuDisplay { public: UdpCloudSettingsMenu(); + std::string text() const override; + void back() override; }; #endif diff --git a/main/displays/poweroffdisplay.cpp b/main/displays/poweroffdisplay.cpp index 7093bd3..80266c6 100644 --- a/main/displays/poweroffdisplay.cpp +++ b/main/displays/poweroffdisplay.cpp @@ -7,7 +7,6 @@ // local includes #include "utils.h" #include "globals.h" -#include "texts.h" #include "displays/menus/mainmenu.h" using namespace std::chrono_literals; @@ -29,7 +28,7 @@ void PoweroffDisplay::initScreen() espgui::tft.fillScreen(TFT_BLACK); espgui::tft.setTextColor(TFT_YELLOW); - espgui::tft.drawString(TEXT_POWEROFF, 5, 5, 4); + espgui::tft.drawString("Poweroff", 5, 5, 4); espgui::tft.fillRect(0, 34, espgui::tft.width(), 3, TFT_WHITE); diff --git a/main/displays/statusdisplay.cpp b/main/displays/statusdisplay.cpp index a2f69c0..bf00284 100644 --- a/main/displays/statusdisplay.cpp +++ b/main/displays/statusdisplay.cpp @@ -26,6 +26,11 @@ namespace { constexpr const char * const TAG = "STATUS"; } // namespace +StatusDisplay::~StatusDisplay() +{ + ESP_LOGI(TAG, "called"); +} + void StatusDisplay::initScreen() { Base::initScreen(); @@ -182,6 +187,13 @@ clearIp: m_labelProfile.redraw(profile ? std::to_string(*profile) : "-"); } +void StatusDisplay::stop() +{ + Base::stop(); + + ESP_LOGI(TAG, "called"); +} + void StatusDisplay::buttonPressed(espgui::Button button) { Base::buttonPressed(button); diff --git a/main/displays/statusdisplay.h b/main/displays/statusdisplay.h index e810b0d..b6a3acd 100644 --- a/main/displays/statusdisplay.h +++ b/main/displays/statusdisplay.h @@ -22,8 +22,11 @@ class StatusDisplay : public BobbyDisplay using Base = BobbyDisplay; public: + ~StatusDisplay() override; + void initScreen() override; void redraw() override; + void stop() override; void buttonPressed(espgui::Button button) override; diff --git a/main/displays/updatedisplay.cpp b/main/displays/updatedisplay.cpp index 808a9c8..9ab6075 100644 --- a/main/displays/updatedisplay.cpp +++ b/main/displays/updatedisplay.cpp @@ -17,7 +17,6 @@ // local includes #include "globals.h" -#include "texts.h" #include "ota.h" #include "displays/menus/otamenu.h" #include "newsettings.h" @@ -30,7 +29,7 @@ void UpdateDisplay::initScreen() espgui::tft.setTextFont(4); espgui::tft.setTextColor(TFT_YELLOW); - espgui::tft.drawString(TEXT_UPDATE, 5, 5, 4); + espgui::tft.drawString("Update", 5, 5, 4); espgui::tft.fillRect(0, 34, espgui::tft.width(), 3, TFT_WHITE); diff --git a/main/ledstrip.cpp b/main/ledstrip.cpp index 298210f..ace5d5f 100644 --- a/main/ledstrip.cpp +++ b/main/ledstrip.cpp @@ -9,6 +9,7 @@ #include "ledstripdefines.h" #include "utils.h" #include "ota.h" +#include "newsettings.h" using namespace std::chrono_literals; @@ -206,7 +207,7 @@ void updateLedStrip() } } - FastLED.setMaxPowerInVoltsAndMilliamps(5,settings.ledstrip.deziampere * 100); + FastLED.setMaxPowerInVoltsAndMilliamps(5, configs.ledStripMaxMilliamps.value); FastLED.setBrightness(settings.ledstrip.brightness); FastLED.show(); } diff --git a/main/newsettings.h b/main/newsettings.h index ccc0b3c..fdbe435 100644 --- a/main/newsettings.h +++ b/main/newsettings.h @@ -176,6 +176,8 @@ public: ConfigWrapper dns_announce_key {std::string{}, DoReset, {}, "dnsAnnounceKey" }; ConfigWrapper webserverPassword {std::string{}, DoReset, {}, "websPassword" }; + ConfigWrapper ledStripMaxMilliamps {3000, DoReset, {}, "ledMaxMilliamps" }; + #define NEW_SETTINGS(x) \ x(baseMacAddressOverride) \ x(hostname) \ @@ -361,7 +363,9 @@ public: \ x(dns_announce_enabled) \ x(dns_announce_key) \ - // x(webserverPassword) + x(webserverPassword) \ + \ + //x(ledStripMaxMilliamps) template void callForEveryConfig(T &&callback) @@ -369,7 +373,7 @@ public: #define HELPER(x) callback(x); NEW_SETTINGS(HELPER) #undef HELPER - callback(webserverPassword); + callback(ledStripMaxMilliamps); } auto getAllConfigParams() @@ -378,7 +382,7 @@ public: #define HELPER(x) std::ref(x), NEW_SETTINGS(HELPER) #undef HELPER - std::ref(webserverPassword) + std::ref(ledStripMaxMilliamps) ); } }; diff --git a/main/presets.h b/main/presets.h index 19906d7..11e5c7f 100644 --- a/main/presets.h +++ b/main/presets.h @@ -219,7 +219,6 @@ constexpr Settings::Ledstrip defaultLedstrip { .centerOffset = 1, .smallOffset = 4, .bigOffset = 10, - .deziampere = 30, .enableBeepWhenBlink = false, #ifdef LEDSTRIP_ANIMATION_DEFAULT .animationType = LEDSTRIP_ANIMATION_DEFAULT, diff --git a/main/settings.h b/main/settings.h index c44382b..530cc2b 100644 --- a/main/settings.h +++ b/main/settings.h @@ -143,7 +143,6 @@ struct Settings int16_t centerOffset; int16_t smallOffset; int16_t bigOffset; - int16_t deziampere; bool enableBeepWhenBlink; int16_t animationType; bool enableFullBlink; @@ -274,7 +273,6 @@ void Settings::executeForEveryCommonSetting(T &&callable) callable("centerOffset", ledstrip.centerOffset); callable("smallOffset", ledstrip.smallOffset); callable("bigOffset", ledstrip.bigOffset); - callable("deziampere", ledstrip.deziampere); callable("beeppwhenblink", ledstrip.enableBeepWhenBlink); // callable("animationType", ledstrip.animationType); callable("fullblink", ledstrip.enableFullBlink); diff --git a/main/texts.cpp b/main/texts.cpp deleted file mode 100644 index f65a9c0..0000000 --- a/main/texts.cpp +++ /dev/null @@ -1,482 +0,0 @@ -#include "texts.h" -namespace bobbytexts { -//AboutMenu -char TEXT_ABOUT[] = "About"; -char TEXT_BACK[] = "Back"; - -//AccessPointWifiSettingsMenu -char TEXT_ACCESSPOINTWIFISETTINGS[] = "Access Point WiFi settings"; -char TEXT_WIFIAPENABLED[] = "AP enabled"; -char TEXT_RESEND_DNS[] = "Resend DNS"; -//char TEXT_BACK[] = "Back"; - -#ifdef TEXTS_PLUGIN -#include TEXTS_PLUGIN -#endif - -#ifdef FEATURE_BLUETOOTH -//BluetoothSettingsMenu -char TEXT_BLUETOOTHSETTINGS[] = "Bluetooth settings"; -char TEXT_BLUETOOTHBEGIN[] = "begin()"; -char TEXT_BLUETOOTHBEGINMASTER[] = "begin() Master"; -char TEXT_BLUETOOTHFLUSH[] = "flush()"; -char TEXT_BLUETOOTHEND[] = "end()"; -char TEXT_BLUETOOTHDISCONNECT[] = "disconnect()"; -char TEXT_AUTOBLUETOOTHMODE[] = "Auto bluetooth mode"; -//char TEXT_BACK[] = "Back"; - -//BmsMenu -#ifdef FEATURE_BMS -char TEXT_BMS[] = "BMS"; -char TEXT_CONNECTBMS[] = "Connect BMS"; -char TEXT_DISCONNECTBMS[] = "Disonnect BMS"; -char TEXT_TURNONCHARGE[] = "Turn on charge"; -char TEXT_TURNOFFCHARGE[] = "Turn off charge"; -char TEXT_TURNONDISCHARGE[] = "Turn on discharge"; -char TEXT_TURNOFFDISCHARGE[] = "Turn off discharge"; -//char TEXT_BACK[] = "Back"; -#endif -#endif - -#ifdef FEATURE_BLE -//BleSettingsMenu -char TEXT_BLESETTINGS[] = "BLE settings"; -char TEXT_BLEENABLED[] = "BLE enabled"; -//char TEXT_BACK[] = "Back"; -#endif - -#ifdef FEATURE_CLOUD -//CloudSettingsMenu -char TEXT_CLOUDSETTINGS[] = "Cloud settings"; -char TEXT_CLOUDENABLED[] = "Cloud enabled"; -char TEXT_CLOUDTRANSMITTIMEOUT[] = "Transmit timeout"; -char TEXT_CLOUDCOLLECTRATE[] = "Cloud collect rate"; -char TEXT_CLOUDSENDRATE[] = "Cloud send rate"; -//char TEXT_BACK[] = "Back"; -#endif - -#ifdef FEATURE_UDPCLOUD -//UdpCloudSettingsMenu -char TEXT_UDPCLOUDSETTINGS[] = "UDP Cloud settings"; -char TEXT_UDPCLOUDENABLED[] = "Udp Cloud enabled"; -char TEXT_UDPSENDRATE[] = "Udp send rate"; -char TEXT_UDPUSESTRING[] = "Udp use std::string"; -//char TEXT_BACK[] = "Back"; -#endif - -//MainMenu -char TEXT_MAINMENU[] = "Main menu"; -char TEXT_STATUS[] = "Status"; -char TEXT_SELECTMODE[] = "Select mode"; -char TEXT_MODESETTINGS[] = "Mode settings"; -char TEXT_PRESETS[] = "Presets"; -char TEXT_PROFILES[] = "Profiles"; -char TEXT_GRAPHS[] = "Graphs"; -//char TEXT_BMS[] = "BMS"; -char TEXT_SETTINGS[] = "Settings"; -char TEXT_LOCKVEHICLE[] = "Lock vehicle"; -char TEXT_MOSFETS[] = "Mosfets"; -char TEXT_DEMOS[] = "Demos"; -char TEXT_GARAGE[] = "Garage"; -char TEXT_UPDATE[] = "Update"; -char TEXT_POWEROFF[] = "Poweroff"; -char TEXT_REBOOT[] = "Reboot"; -char TEXT_DEBUG[] = "Debug"; -char TEXT_BATTERY[] = "Battery"; -char TEXT_BATTERYDEBUG[] = "Bat Debug Menu"; -char TEXT_TOGGLECLOUDDEBUG[] = "Cloud Debug"; - -//BatteryMenu -char TEXT_CELL_SERIES[] = "Cells (Series)"; -char TEXT_CELL_PARALLEL[] = "Cells (Parallel)"; -char TEXT_SELECT_CELL_TYPE[] = "Select Cell Type"; -char TEXT_CELL_TYPE[] = "Cell Type"; -char TEXT_BATTERY_CALIBRATE[] = "Calibrate Voltages"; -char TEXT_BATTERY_TYPE_22P[] = "22P cells"; -char TEXT_BATTERY_TYPE_HG2[] = "HG2 cells"; -char TEXT_BATTERY_TYPE_MH1[] = "MH1 cells"; -char TEXT_BATTERY_TYPE_VTC5[] = "VTC5 cells"; -char TEXT_BATTERY_TYPE_BAK_25R[] = "BAK / 25R cells"; -char TEXT_BATTERY_WHKM[] = "Wh per km"; -char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration"; -char TEXT_VOLTAGECALIBRATION_RESET[] = "Reset calibration"; - -//CalibrateVoltageDisplay -char TEXT_VOLTAGECALIBRATION_30V[] = "Calibrate 30.0V"; -char TEXT_VOLTAGECALIBRATION_50V[] = "Calibrate 50.0V"; -char TEXT_VOLTAGECALIBRATION_VALUE_30_FRONT[] = "30V Front"; -char TEXT_VOLTAGECALIBRATION_VALUE_30_BACK[] = "30V Back"; -char TEXT_VOLTAGECALIBRATION_VALUE_50_FRONT[] = "50V Front"; -char TEXT_VOLTAGECALIBRATION_VALUE_50_BACK[] = "50V Back"; - -//SettingsMenu -//char TEXT_SETTINGS[] = "Settings"; -char TEXT_BACKLIGHT[] = "Backlight"; -char TEXT_LIMITSSETTINGS[] = "Limits settings"; -char TEXT_NETWORKSETTINGS[] = "Network settings"; -//char TEXT_BLUETOOTHSETTINGS[] = "Bluetooth settings"; -//char TEXT_BLESETTINGS[] = "BLE settings"; -//char TEXT_CLOUDSETTINGS[] = "Cloud settings"; -char TEXT_TIME[] = "Time"; -char TEXT_MODESSETTINGS[] = "Modes settings"; -char TEXT_CONTROLLERHARDWARESETTINGS[] = "Controller H/W settings"; -char TEXT_BOARDCOMPUTERHARDWARESETTINGS[] = "Boardcomputer H/W settings"; -char TEXT_AUTOCONNECTBMS[] = "Auto connect BMS"; -char TEXT_BUZZER[] = "Buzzer"; -char TEXT_FRONTLED[] = "Front LED"; -char TEXT_BACKLED[] = "Back LED"; -//char TEXT_ABOUT[] = "About"; -//char TEXT_BACK[] = "Back"; - -//ControllerHardwareSettings -//char TEXT_CONTROLLERHARDWARESETTINGS[] = "Controller H/W settings"; -char TEXT_WHEELDIAMETERMM[] = "Wheel diameter (mm)"; -char TEXT_WHEELDIAMETERINCH[] = "Wheel diameter (inch)"; -char TEXT_NUMMAGNETPOLES[] = "Num magnet poles"; -char TEXT_SETENABLED[] = "Set enabled"; -char TEXT_SETINVERTED[] = "Set inverted"; -char TEXT_SWAPFRONTBACK[] = "Swap front/back"; -#ifdef FEATURE_CAN -char TEXT_FRONTSENDCAN[] = "Front send CAN"; -char TEXT_BACKSENDCAN[] = "Back send CAN"; -char TEXT_CANTRANSMITTIMEOUT[] = "CanTransmitTimeout"; -char TEXT_CANRECEIVETIMEOUT[] = "CanReceiveTimeout"; -#endif -//char TEXT_BACK[] = "Back"; - -//StationWifiSettingsMenu -char TEXT_STATIONWIFISETTINGS[] = "Station WiFi settings"; -char TEXT_WIFISTAENABLED[] = "STA enabled"; -char TEXT_WIFITRIGGERSCAN[] = "Trigger Scan"; -char TEXT_WIFISCANRESULTS[] = "WiFi scan results"; -//char TEXT_BACK[] = "Back"; - -//DemosMenu -//char TEXT_DEMOS[] = "Demos"; -char TEXT_STARFIELD[] = "Starfield"; -char TEXT_PINGPONG[] = "PingPong"; -char TEXT_SPIRO[] = "Spiro"; -char TEXT_GAMEOFLIFE[] = "GameOfLife"; -//char TEXT_BACK[] = "Back"; - -//BuzzerMenu -//char TEXT_BUZZER[] = "Buzzer"; -char TEXT_FRONTFREQ[] = "Front freq"; -char TEXT_FRONTPATTERN[] = "Front pattern"; -char TEXT_BACKFREQ[] = "Back freq"; -char TEXT_BACKPATTERN[] = "Back pattern"; -char TEXT_REVERSEBEEP[] = "Reverse beep"; -char TEXT_REVERSEBEEPFREQ0[] = "Reverse beep freq0"; -char TEXT_REVERSEBEEPFREQ1[] = "Reverse beep freq1"; -char TEXT_REVERSEBEEPDURATION0[] = "Reverse beep duration0"; -char TEXT_REVERSEBEEPDURATION1[] = "Reverse beep duration1"; -//char TEXT_BACK[] = "Back"; - -//LimitsSettingsMenu -//char TEXT_LIMITSSETTINGS[] = "Limit settings"; -char TEXT_IMOTMAX[] = "iMotMax"; -char TEXT_IDCMAX[] = "iDcMax"; -char TEXT_NMOTMAXKMH[] = "nMotMaxKmh"; -char TEXT_NMOTMAX[] = "nMotMax"; -char TEXT_FIELDWEAKMAX[] = "fldWkMax"; -char TEXT_PHASEADVMAX[] = "phsAdvMax"; -//char TEXT_BACK[] = "Back"; - -//DefaultModeSettingsMenu -//char TEXT_DEFAULTMODESETTINGS[] = "Default mode settings"; -char TEXT_MODELMODE[] = "Model mode"; -char TEXT_HYBRIDMODE[] = "Hybrid mode"; -char TEXT_SQUAREGAS[] = "Square gas"; -char TEXT_SQUAREBREMS[] = "Square brems"; -char TEXT_ENABLESMOOTHINGUP[] = "Enable up smoothing"; -char TEXT_ENABLESMOOTHINGDOWN[] = "Enable down smoothing"; -char TEXT_ENABLEFWSMOOTHINGUP[] = "Enable fw up smoothing"; -char TEXT_ENABLEFWSMOOTHINGDOWN[] = "Enable fw down smoothing"; -char TEXT_FWSMOOTHING_LIMIT[] = "Fw smooth lower limit"; -char TEXT_SMOOTHINGVAL[] = "Smoothing"; -char TEXT_FRONTPERCENTAGE[] = "Front %"; -char TEXT_BACKPERCENTAGE[] = "Back %"; -char TEXT_ADDSCHWELLE[] = "Add/Sub Lim"; -char TEXT_SUBGASVAL[] = "Add Gas"; -char TEXT_SUBBRAKEVAL[] = "Add Brake"; -char TEXT_ADDGASVAL[] = "Sub Gas"; -char TEXT_ADDBRAKEVAL[] = "Sub Brake"; -char TEXT_HYBRIDENABLE[] = "Enable Hybrid mode"; -char TEXT_HYBRIDACTIVATIONLIMIT[] = "Hybrid activation-limit"; -char TEXT_HYBRIDDEACTIVATIONLIMIT[] = "Hybrid deactivation-limit"; -char TEXT_LIMITS_TO_NEAR[] = "Hybrid limits too near (>20)"; - -char TEXT_HANDBREMSE_ENABLE[] = "Enable Handbremse"; -char TEXT_HANDBREMSE_AUTOMATIC[] = "Automatic Handbremse"; -char TEXT_HANDBREMSE_VISUALIZE[] = "Visualize Handbremse"; -char TEXT_HANDBREMSE_MODE[] = "Handbrems Mode"; -char TEXT_HANDBREMSE_TRIGGERTIMEOUT[] = "Handbrems Timeout"; -char TEXT_HANDBREMSE[] = "Handbremse"; -//char TEXT_BACK[] = "Back"; - -//EnableMenu -//char TEXT_SETENABLED[] = "Set enabled"; -char TEXT_ENABLEFRONTLEFT[] = "Enable front left"; -char TEXT_ENABLEFRONTRIGHT[] = "Enable front right"; -char TEXT_ENABLEBACKLEFT[] = "Enable back left"; -char TEXT_ENABLEBACKRIGHT[] = "Enable back right"; -//char TEXT_BACK[] = "Back"; - -//GametrakModeSettingsMenu -char TEXT_GAMETRAKMODESETTINGS[] = "Gametrak mode settings"; - -//GenericWifiSettingsMenu -char TEXT_GENERICWIFISETTINGS[] = "Generic WiFi settings"; -//char TEXT_BACK[] = "Back"; - -//GraphsMenu -//char TEXT_GRAPHS[] = "Graphs"; -char TEXT_GAS[] = "Gas"; -char TEXT_BREMS[] = "Brems"; -char TEXT_POTIS[] = "Potis"; -char TEXT_AVGSPEED[] = "Avg. speed"; -char TEXT_AVGSPEEDKMH[] = "Avg. speed KMH"; -char TEXT_SUMCURRENT[] = "Sum current"; -char TEXT_FRONTVOLTAGE[] = "Front voltage"; -char TEXT_BACKVOLTAGE[] = "Back voltage"; -char TEXT_VOLTAGES[] = "Voltages"; -char TEXT_BMSVOLTAGE[] = "BMS voltage"; -char TEXT_BMSCURRENT[] = "BMS current"; -char TEXT_BMSPOWER[] = "BMS power"; -char TEXT_SUMCURRENTSCOMPARISON[] = "Sum currents comparison"; -char TEXT_MOTORCURRENTS[] = "Motor currents"; -char TEXT_RSSI[] = "RSSI"; -//char TEXT_BACK[] = "Back"; - -//InvertMenu -//char TEXT_SETINVERTED[] = "Set inverted"; -char TEXT_INVERTFRONTLEFT[] = "Invert front left"; -char TEXT_INVERTFRONTRIGHT[] = "Invert front right"; -char TEXT_INVERTBACKLEFT[] = "Invert back left"; -char TEXT_INVERTBACKRIGHT[] = "Invert back right"; -//char TEXT_BACK[] = "Back"; - -//LarsmModeSettingsMenu -char TEXT_LARSMMODESETTINGS[] = "Larsm mode settings"; -//char TEXT_MODELMODE[] = "Model mode"; -char TEXT_SETMODE[] = "Set mode"; -char TEXT_SETITERATIONS[] = "Set iterations"; -//char TEXT_BACK[] = "Back"; - -//MotortestModeSettingsMenu -char TEXT_MOTORTESTMODESETTINGS[] = "Motortest mode seetings"; -char TEXT_MOTORTESTMAXPWM[] = "Max Pwm"; -char TEXT_MOTORTESTMULTIPLIKATOR[] = "Acceleration"; - -//LedstripMenu -char TEXT_LEDSTRIP[] = "Ledstrip"; -char TEXT_LEDANIMATION[] = "LED Animation"; -char TEXT_BRAKELIGHTS[] = "Brake Lights"; -char TEXT_BLINKANIMATION[] = "Blink animation"; -char TEXT_ANIMATION_TYPE[] = "Blink animation"; -char TEXT_LEDSCOUNT[] = "LEDs Count"; -char TEXT_CENTEROFFSET[] = "Center Offset"; -char TEXT_SMALLOFFSET[] = "Small Offset"; -char TEXT_BIGOFFSET[] = "Big Offset"; -char TEXT_LEDSTRIP_MILLIAMP[] = "Ledstrip 0.1A"; -char TEXT_BLINKBEEP[] = "Blink Beep"; -char TEXT_FULLBLINK[] = "Full blink"; -char TEXT_LEDSTRIP_STVO[] = "Enable StVO"; -char TEXT_STVO_FRONTOFFSET[] = "StVO Front Offset"; -char TEXT_STVO_FRONTLENGTH[] = "StVO Front Length"; -char TEXT_STVO_ENABLEFRONTLIGHT[] = "StVO Front Enable"; -char TEXT_ANIMATION_MULTIPLIER[] = "Animation Multiplier"; -char TEXT_LEDSTRIP_BRIGHTNESS[] = "Ledstrip Brightness"; -char TEXT_LEDSTRIP_ALLCUSTOMOFF[] = "All custom off"; -char TEXT_LEDSTRIP_EN_BLINK_ANIM[] = "Animated Blink"; -char TEXT_LEDSTRIP_CHANGE_OTA_ANIM[] = "Change Ota animation"; - -char TEXT_OTAANIM_NONE[] = "None"; -char TEXT_OTAANIM_PROGRESS[] = "Progress Bar"; -char TEXT_OTAANIM_COLOR[] = "Color change"; -//char TEXT_BACK[] = "Back"; - -//LedstripSelectAnimationMenu -char TEXT_SELECTANIMATION[] = "Select Animation"; -char TEXT_ANIMATION_DEFAULTRAINBOW[] = "Default Rainbow"; -char TEXT_ANIMATION_BETTERRAINBOW[] = "Better Rainbow"; -char TEXT_ANIMATION_SPEEDSYNCANIMATION[] = "Speed Sync"; -char TEXT_ANIMATION_CUSTOMCOLOR[] = "Custom Color"; - -//LedstripSelectBlinkMenu -char TEXT_ANIMATION_BLINKNONE[] = "Blink Off"; -char TEXT_ANIMATION_BLINKLEFT[] = "Blink Left"; -char TEXT_ANIMATION_BLINKRIGHT[] = "Blink Right"; -char TEXT_ANIMATION_BLINKBOTH[] = "Blink Both"; - -//LockscreenSettingsMenu -char TEXT_LOCKSCREENSETTINGS[] = "Lockscreen Settings"; -char TEXT_ALLOWPRESETSWITCH[] = "Allow preset switch"; -char TEXT_KEEPLOCKED[] = "Keep locked"; -char TEXT_PINDIGIT0[] = "PIN digit0"; -char TEXT_PINDIGIT1[] = "PIN digit1"; -char TEXT_PINDIGIT2[] = "PIN digit2"; -char TEXT_PINDIGIT3[] = "PIN digit3"; -//char TEXT_BACK[] = "Back"; - -//ModesSettingsMenu -//char TEXT_MODESSETTINGS[] = "Modes settings"; -char TEXT_DEFAULTMODESETTIGNS[] = "Default mode settings"; -char TEXT_TEMPOMATMODESETTINGS[] = "Tempomat mode settings"; -//char TEXT_LARSMMODESETTINGS[] = "Larsm mode settings"; -//char TEXT_GAMETRAKMODESETTINGS[] = "Gametrak mode settings"; -//char TEXT_BACK[] = "Back"; - -//MosfetsMenu -//char TEXT_MOSFETS[] = "Mosfets"; -char TEXT_MOSFET0[] = "Mosfet0"; -char TEXT_MOSFET1[] = "Mosfet1"; -char TEXT_MOSFET2[] = "Mosfet2"; - -//TempomatModeSettingsMenu -//char TEXT_TEMPOMATMODESETTINGS[] = "Tempomat mode settings"; -char TEXT_APPLY[] = "Apply"; -char TEXT_NCRUISEMOTTGT[] = "nCruiseMotTgt"; -//char TEXT_MODELMODE[] = "Model mode"; -//char TEXT_BACK[] = "Back"; - -//WiFiSettingsMenu -//char TEXT_WIFISETTINGS[] = "WiFi settings"; -//char TEXT_GENERICWIFISETTINGS[] = "Generic WiFi settings"; -//char TEXT_BACK[] = "Back"; - -//BoardcomputerHardwareSettingsMenu -//char TEXT_BOARDCOMPUTERHARDWARESETTINGS[] = "Boardcomputer H/W settings"; -//char TEXT_LOCKSCREENSETTINGS[] = "Lockscreen Settings"; -char TEXT_CALIBRATE[] = "Calibrate"; -char TEXT_SAMPLECOUNT[] = "sampleCount"; -char TEXT_GASMIN[] = "gasMin"; -char TEXT_GASMAX[] = "gasMax"; -char TEXT_BREMSMIN[] = "bremsMin"; -char TEXT_BREMSMAX[] = "bremsMax"; -char TEXT_DPADDEBOUNCE[] = "dpadDebounce"; -char TEXT_GAMETRAKCALIBRATE[] = "Gametrak calibrate"; -char TEXT_SETGAMETRAKXMIN[] = "Set gametrakXMin"; -char TEXT_SETGAMETRAKXMAX[] = "Set gametrakXMax"; -char TEXT_SETGAMETRAKYMIN[] = "Set gametrakYMin"; -char TEXT_SETGAMETRAKYMAX[] = "Set gametrakYMax"; -char TEXT_SETGAMETRAKDISTMIN[] = "Set gametrakDistMin"; -char TEXT_SETGAMETRAKDISTMAX[] = "Set gametrakDistMax"; -char TEXT_TIMERS[] = "Timers"; -//char TEXT_BACK[] = "Back"; - -//ProfilesMenu -//char TEXT_PROFILES[] = "Profiles"; -char TEXT_PROFILE0[] = "Profile 0"; -char TEXT_PROFILE1[] = "Profile 1"; -char TEXT_PROFILE2[] = "Profile 2"; -char TEXT_PROFILE3[] = "Profile 3"; -//char TEXT_BACK[] = "Back"; - -//PresetsMenu -//char TEXT_PRESETS[] = "Presets"; -char TEXT_DEFAULTEVERYTHING[] = "Default everything"; -char TEXT_DEFAULTLIMITS[] = "Default limits"; -char TEXT_KIDSLIMITS[] = "Kids limits"; -char TEXT_DEFAULTPOTI[] = "Default poti"; -char TEXT_DEFAULTCONTROLLERHARDWARE[] = "Default controller H/W"; -char TEXT_MOSFETSOFFCONTROLLERHARDWARE[] = "MOSFETs off controller H/W"; -char TEXT_SPINNERCONTROLLERHARDWARE[] = "Spinner controller H/W"; -char TEXT_DEFAULTBOARDCOMPUTERHARDWARE[] = "Default boardcomputer H/W"; -char TEXT_DEFAULTDEFAULTMODE[] = "Default defaultMode"; -char TEXT_SINUSOIDALDEFAULTMODE[] = "Sinusoidal defaultMode"; -char TEXT_DEFAULTTEMPOMATMODE[] = "Default tempomatMode"; -char TEXT_DEFAULTLARSMMODE[] = "Default larsmMode"; -char TEXT_STREET[] = "Street"; -char TEXT_SIDEWALK[] = "Sidewalk"; -char TEXT_POLICE[] = "Police"; -char TEXT_RACE[] = "Race"; - -//SelectModeMenu -//char TEXT_SELECTMODE[] = "Select mode"; -char TEXT_DEFAULT[] = "Default"; -char TEXT_TEMPOMAT[] = "Tempomat"; -char TEXT_LARSM[] = "Larsm"; -char TEXT_REMOTECONTROL[] = "Remote control"; -char TEXT_GAMETRAK[] = "Gametrak"; -char TEXT_MOTORTEST[] = "Motortest"; -//char TEXT_BACK[] = "Back"; - -//TimersMenu -//char TEXT_TIMERS[] = "Timers"; -char TEXT_STATSUPDATERATE[] = "Stats update rate"; -//char TEXT_BACK[] = "Back"; - -//TimeSettingsMenu -//char TEXT_TIME[] = "Time"; -char TEXT_OFFSET[] = "Offset"; -char TEXT_DAYLIGHTSAVINGMODE[] = "Daylight Saving"; -char TEXT_NTPENABLED[] = "NTP Enabled"; -char TEXT_NTPSERVER[] = "NTP Server"; -char TEXT_NTPMODE[] = "NTP Mode"; -char TEXT_NTPINTERVAL[] = "NTP Interval"; -//char TEXT_BACK[] = "Back"; - -//ChangeValueDisplay -char TEXT_OFF[] = "Off"; -char TEXT_MASTER[] = "Master"; -char TEXT_SLAVE[] = "Slave"; - -//Crashmenu -char TEXT_CRASHMENU[] = "Crash Menu"; -char TEXT_CRASH_ASSERT[] = "assert(0)"; -char TEXT_CRASH_DIVZERO[] = "42 / 0"; - -//SelectBuildServerMenu -char TEXT_SELECTBUILDSERVERMENU[] = "Select Buildserver"; -char TEXT_NOBUILDSERVERCONFIGURED[] = "Not configured"; - -//Otamenu -char TEXT_UPDATENOW[] = "Update now"; -char TEXT_SELECTBUILD[] = "Select build"; -char TEXT_OTA_NOBUILDSERVERAVAILABLE[] = "E:No server saved."; -char TEXT_OTA_NOBUILDSERVERSELECTED[] = "E:No server selected."; -char TEXT_OTA_NOCONNECTION[] = "E:No internet."; -char TEXT_OTA_WAITFORRESPONSE[] = "Wait for response..."; - -//LedstripColorMenu -char TEXT_LEDSTRIPCOLORMENU[] = "Customize Ledstrip"; - -//StatisticsMenu -char TEXT_STATISTICSMENU[] = "Statistics"; -char TEXT_STATSSAVE[] = "Save kilometers"; -char TEXT_STATSCLEAR[] = "Clear current km"; - -#ifdef FEATURE_CAN -char TEXT_POWERSUPPLY[] = "Powersupply"; -#endif -char TEXT_REENABLE_MENUITEMS[] = "Show advanced"; - -//SelectBuildserverBranchMenu -char TEXT_SELECT_BRANCH[] = "Select Branch"; -char TEXT_SELECT_BRANCH_CLEAR[] = "Clear Branch"; - -//QrCodeDebug -char TEXT_QRCODE_DEBUG[] = "QR Debug"; - -// TaskmanagerMenu -char TEXT_TASKMANAGER[] = "Taskmanager"; - -//GreenPassMenu -char TEXT_GREENPASS[] = "Green Pass"; -char TEXT_ADDCERT[] = "Add cert"; -char TEXT_DELCERT[] = "Delete cert mode"; - -//EspNowMenu -char TEXT_ESPNOW[] = "ESP-Now"; -char TEXT_ESPNOW_MENU[] = "ESP-Now Menu"; -char TEXT_ESPNOW_RECEIVETS[] = "Recv Ts State"; -char TEXT_ESPNOW_RECEIVETSFROMBOBBY[] = "Recv BobbyTs State"; -char TEXT_ESPNOW_SENDTSMSG[] = "Broadcast Time"; - -//EspNowSettingsMenu -char TEXT_ESPNOW_SETTINGS[] = "ESP-Now settings"; -char TEXT_ESPNOW_SYNCTIME[] = "Sync time (no NTP)"; -char TEXT_ESPNOW_SYNCWITHOTHERS[] = "Sync time with others"; -char TEXT_ESPNOW_SYNCBLINK[] = "Sync blink"; -} // namespace diff --git a/main/texts.h b/main/texts.h deleted file mode 100644 index f760912..0000000 --- a/main/texts.h +++ /dev/null @@ -1,485 +0,0 @@ -#pragma once - -namespace bobbytexts { -//AboutMenu -extern char TEXT_ABOUT[]; -extern char TEXT_BACK[]; - -//AccessPointWifiSettingsMenu -extern char TEXT_ACCESSPOINTWIFISETTINGS[]; -extern char TEXT_WIFIAPENABLED[]; -extern char TEXT_RESEND_DNS[]; -//extern char TEXT_BACK[]; - -#ifdef TEXTS_PLUGIN -#include TEXTS_PLUGIN -#endif - -#ifdef FEATURE_BLUETOOTH -//BluetoothSettingsMenu -extern char TEXT_BLUETOOTHSETTINGS[]; -extern char TEXT_BLUETOOTHBEGIN[]; -extern char TEXT_BLUETOOTHBEGINMASTER[]; -extern char TEXT_BLUETOOTHFLUSH[]; -extern char TEXT_BLUETOOTHEND[]; -extern char TEXT_BLUETOOTHDISCONNECT[]; -extern char TEXT_AUTOBLUETOOTHMODE[]; -//extern char TEXT_BACK[]; - -//BmsMenu -#ifdef FEATURE_BMS -extern char TEXT_BMS[]; -extern char TEXT_CONNECTBMS[]; -extern char TEXT_DISCONNECTBMS[]; -extern char TEXT_TURNONCHARGE[]; -extern char TEXT_TURNOFFCHARGE[]; -extern char TEXT_TURNONDISCHARGE[]; -extern char TEXT_TURNOFFDISCHARGE[]; -//extern char TEXT_BACK[]; -#endif -#endif - -#ifdef FEATURE_BLE -//BleSettingsMenu -extern char TEXT_BLESETTINGS[]; -extern char TEXT_BLEENABLED[]; -//extern char TEXT_BACK[]; -#endif - -#ifdef FEATURE_CLOUD -//CloudSettingsMenu -extern char TEXT_CLOUDSETTINGS[]; -extern char TEXT_CLOUDENABLED[]; -extern char TEXT_CLOUDTRANSMITTIMEOUT[]; -extern char TEXT_CLOUDCOLLECTRATE[]; -extern char TEXT_CLOUDSENDRATE[]; -//extern char TEXT_BACK[]; -#endif - -#ifdef FEATURE_UDPCLOUD -//UdpCloudSettingsMenu -extern char TEXT_UDPCLOUDSETTINGS[]; -extern char TEXT_UDPCLOUDENABLED[]; -extern char TEXT_UDPSENDRATE[]; -extern char TEXT_UDPUSESTRING[]; -//extern char TEXT_BACK[]; -#endif - -//MainMenu -extern char TEXT_MAINMENU[]; -extern char TEXT_STATUS[]; -extern char TEXT_SELECTMODE[]; -extern char TEXT_MODESETTINGS[]; -extern char TEXT_PRESETS[]; -extern char TEXT_PROFILES[]; -extern char TEXT_GRAPHS[]; -//extern char TEXT_BMS[]; -extern char TEXT_SETTINGS[]; -extern char TEXT_LOCKVEHICLE[]; -extern char TEXT_MOSFETS[]; -extern char TEXT_DEMOS[]; -extern char TEXT_GARAGE[]; -extern char TEXT_UPDATE[]; -extern char TEXT_POWEROFF[]; -extern char TEXT_REBOOT[]; -extern char TEXT_DEBUG[]; -extern char TEXT_BATTERY[]; -extern char TEXT_BATTERYDEBUG[]; -extern char TEXT_TOGGLECLOUDDEBUG[]; - -//BatteryMenu -extern char TEXT_CELL_SERIES[]; -extern char TEXT_CELL_PARALLEL[]; -extern char TEXT_SELECT_CELL_TYPE[]; -extern char TEXT_CELL_TYPE[]; -extern char TEXT_BATTERY_CALIBRATE[]; -extern char TEXT_BATTERY_TYPE_22P[]; -extern char TEXT_BATTERY_TYPE_HG2[]; -extern char TEXT_BATTERY_TYPE_MH1[]; -extern char TEXT_BATTERY_TYPE_VTC5[]; -extern char TEXT_BATTERY_TYPE_BAK_25R[]; -extern char TEXT_BATTERY_WHKM[]; -extern char TEXT_BATTERY_APPLYCALIB[]; -extern char TEXT_VOLTAGECALIBRATION_RESET[]; - -//CalibrateVoltageDisplay -extern char TEXT_VOLTAGECALIBRATION_30V[]; -extern char TEXT_VOLTAGECALIBRATION_50V[]; -extern char TEXT_VOLTAGECALIBRATION_VALUE_30_FRONT[]; -extern char TEXT_VOLTAGECALIBRATION_VALUE_30_BACK[]; -extern char TEXT_VOLTAGECALIBRATION_VALUE_50_FRONT[]; -extern char TEXT_VOLTAGECALIBRATION_VALUE_50_BACK[]; - -//SettingsMenu -//extern char TEXT_SETTINGS[]; -extern char TEXT_BACKLIGHT[]; -extern char TEXT_LIMITSSETTINGS[]; -extern char TEXT_NETWORKSETTINGS[]; -//extern char TEXT_BLUETOOTHSETTINGS[]; -//extern char TEXT_BLESETTINGS[]; -//extern char TEXT_CLOUDSETTINGS[]; -extern char TEXT_TIME[]; -extern char TEXT_MODESSETTINGS[]; -extern char TEXT_CONTROLLERHARDWARESETTINGS[]; -extern char TEXT_BOARDCOMPUTERHARDWARESETTINGS[]; -extern char TEXT_AUTOCONNECTBMS[]; -extern char TEXT_BUZZER[]; -extern char TEXT_FRONTLED[]; -extern char TEXT_BACKLED[]; -//extern char TEXT_ABOUT[]; -//extern char TEXT_BACK[]; - -//ControllerHardwareSettings -//extern char TEXT_CONTROLLERHARDWARESETTINGS[]; -extern char TEXT_WHEELDIAMETERMM[]; -extern char TEXT_WHEELDIAMETERINCH[]; -extern char TEXT_NUMMAGNETPOLES[]; -extern char TEXT_SETENABLED[]; -extern char TEXT_SETINVERTED[]; -extern char TEXT_SWAPFRONTBACK[]; -#ifdef FEATURE_CAN -extern char TEXT_FRONTSENDCAN[]; -extern char TEXT_BACKSENDCAN[]; -extern char TEXT_CANTRANSMITTIMEOUT[]; -extern char TEXT_CANRECEIVETIMEOUT[]; -#endif -//extern char TEXT_BACK[]; - -//StationWifiSettingsMenu -extern char TEXT_STATIONWIFISETTINGS[]; -extern char TEXT_WIFISTAENABLED[]; -extern char TEXT_WIFITRIGGERSCAN[]; -extern char TEXT_WIFISCANRESULTS[]; -//extern char TEXT_BACK[]; - -//DemosMenu -//extern char TEXT_DEMOS[]; -extern char TEXT_STARFIELD[]; -extern char TEXT_PINGPONG[]; -extern char TEXT_SPIRO[]; -extern char TEXT_GAMEOFLIFE[]; -//extern char TEXT_BACK[]; - -//BuzzerMenu -//extern char TEXT_BUZZER[]; -extern char TEXT_FRONTFREQ[]; -extern char TEXT_FRONTPATTERN[]; -extern char TEXT_BACKFREQ[]; -extern char TEXT_BACKPATTERN[]; -extern char TEXT_REVERSEBEEP[]; -extern char TEXT_REVERSEBEEPFREQ0[]; -extern char TEXT_REVERSEBEEPFREQ1[]; -extern char TEXT_REVERSEBEEPDURATION0[]; -extern char TEXT_REVERSEBEEPDURATION1[]; -//extern char TEXT_BACK[]; - -//LimitsSettingsMenu -//extern char TEXT_LIMITSSETTINGS[]; -extern char TEXT_IMOTMAX[]; -extern char TEXT_IDCMAX[]; -extern char TEXT_NMOTMAXKMH[]; -extern char TEXT_NMOTMAX[]; -extern char TEXT_FIELDWEAKMAX[]; -extern char TEXT_PHASEADVMAX[]; -//extern char TEXT_BACK[]; - -//DefaultModeSettingsMenu -//extern char TEXT_DEFAULTMODESETTINGS[]; -extern char TEXT_MODELMODE[]; -extern char TEXT_HYBRIDMODE[]; -extern char TEXT_SQUAREGAS[]; -extern char TEXT_SQUAREBREMS[]; -extern char TEXT_ENABLESMOOTHINGUP[]; -extern char TEXT_ENABLESMOOTHINGDOWN[]; -extern char TEXT_ENABLEFWSMOOTHINGUP[]; -extern char TEXT_ENABLEFWSMOOTHINGDOWN[]; -extern char TEXT_FWSMOOTHING_LIMIT[]; -extern char TEXT_SMOOTHINGVAL[]; -extern char TEXT_FRONTPERCENTAGE[]; -extern char TEXT_BACKPERCENTAGE[]; -extern char TEXT_ADDSCHWELLE[]; -extern char TEXT_SUBGASVAL[]; -extern char TEXT_SUBBRAKEVAL[]; -extern char TEXT_ADDGASVAL[]; -extern char TEXT_ADDBRAKEVAL[]; -extern char TEXT_HYBRIDENABLE[]; -extern char TEXT_HYBRIDACTIVATIONLIMIT[]; -extern char TEXT_HYBRIDDEACTIVATIONLIMIT[]; -extern char TEXT_LIMITS_TO_NEAR[]; - -extern char TEXT_HANDBREMSE_ENABLE[]; -extern char TEXT_HANDBREMSE_AUTOMATIC[]; -extern char TEXT_HANDBREMSE_VISUALIZE[]; -extern char TEXT_HANDBREMSE_MODE[]; -extern char TEXT_HANDBREMSE_TRIGGERTIMEOUT[]; -extern char TEXT_HANDBREMSE[]; -//extern char TEXT_BACK[]; - -//EnableMenu -//extern char TEXT_SETENABLED[]; -extern char TEXT_ENABLEFRONTLEFT[]; -extern char TEXT_ENABLEFRONTRIGHT[]; -extern char TEXT_ENABLEBACKLEFT[]; -extern char TEXT_ENABLEBACKRIGHT[]; -//extern char TEXT_BACK[]; - -//GametrakModeSettingsMenu -extern char TEXT_GAMETRAKMODESETTINGS[]; - -//GenericWifiSettingsMenu -extern char TEXT_GENERICWIFISETTINGS[]; -//extern char TEXT_BACK[]; - -//GraphsMenu -//extern char TEXT_GRAPHS[]; -extern char TEXT_GAS[]; -extern char TEXT_BREMS[]; -extern char TEXT_POTIS[]; -extern char TEXT_AVGSPEED[]; -extern char TEXT_AVGSPEEDKMH[]; -extern char TEXT_SUMCURRENT[]; -extern char TEXT_FRONTVOLTAGE[]; -extern char TEXT_BACKVOLTAGE[]; -extern char TEXT_VOLTAGES[]; -extern char TEXT_BMSVOLTAGE[]; -extern char TEXT_BMSCURRENT[]; -extern char TEXT_BMSPOWER[]; -extern char TEXT_SUMCURRENTSCOMPARISON[]; -extern char TEXT_MOTORCURRENTS[]; -extern char TEXT_RSSI[]; -//extern char TEXT_BACK[]; - -//InvertMenu -//extern char TEXT_SETINVERTED[]; -extern char TEXT_INVERTFRONTLEFT[]; -extern char TEXT_INVERTFRONTRIGHT[]; -extern char TEXT_INVERTBACKLEFT[]; -extern char TEXT_INVERTBACKRIGHT[]; -//extern char TEXT_BACK[]; - -//LarsmModeSettingsMenu -extern char TEXT_LARSMMODESETTINGS[]; -//extern char TEXT_MODELMODE[]; -extern char TEXT_SETMODE[]; -extern char TEXT_SETITERATIONS[]; -//extern char TEXT_BACK[]; - -//MotortestModeSettingsMenu -extern char TEXT_MOTORTESTMODESETTINGS[]; -extern char TEXT_MOTORTESTMAXPWM[]; -extern char TEXT_MOTORTESTMULTIPLIKATOR[]; - -//LedstripMenu -extern char TEXT_LEDSTRIP[]; -extern char TEXT_LEDANIMATION[]; -extern char TEXT_BRAKELIGHTS[]; -extern char TEXT_BLINKANIMATION[]; -extern char TEXT_ANIMATION_TYPE[]; -extern char TEXT_LEDSCOUNT[]; -extern char TEXT_CENTEROFFSET[]; -extern char TEXT_SMALLOFFSET[]; -extern char TEXT_BIGOFFSET[]; -extern char TEXT_LEDSTRIP_MILLIAMP[]; -extern char TEXT_BLINKBEEP[]; -extern char TEXT_FULLBLINK[]; -extern char TEXT_LEDSTRIP_STVO[]; -extern char TEXT_STVO_FRONTOFFSET[]; -extern char TEXT_STVO_FRONTLENGTH[]; -extern char TEXT_STVO_ENABLEFRONTLIGHT[]; -extern char TEXT_ANIMATION_MULTIPLIER[]; -extern char TEXT_LEDSTRIP_BRIGHTNESS[]; -extern char TEXT_LEDSTRIP_ALLCUSTOMOFF[]; -extern char TEXT_LEDSTRIP_EN_BLINK_ANIM[]; -extern char TEXT_LEDSTRIP_CHANGE_OTA_ANIM[]; - -extern char TEXT_OTAANIM_NONE[]; -extern char TEXT_OTAANIM_PROGRESS[]; -extern char TEXT_OTAANIM_COLOR[]; -//extern char TEXT_BACK[]; - -//LedstripSelectAnimationMenu -extern char TEXT_SELECTANIMATION[]; -extern char TEXT_ANIMATION_DEFAULTRAINBOW[]; -extern char TEXT_ANIMATION_BETTERRAINBOW[]; -extern char TEXT_ANIMATION_SPEEDSYNCANIMATION[]; -extern char TEXT_ANIMATION_CUSTOMCOLOR[]; - -//LedstripSelectBlinkMenu -extern char TEXT_ANIMATION_BLINKNONE[]; -extern char TEXT_ANIMATION_BLINKLEFT[]; -extern char TEXT_ANIMATION_BLINKRIGHT[]; -extern char TEXT_ANIMATION_BLINKBOTH[]; - -//LockscreenSettingsMenu -extern char TEXT_LOCKSCREENSETTINGS[]; -extern char TEXT_ALLOWPRESETSWITCH[]; -extern char TEXT_KEEPLOCKED[]; -extern char TEXT_PINDIGIT0[]; -extern char TEXT_PINDIGIT1[]; -extern char TEXT_PINDIGIT2[]; -extern char TEXT_PINDIGIT3[]; -//extern char TEXT_BACK[]; - -//ModesSettingsMenu -//extern char TEXT_MODESSETTINGS[]; -extern char TEXT_DEFAULTMODESETTIGNS[]; -extern char TEXT_TEMPOMATMODESETTINGS[]; -//extern char TEXT_LARSMMODESETTINGS[]; -//extern char TEXT_GAMETRAKMODESETTINGS[]; -//extern char TEXT_BACK[]; - -//MosfetsMenu -//extern char TEXT_MOSFETS[]; -extern char TEXT_MOSFET0[]; -extern char TEXT_MOSFET1[]; -extern char TEXT_MOSFET2[]; - -//TempomatModeSettingsMenu -//extern char TEXT_TEMPOMATMODESETTINGS[]; -extern char TEXT_APPLY[]; -extern char TEXT_NCRUISEMOTTGT[]; -//extern char TEXT_MODELMODE[]; -//extern char TEXT_BACK[]; - -//WiFiSettingsMenu -//extern char TEXT_WIFISETTINGS[]; -//extern char TEXT_GENERICWIFISETTINGS[]; -//extern char TEXT_BACK[]; - -//BoardcomputerHardwareSettingsMenu -//extern char TEXT_BOARDCOMPUTERHARDWARESETTINGS[]; -//extern char TEXT_LOCKSCREENSETTINGS[]; -extern char TEXT_CALIBRATE[]; -extern char TEXT_SAMPLECOUNT[]; -extern char TEXT_GASMIN[]; -extern char TEXT_GASMAX[]; -extern char TEXT_BREMSMIN[]; -extern char TEXT_BREMSMAX[]; -extern char TEXT_DPADDEBOUNCE[]; -extern char TEXT_GAMETRAKCALIBRATE[]; -extern char TEXT_SETGAMETRAKXMIN[]; -extern char TEXT_SETGAMETRAKXMAX[]; -extern char TEXT_SETGAMETRAKYMIN[]; -extern char TEXT_SETGAMETRAKYMAX[]; -extern char TEXT_SETGAMETRAKDISTMIN[]; -extern char TEXT_SETGAMETRAKDISTMAX[]; -extern char TEXT_TIMERS[]; -//extern char TEXT_BACK[]; - -//ProfilesMenu -//extern char TEXT_PROFILES[]; -extern char TEXT_PROFILE0[]; -extern char TEXT_PROFILE1[]; -extern char TEXT_PROFILE2[]; -extern char TEXT_PROFILE3[]; -//extern char TEXT_BACK[]; - -//PresetsMenu -//extern char TEXT_PRESETS[]; -extern char TEXT_DEFAULTEVERYTHING[]; -extern char TEXT_DEFAULTLIMITS[]; -extern char TEXT_KIDSLIMITS[]; -extern char TEXT_DEFAULTPOTI[]; -extern char TEXT_DEFAULTCONTROLLERHARDWARE[]; -extern char TEXT_MOSFETSOFFCONTROLLERHARDWARE[]; -extern char TEXT_SPINNERCONTROLLERHARDWARE[]; -extern char TEXT_DEFAULTBOARDCOMPUTERHARDWARE[]; -extern char TEXT_DEFAULTDEFAULTMODE[]; -extern char TEXT_SINUSOIDALDEFAULTMODE[]; -extern char TEXT_DEFAULTTEMPOMATMODE[]; -extern char TEXT_DEFAULTLARSMMODE[]; -extern char TEXT_STREET[]; -extern char TEXT_SIDEWALK[]; -extern char TEXT_POLICE[]; -extern char TEXT_RACE[]; - -//SelectModeMenu -//extern char TEXT_SELECTMODE[]; -extern char TEXT_DEFAULT[]; -extern char TEXT_TEMPOMAT[]; -extern char TEXT_LARSM[]; -extern char TEXT_REMOTECONTROL[]; -extern char TEXT_GAMETRAK[]; -extern char TEXT_MOTORTEST[]; -//extern char TEXT_BACK[]; - -//TimersMenu -//extern char TEXT_TIMERS[]; -extern char TEXT_STATSUPDATERATE[]; -//extern char TEXT_BACK[]; - -//TimeSettingsMenu -//extern char TEXT_TIME[]; -extern char TEXT_OFFSET[]; -extern char TEXT_DAYLIGHTSAVINGMODE[]; -extern char TEXT_NTPENABLED[]; -extern char TEXT_NTPSERVER[]; -extern char TEXT_NTPMODE[]; -extern char TEXT_NTPINTERVAL[]; -//extern char TEXT_BACK[]; - -//ChangeValueDisplay -extern char TEXT_OFF[]; -extern char TEXT_MASTER[]; -extern char TEXT_SLAVE[]; - -//Crashmenu -extern char TEXT_CRASHMENU[]; -extern char TEXT_CRASH_ASSERT[]; -extern char TEXT_CRASH_DIVZERO[]; - -//SelectBuildServerMenu -extern char TEXT_SELECTBUILDSERVERMENU[]; -extern char TEXT_NOBUILDSERVERCONFIGURED[]; - -//Otamenu -extern char TEXT_UPDATENOW[]; -extern char TEXT_SELECTBUILD[]; -extern char TEXT_OTA_NOBUILDSERVERAVAILABLE[]; -extern char TEXT_OTA_NOBUILDSERVERSELECTED[]; -extern char TEXT_OTA_NOCONNECTION[]; -extern char TEXT_OTA_WAITFORRESPONSE[]; - -//LedstripColorMenu -extern char TEXT_LEDSTRIPCOLORMENU[]; - -//StatisticsMenu -extern char TEXT_STATISTICSMENU[]; -extern char TEXT_STATSSAVE[]; -extern char TEXT_STATSCLEAR[]; - -#ifdef FEATURE_CAN -extern char TEXT_POWERSUPPLY[]; -#endif -extern char TEXT_REENABLE_MENUITEMS[]; - -//SelectBuildserverBranchMenu -extern char TEXT_SELECT_BRANCH[]; -extern char TEXT_SELECT_BRANCH_CLEAR[]; - -//QrCodeDebug -extern char TEXT_QRCODE_DEBUG[]; - -// TaskmanagerMenu -extern char TEXT_TASKMANAGER[]; - -//GreenPassMenu -extern char TEXT_GREENPASS[]; -extern char TEXT_ADDCERT[]; -extern char TEXT_DELCERT[]; - -//EspNowMenu -extern char TEXT_ESPNOW[]; -extern char TEXT_ESPNOW_MENU[]; -extern char TEXT_ESPNOW_RECEIVETS[]; -extern char TEXT_ESPNOW_RECEIVETSFROMBOBBY[]; -extern char TEXT_ESPNOW_SENDTSMSG[]; - -//EspNowSettingsMenu -extern char TEXT_ESPNOW_SETTINGS[]; -extern char TEXT_ESPNOW_SYNCTIME[]; -extern char TEXT_ESPNOW_SYNCWITHOTHERS[]; -extern char TEXT_ESPNOW_SYNCBLINK[]; -} // namespace bobbytexts - -using namespace bobbytexts;