More refactorings again

This commit is contained in:
2021-12-28 13:08:54 +01:00
parent d12c943f89
commit 9145853649
30 changed files with 407 additions and 190 deletions

View File

@@ -52,10 +52,12 @@ set(headers
debuginputhandler.h debuginputhandler.h
debugtexthelpers.h debugtexthelpers.h
displays/bmsdisplay.h displays/bmsdisplay.h
displays/bobbychangevaluedisplay.h
displays/bobbydisplay.h displays/bobbydisplay.h
displays/bobbydisplaywithtitle.h displays/bobbydisplaywithtitle.h
displays/bobbychangevaluedisplay.h displays/bobbygraphdisplay.h
displays/bobbymenudisplay.h displays/bobbymenudisplay.h
displays/bobbysplitgraphdisplay.h
displays/calibratedisplay.h displays/calibratedisplay.h
displays/calibratevoltagedisplay.h displays/calibratevoltagedisplay.h
displays/qrdisplay.h displays/qrdisplay.h
@@ -67,6 +69,7 @@ set(headers
displays/garagedisplay.h displays/garagedisplay.h
displays/ledstripcolorsdisplay.h displays/ledstripcolorsdisplay.h
displays/lockscreen.h displays/lockscreen.h
displays/menudisplaywithtime.cpp
displays/menus/aboutmenu.h displays/menus/aboutmenu.h
displays/menus/accesspointwifisettingsmenu.h displays/menus/accesspointwifisettingsmenu.h
displays/menus/batterydebugmenu.h displays/menus/batterydebugmenu.h
@@ -274,10 +277,12 @@ set(sources
debuginputhandler.cpp debuginputhandler.cpp
debugtexthelpers.cpp debugtexthelpers.cpp
displays/bmsdisplay.cpp displays/bmsdisplay.cpp
displays/bobbychangevaluedisplay.cpp
displays/bobbydisplay.cpp displays/bobbydisplay.cpp
displays/bobbydisplaywithtitle.cpp displays/bobbydisplaywithtitle.cpp
displays/bobbychangevaluedisplay.cpp displays/bobbygraphdisplay.cpp
displays/bobbymenudisplay.cpp displays/bobbymenudisplay.cpp
displays/bobbysplitgraphdisplay.cpp
displays/calibratedisplay.cpp displays/calibratedisplay.cpp
displays/calibratevoltagedisplay.cpp displays/calibratevoltagedisplay.cpp
displays/qrdisplay.cpp displays/qrdisplay.cpp
@@ -438,7 +443,6 @@ set(sources
webserver_settings.cpp webserver_settings.cpp
webserver_stringsettings.cpp webserver_stringsettings.cpp
widgets/doubleprogressbar.cpp widgets/doubleprogressbar.cpp
displays/menudisplaywithtime.cpp
wifi_bobbycar.cpp wifi_bobbycar.cpp
wifitexthelpers.cpp wifitexthelpers.cpp
) )

View File

@@ -3,7 +3,7 @@
template<typename Tvalue> template<typename Tvalue>
void BobbyChangeValueDisplay<Tvalue>::rawButtonPressed(uint8_t button) void BobbyChangeValueDisplay<Tvalue>::rawButtonPressed(uint8_t button)
{ {
Base::rawButtonPressed(button); //Base::rawButtonPressed(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
@@ -25,7 +25,7 @@ void BobbyChangeValueDisplay<Tvalue>::rawButtonPressed(uint8_t button)
template<typename Tvalue> template<typename Tvalue>
void BobbyChangeValueDisplay<Tvalue>::rawButtonReleased(uint8_t button) void BobbyChangeValueDisplay<Tvalue>::rawButtonReleased(uint8_t button)
{ {
Base::rawButtonReleased(button); //Base::rawButtonReleased(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;

View File

@@ -2,7 +2,7 @@
void BobbyDisplay::rawButtonPressed(uint8_t button) void BobbyDisplay::rawButtonPressed(uint8_t button)
{ {
Base::rawButtonPressed(button); //Base::rawButtonPressed(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
@@ -23,7 +23,7 @@ void BobbyDisplay::rawButtonPressed(uint8_t button)
void BobbyDisplay::rawButtonReleased(uint8_t button) void BobbyDisplay::rawButtonReleased(uint8_t button)
{ {
Base::rawButtonReleased(button); //Base::rawButtonReleased(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;

View File

@@ -2,7 +2,7 @@
void BobbyDisplayWithTitle::rawButtonPressed(uint8_t button) void BobbyDisplayWithTitle::rawButtonPressed(uint8_t button)
{ {
Base::rawButtonPressed(button); //Base::rawButtonPressed(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
@@ -23,7 +23,7 @@ void BobbyDisplayWithTitle::rawButtonPressed(uint8_t button)
void BobbyDisplayWithTitle::rawButtonReleased(uint8_t button) void BobbyDisplayWithTitle::rawButtonReleased(uint8_t button)
{ {
Base::rawButtonReleased(button); //Base::rawButtonReleased(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;

View File

@@ -0,0 +1,70 @@
#include "bobbygraphdisplay.h"
template<size_t COUNT>
void BobbyGraphDisplay<COUNT>::rawButtonPressed(uint8_t button)
{
//Base::rawButtonPressed(button);
switch (button)
{
using espgui::Button;
case 0: buttonPressed(Button::Left); break;
case 1: buttonPressed(Button::Right); break;
case 2: buttonPressed(Button::Up); break;
case 3: buttonPressed(Button::Down); break;
case 4: buttonPressed(Button(BobbyButton::Profile0)); break;
case 5: buttonPressed(Button(BobbyButton::Profile1)); break;
case 6: buttonPressed(Button(BobbyButton::Profile2)); break;
case 7: buttonPressed(Button(BobbyButton::Profile3)); break;
case 8: buttonPressed(Button(BobbyButton::Left2)); break;
case 9: buttonPressed(Button(BobbyButton::Right2)); break;
case 10: buttonPressed(Button(BobbyButton::Up2)); break;
case 11: buttonPressed(Button(BobbyButton::Down2)); break;
}
}
template<size_t COUNT>
void BobbyGraphDisplay<COUNT>::rawButtonReleased(uint8_t button)
{
//Base::rawButtonReleased(button);
switch (button)
{
using espgui::Button;
case 0: buttonReleased(Button::Left); break;
case 1: buttonReleased(Button::Right); break;
case 2: buttonReleased(Button::Up); break;
case 3: buttonReleased(Button::Down); break;
case 4: buttonReleased(Button(BobbyButton::Profile0)); break;
case 5: buttonReleased(Button(BobbyButton::Profile1)); break;
case 6: buttonReleased(Button(BobbyButton::Profile2)); break;
case 7: buttonReleased(Button(BobbyButton::Profile3)); break;
case 8: buttonReleased(Button(BobbyButton::Left2)); break;
case 9: buttonReleased(Button(BobbyButton::Right2)); break;
case 10: buttonReleased(Button(BobbyButton::Up2)); break;
case 11: buttonReleased(Button(BobbyButton::Down2)); break;
}
}
template<size_t COUNT>
void BobbyGraphDisplay<COUNT>::buttonPressed(espgui::Button button)
{
Base::buttonPressed(button);
switch (BobbyButton(button))
{
case BobbyButton::Profile0: /* TODO */ break;
case BobbyButton::Profile1: /* TODO */ break;
case BobbyButton::Profile2: /* TODO */ break;
case BobbyButton::Profile3: /* TODO */ break;
case BobbyButton::Left2: /* TODO */ break;
case BobbyButton::Right2: /* TODO */ break;
case BobbyButton::Up2: /* TODO */ break;
case BobbyButton::Down2: /* TODO */ break;
default:;
}
}
template<size_t COUNT>
void BobbyGraphDisplay<COUNT>::buttonReleased(espgui::Button button)
{
Base::buttonReleased(button);
}

View File

@@ -0,0 +1,23 @@
#pragma once
// system includes
#include <type_traits>
// 3rdparty lib includes
#include <graphdisplay.h>
// local includes
#include "bobbydisplay.h"
template<size_t COUNT>
class BobbyGraphDisplay : public espgui::GraphDisplay<COUNT>
{
using Base = espgui::GraphDisplay<COUNT>;
public:
void rawButtonPressed(uint8_t button) override;
void rawButtonReleased(uint8_t button) override;
void buttonPressed(espgui::Button button) override;
void buttonReleased(espgui::Button button) override;
};

View File

@@ -2,7 +2,7 @@
void BobbyMenuDisplay::rawButtonPressed(uint8_t button) void BobbyMenuDisplay::rawButtonPressed(uint8_t button)
{ {
Base::rawButtonPressed(button); //Base::rawButtonPressed(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
@@ -23,7 +23,7 @@ void BobbyMenuDisplay::rawButtonPressed(uint8_t button)
void BobbyMenuDisplay::rawButtonReleased(uint8_t button) void BobbyMenuDisplay::rawButtonReleased(uint8_t button)
{ {
Base::rawButtonReleased(button); //Base::rawButtonReleased(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;

View File

@@ -0,0 +1,70 @@
#include "bobbysplitgraphdisplay.h"
template<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::rawButtonPressed(uint8_t button)
{
//Base::rawButtonPressed(button);
switch (button)
{
using espgui::Button;
case 0: buttonPressed(Button::Left); break;
case 1: buttonPressed(Button::Right); break;
case 2: buttonPressed(Button::Up); break;
case 3: buttonPressed(Button::Down); break;
case 4: buttonPressed(Button(BobbyButton::Profile0)); break;
case 5: buttonPressed(Button(BobbyButton::Profile1)); break;
case 6: buttonPressed(Button(BobbyButton::Profile2)); break;
case 7: buttonPressed(Button(BobbyButton::Profile3)); break;
case 8: buttonPressed(Button(BobbyButton::Left2)); break;
case 9: buttonPressed(Button(BobbyButton::Right2)); break;
case 10: buttonPressed(Button(BobbyButton::Up2)); break;
case 11: buttonPressed(Button(BobbyButton::Down2)); break;
}
}
template<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::rawButtonReleased(uint8_t button)
{
//Base::rawButtonReleased(button);
switch (button)
{
using espgui::Button;
case 0: buttonReleased(Button::Left); break;
case 1: buttonReleased(Button::Right); break;
case 2: buttonReleased(Button::Up); break;
case 3: buttonReleased(Button::Down); break;
case 4: buttonReleased(Button(BobbyButton::Profile0)); break;
case 5: buttonReleased(Button(BobbyButton::Profile1)); break;
case 6: buttonReleased(Button(BobbyButton::Profile2)); break;
case 7: buttonReleased(Button(BobbyButton::Profile3)); break;
case 8: buttonReleased(Button(BobbyButton::Left2)); break;
case 9: buttonReleased(Button(BobbyButton::Right2)); break;
case 10: buttonReleased(Button(BobbyButton::Up2)); break;
case 11: buttonReleased(Button(BobbyButton::Down2)); break;
}
}
template<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::buttonPressed(espgui::Button button)
{
Base::buttonPressed(button);
switch (BobbyButton(button))
{
case BobbyButton::Profile0: /* TODO */ break;
case BobbyButton::Profile1: /* TODO */ break;
case BobbyButton::Profile2: /* TODO */ break;
case BobbyButton::Profile3: /* TODO */ break;
case BobbyButton::Left2: /* TODO */ break;
case BobbyButton::Right2: /* TODO */ break;
case BobbyButton::Up2: /* TODO */ break;
case BobbyButton::Down2: /* TODO */ break;
default:;
}
}
template<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::buttonReleased(espgui::Button button)
{
Base::buttonReleased(button);
}

View File

@@ -0,0 +1,23 @@
#pragma once
// system includes
#include <type_traits>
// 3rdparty lib includes
#include <splitgraphdisplay.h>
// local includes
#include "bobbydisplay.h"
template<std::size_t COUNT0, std::size_t COUNT1>
class BobbySplitGraphDisplay : public espgui::SplitGraphDisplay<COUNT0, COUNT1>
{
using Base = espgui::SplitGraphDisplay<COUNT0, COUNT1>;
public:
void rawButtonPressed(uint8_t button) override;
void rawButtonReleased(uint8_t button) override;
void buttonPressed(espgui::Button button) override;
void buttonReleased(espgui::Button button) override;
};

View File

@@ -4,6 +4,7 @@
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "mainmenu.h" #include "mainmenu.h"
#include "displays/calibratevoltagedisplay.h" #include "displays/calibratevoltagedisplay.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
@@ -13,7 +14,7 @@
class CurrentBatteryStatusText : public virtual espgui::TextInterface { public: std::string text() const override { return getBatteryPercentageString(); } }; class CurrentBatteryStatusText : public virtual espgui::TextInterface { public: std::string text() const override { return getBatteryPercentageString(); } };
using BatteryCellSeriesChangeScreen = espgui::makeComponent< using BatteryCellSeriesChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_CELL_SERIES>, espgui::StaticText<TEXT_CELL_SERIES>,
BatterySeriesCellsAccessor, BatterySeriesCellsAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>,
@@ -21,7 +22,7 @@ using BatteryCellSeriesChangeScreen = espgui::makeComponent<
>; >;
using BatteryCellParallelChangeScreen = espgui::makeComponent< using BatteryCellParallelChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_CELL_PARALLEL>, espgui::StaticText<TEXT_CELL_PARALLEL>,
BatteryParallelCellsAccessor, BatteryParallelCellsAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>,
@@ -29,7 +30,7 @@ using BatteryCellParallelChangeScreen = espgui::makeComponent<
>; >;
using BatteryWHperKMChangeScreen = espgui::makeComponent< using BatteryWHperKMChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<uint16_t>, BobbyChangeValueDisplay<uint16_t>,
espgui::StaticText<TEXT_BATTERY_WHKM>, espgui::StaticText<TEXT_BATTERY_WHKM>,
BatteryWHperKMAccessor, BatteryWHperKMAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>,

View File

@@ -10,6 +10,7 @@
#include <checkboxicon.h> #include <checkboxicon.h>
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "icons/lock.h" #include "icons/lock.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
@@ -43,35 +44,35 @@ public:
}; };
using SampleCountChangeScreen = espgui::makeComponent< using SampleCountChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SAMPLECOUNT>, espgui::StaticText<TEXT_SAMPLECOUNT>,
SampleCountAccessor, SampleCountAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu> espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
>; >;
using GasMinChangeScreen = espgui::makeComponent< using GasMinChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_GASMIN>, espgui::StaticText<TEXT_GASMIN>,
GasMinAccessor, GasMinAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu> espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
>; >;
using GasMaxChangeScreen = espgui::makeComponent< using GasMaxChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_GASMAX>, espgui::StaticText<TEXT_GASMAX>,
GasMaxAccessor, GasMaxAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu> espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
>; >;
using BremsMinChangeScreen = espgui::makeComponent< using BremsMinChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_BREMSMIN>, espgui::StaticText<TEXT_BREMSMIN>,
BremsMinAccessor, BremsMinAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu> espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
>; >;
using BremsMaxChangeScreen = espgui::makeComponent< using BremsMaxChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_BREMSMAX>, espgui::StaticText<TEXT_BREMSMAX>,
BremsMaxAccessor, BremsMaxAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
@@ -80,7 +81,7 @@ using BremsMaxChangeScreen = espgui::makeComponent<
#if defined(FEATURE_DPAD) || defined(FEATURE_DPAD_3WIRESW) || defined(FEATURE_DPAD_5WIRESW) || defined(FEATURE_DPAD_5WIRESW_2OUT) || defined (FEATURE_DPAD_6WIRESW) #if defined(FEATURE_DPAD) || defined(FEATURE_DPAD_3WIRESW) || defined(FEATURE_DPAD_5WIRESW) || defined(FEATURE_DPAD_5WIRESW_2OUT) || defined (FEATURE_DPAD_6WIRESW)
using DPadDebounceChangeScreen = espgui::makeComponent< using DPadDebounceChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_DPADDEBOUNCE>, espgui::StaticText<TEXT_DPADDEBOUNCE>,
DPadDebounceAccessor, DPadDebounceAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
@@ -103,42 +104,42 @@ public:
}; };
using GametrakXMinChangeScreen = espgui::makeComponent< using GametrakXMinChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKXMIN>, espgui::StaticText<TEXT_SETGAMETRAKXMIN>,
GametrakXMinAccessor, GametrakXMinAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu> espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
>; >;
using GametrakXMaxChangeScreen = espgui::makeComponent< using GametrakXMaxChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKXMAX>, espgui::StaticText<TEXT_SETGAMETRAKXMAX>,
GametrakXMaxAccessor, GametrakXMaxAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu> espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
>; >;
using GametrakYMinChangeScreen = espgui::makeComponent< using GametrakYMinChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKYMIN>, espgui::StaticText<TEXT_SETGAMETRAKYMIN>,
GametrakYMinAccessor, GametrakYMinAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu> espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
>; >;
using GametrakYMaxChangeScreen = espgui::makeComponent< using GametrakYMaxChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKYMAX>, espgui::StaticText<TEXT_SETGAMETRAKYMAX>,
GametrakYMaxAccessor, GametrakYMaxAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu> espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
>; >;
using GametrakDistMinChangeScreen = espgui::makeComponent< using GametrakDistMinChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKDISTMIN>, espgui::StaticText<TEXT_SETGAMETRAKDISTMIN>,
GametrakDistMinAccessor, GametrakDistMinAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu> espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
>; >;
using GametrakDistMaxChangeScreen = espgui::makeComponent< using GametrakDistMaxChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKDISTMAX>, espgui::StaticText<TEXT_SETGAMETRAKDISTMAX>,
GametrakDistMaxAccessor, GametrakDistMaxAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,

View File

@@ -9,6 +9,7 @@
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "globals.h" #include "globals.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
@@ -17,7 +18,7 @@
namespace { namespace {
struct FrontFreqAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.front.command.buzzer.freq; } }; struct FrontFreqAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.front.command.buzzer.freq; } };
using FrontFreqChangeScreen = espgui::makeComponent< using FrontFreqChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_FRONTFREQ>, espgui::StaticText<TEXT_FRONTFREQ>,
FrontFreqAccessor, FrontFreqAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
@@ -26,7 +27,7 @@ using FrontFreqChangeScreen = espgui::makeComponent<
struct FrontPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.front.command.buzzer.pattern; } }; struct FrontPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.front.command.buzzer.pattern; } };
using FrontPatternChangeScreen = espgui::makeComponent< using FrontPatternChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_FRONTPATTERN>, espgui::StaticText<TEXT_FRONTPATTERN>,
FrontPatternAccessor, FrontPatternAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
@@ -35,7 +36,7 @@ using FrontPatternChangeScreen = espgui::makeComponent<
struct BackFreqAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.freq; } }; struct BackFreqAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.freq; } };
using BackFreqChangeScreen = espgui::makeComponent< using BackFreqChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_BACKFREQ>, espgui::StaticText<TEXT_BACKFREQ>,
BackFreqAccessor, BackFreqAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
@@ -44,7 +45,7 @@ using BackFreqChangeScreen = espgui::makeComponent<
struct BackPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.pattern; } }; struct BackPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.pattern; } };
using BackPatternChangeScreen = espgui::makeComponent< using BackPatternChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_BACKPATTERN>, espgui::StaticText<TEXT_BACKPATTERN>,
BackPatternAccessor, BackPatternAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
@@ -52,28 +53,28 @@ using BackPatternChangeScreen = espgui::makeComponent<
>; >;
using ReverseBeepFreq0ChangeScreen = espgui::makeComponent< using ReverseBeepFreq0ChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_REVERSEBEEPFREQ0>, espgui::StaticText<TEXT_REVERSEBEEPFREQ0>,
ReverseBeepFreq0Accessor, ReverseBeepFreq0Accessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
espgui::SwitchScreenAction<BuzzerMenu> espgui::SwitchScreenAction<BuzzerMenu>
>; >;
using ReverseBeepFreq1ChangeScreen = espgui::makeComponent< using ReverseBeepFreq1ChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_REVERSEBEEPFREQ1>, espgui::StaticText<TEXT_REVERSEBEEPFREQ1>,
ReverseBeepFreq1Accessor, ReverseBeepFreq1Accessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
espgui::SwitchScreenAction<BuzzerMenu> espgui::SwitchScreenAction<BuzzerMenu>
>; >;
using ReverseBeepDuration0ChangeScreen = espgui::makeComponent< using ReverseBeepDuration0ChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_REVERSEBEEPDURATION0>, espgui::StaticText<TEXT_REVERSEBEEPDURATION0>,
ReverseBeepDuration0Accessor, ReverseBeepDuration0Accessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
espgui::SwitchScreenAction<BuzzerMenu> espgui::SwitchScreenAction<BuzzerMenu>
>; >;
using ReverseBeepDuration1ChangeScreen = espgui::makeComponent< using ReverseBeepDuration1ChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_REVERSEBEEPDURATION1>, espgui::StaticText<TEXT_REVERSEBEEPDURATION1>,
ReverseBeepDuration1Accessor, ReverseBeepDuration1Accessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,

View File

@@ -11,6 +11,7 @@
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "cloudtexthelpers.h" #include "cloudtexthelpers.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "cloud.h" #include "cloud.h"
@@ -20,7 +21,7 @@
namespace { namespace {
using CloudTransmitTimeoutChangeScreen = espgui::makeComponent< using CloudTransmitTimeoutChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
CloudTransmitTimeoutAccessor, CloudTransmitTimeoutAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
@@ -37,7 +38,7 @@ public:
}; };
using CloudCollectRateChangeDisplay = espgui::makeComponent< using CloudCollectRateChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_CLOUDCOLLECTRATE>, espgui::StaticText<TEXT_CLOUDCOLLECTRATE>,
CloudCollectRateAccessor, CloudCollectRateAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
@@ -45,7 +46,7 @@ using CloudCollectRateChangeDisplay = espgui::makeComponent<
>; >;
using CloudSendRateChangeDisplay = espgui::makeComponent< using CloudSendRateChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_CLOUDSENDRATE>, espgui::StaticText<TEXT_CLOUDSENDRATE>,
CloudSendRateAccessor, CloudSendRateAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,

View File

@@ -11,6 +11,7 @@
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "globals.h" #include "globals.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
@@ -20,14 +21,14 @@
namespace { namespace {
using WheelDiameterMmChangeScreen = espgui::makeComponent< using WheelDiameterMmChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_WHEELDIAMETERMM>, espgui::StaticText<TEXT_WHEELDIAMETERMM>,
WheelDiameterMmAccessor, WheelDiameterMmAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<ControllerHardwareSettingsMenu> espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>
>; >;
using WheelDiameterInchChangeScreen = espgui::makeComponent< using WheelDiameterInchChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<float>, BobbyChangeValueDisplay<float>,
espgui::StaticText<TEXT_WHEELDIAMETERINCH>, espgui::StaticText<TEXT_WHEELDIAMETERINCH>,
WheelDiameterInchAccessor, WheelDiameterInchAccessor,
espgui::RatioNumberStep<float, std::ratio<1,10>>, espgui::RatioNumberStep<float, std::ratio<1,10>>,
@@ -35,7 +36,7 @@ using WheelDiameterInchChangeScreen = espgui::makeComponent<
espgui::SwitchScreenAction<ControllerHardwareSettingsMenu> espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>
>; >;
using NumMagnetPolesChangeScreen = espgui::makeComponent< using NumMagnetPolesChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_NUMMAGNETPOLES>, espgui::StaticText<TEXT_NUMMAGNETPOLES>,
NumMagnetPolesAccessor, NumMagnetPolesAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
@@ -43,14 +44,14 @@ using NumMagnetPolesChangeScreen = espgui::makeComponent<
>; >;
#ifdef FEATURE_CAN #ifdef FEATURE_CAN
using CanTransmitTimeoutChangeScreen = espgui::makeComponent< using CanTransmitTimeoutChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_CANTRANSMITTIMEOUT>, espgui::StaticText<TEXT_CANTRANSMITTIMEOUT>,
CanTransmitTimeoutAccessor, CanTransmitTimeoutAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
espgui::SwitchScreenAction<ControllerHardwareSettingsMenu> espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>
>; >;
using CanReceiveTimeoutChangeScreen = espgui::makeComponent< using CanReceiveTimeoutChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_CANRECEIVETIMEOUT>, espgui::StaticText<TEXT_CANRECEIVETIMEOUT>,
CanReceiveTimeoutAccessor, CanReceiveTimeoutAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,

View File

@@ -10,6 +10,7 @@
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "changevaluedisplay_unifiedmodelmode.h" #include "changevaluedisplay_unifiedmodelmode.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
@@ -18,91 +19,91 @@
namespace { namespace {
using DefaultModeModelModeChangeDisplay = espgui::makeComponent< using DefaultModeModelModeChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<UnifiedModelMode>, BobbyChangeValueDisplay<UnifiedModelMode>,
espgui::StaticText<TEXT_MODELMODE>, espgui::StaticText<TEXT_MODELMODE>,
DefaultModeModelModeAccessor, DefaultModeModelModeAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeHybridModelModeChangeDisplay = espgui::makeComponent< using DefaultModeHybridModelModeChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<UnifiedModelMode>, BobbyChangeValueDisplay<UnifiedModelMode>,
espgui::StaticText<TEXT_HYBRIDMODE>, espgui::StaticText<TEXT_HYBRIDMODE>,
DefaultModeHybridModelModeAccessor, DefaultModeHybridModelModeAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeSmoothingChangeDisplay = espgui::makeComponent< using DefaultModeSmoothingChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SMOOTHINGVAL>, espgui::StaticText<TEXT_SMOOTHINGVAL>,
DefaultModeSmoothingAccessor, DefaultModeSmoothingAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeFwSmoothingLowerLimitChangeDisplay = espgui::makeComponent< using DefaultModeFwSmoothingLowerLimitChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_FWSMOOTHING_LIMIT>, espgui::StaticText<TEXT_FWSMOOTHING_LIMIT>,
DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor, DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeFrontPercentageChangeDisplay = espgui::makeComponent< using DefaultModeFrontPercentageChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_FRONTPERCENTAGE>, espgui::StaticText<TEXT_FRONTPERCENTAGE>,
DefaultModeFrontPercentageAccessor, DefaultModeFrontPercentageAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeBackPercentageChangeDisplay = espgui::makeComponent< using DefaultModeBackPercentageChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_BACKPERCENTAGE>, espgui::StaticText<TEXT_BACKPERCENTAGE>,
DefaultModeBackPercentageAccessor, DefaultModeBackPercentageAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeAddSchwelleChangeDisplay = espgui::makeComponent< using DefaultModeAddSchwelleChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_ADDSCHWELLE>, espgui::StaticText<TEXT_ADDSCHWELLE>,
DefaultModeAddSchwelleAccessor, DefaultModeAddSchwelleAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeGas1WertChangeDisplay = espgui::makeComponent< using DefaultModeGas1WertChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_ADDGASVAL>, espgui::StaticText<TEXT_ADDGASVAL>,
DefaultModeGas1WertAccessor, DefaultModeGas1WertAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeGas2WertChangeDisplay = espgui::makeComponent< using DefaultModeGas2WertChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SUBGASVAL>, espgui::StaticText<TEXT_SUBGASVAL>,
DefaultModeGas2WertAccessor, DefaultModeGas2WertAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeBrems1WertChangeDisplay = espgui::makeComponent< using DefaultModeBrems1WertChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_ADDBRAKEVAL>, espgui::StaticText<TEXT_ADDBRAKEVAL>,
DefaultModeBrems1WertAccessor, DefaultModeBrems1WertAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeBrems2WertChangeDisplay = espgui::makeComponent< using DefaultModeBrems2WertChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SUBBRAKEVAL>, espgui::StaticText<TEXT_SUBBRAKEVAL>,
DefaultModeBrems2WertAccessor, DefaultModeBrems2WertAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeHybridActivationLimitChangeDisplay = espgui::makeComponent< using DefaultModeHybridActivationLimitChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_HYBRIDACTIVATIONLIMIT>, espgui::StaticText<TEXT_HYBRIDACTIVATIONLIMIT>,
DefaultModeHybridActivationLimitAccessor, DefaultModeHybridActivationLimitAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
espgui::SwitchScreenAction<DefaultModeSettingsMenu> espgui::SwitchScreenAction<DefaultModeSettingsMenu>
>; >;
using DefaultModeHybridDeactivationLimitChangeDisplay = espgui::makeComponent< using DefaultModeHybridDeactivationLimitChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_HYBRIDDEACTIVATIONLIMIT>, espgui::StaticText<TEXT_HYBRIDDEACTIVATIONLIMIT>,
DefaultModeHybridDeactivationLimitAccessor, DefaultModeHybridDeactivationLimitAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,

View File

@@ -7,34 +7,36 @@
#include "splitgraphdisplay.h" #include "splitgraphdisplay.h"
// local includes // local includes
#include "displays/bobbygraphdisplay.h"
#include "displays/bobbysplitgraphdisplay.h"
#include "utils.h" #include "utils.h"
#include "statistics.h" #include "statistics.h"
#include "displays/menus/mainmenu.h" #include "displays/menus/mainmenu.h"
namespace { namespace {
using GasGraphDisplay = espgui::makeComponent< using GasGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_GAS>, espgui::StaticText<TEXT_GAS>,
espgui::SingleGraphAccessor<GasStatistics>, espgui::SingleGraphAccessor<GasStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>>
>; >;
using BremsGraphDisplay = espgui::makeComponent< using BremsGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_BREMS>, espgui::StaticText<TEXT_BREMS>,
espgui::SingleGraphAccessor<BremsStatistics>, espgui::SingleGraphAccessor<BremsStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>>
>; >;
using PotisGraphDisplay = espgui::makeComponent< using PotisGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<2>, BobbyGraphDisplay<2>,
espgui::StaticText<TEXT_POTIS>, espgui::StaticText<TEXT_POTIS>,
espgui::DualGraphAccessor<GasStatistics, BremsStatistics>, espgui::DualGraphAccessor<GasStatistics, BremsStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>>
>; >;
using PotisSplitGraphDisplay = espgui::makeComponent< using PotisSplitGraphDisplay = espgui::makeComponent<
espgui::SplitGraphDisplay<1, 1>, BobbySplitGraphDisplay<1, 1>,
espgui::StaticText<TEXT_POTIS>, espgui::StaticText<TEXT_POTIS>,
espgui::SingleTopGraphAccessor<GasStatistics>, espgui::SingleTopGraphAccessor<GasStatistics>,
espgui::SingleBottomGraphAccessor<BremsStatistics>, espgui::SingleBottomGraphAccessor<BremsStatistics>,
@@ -43,14 +45,14 @@ using PotisSplitGraphDisplay = espgui::makeComponent<
>; >;
using AvgSpeedGraphDisplay = espgui::makeComponent< using AvgSpeedGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_AVGSPEED>, espgui::StaticText<TEXT_AVGSPEED>,
espgui::SingleGraphAccessor<AvgSpeedStatistics>, espgui::SingleGraphAccessor<AvgSpeedStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>>
>; >;
using AvgSpeedKmhGraphDisplay = espgui::makeComponent< using AvgSpeedKmhGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_AVGSPEEDKMH>, espgui::StaticText<TEXT_AVGSPEEDKMH>,
espgui::SingleGraphAccessor<AvgSpeedKmhStatistics>, espgui::SingleGraphAccessor<AvgSpeedKmhStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
@@ -58,7 +60,7 @@ using AvgSpeedKmhGraphDisplay = espgui::makeComponent<
>; >;
using SumCurrentGraphDisplay = espgui::makeComponent< using SumCurrentGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_SUMCURRENT>, espgui::StaticText<TEXT_SUMCURRENT>,
espgui::SingleGraphAccessor<SumCurrentStatistics>, espgui::SingleGraphAccessor<SumCurrentStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
@@ -66,28 +68,28 @@ using SumCurrentGraphDisplay = espgui::makeComponent<
>; >;
using FrontVoltageGraphDisplay = espgui::makeComponent< using FrontVoltageGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_FRONTVOLTAGE>, espgui::StaticText<TEXT_FRONTVOLTAGE>,
espgui::SingleGraphAccessor<FrontVoltageStatistics>, espgui::SingleGraphAccessor<FrontVoltageStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>>
>; >;
using BackVoltageGraphDisplay = espgui::makeComponent< using BackVoltageGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_BACKVOLTAGE>, espgui::StaticText<TEXT_BACKVOLTAGE>,
espgui::SingleGraphAccessor<BackVoltageStatistics>, espgui::SingleGraphAccessor<BackVoltageStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>>
>; >;
using VoltagesGraphDisplay = espgui::makeComponent< using VoltagesGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<2>, BobbyGraphDisplay<2>,
espgui::StaticText<TEXT_VOLTAGES>, espgui::StaticText<TEXT_VOLTAGES>,
espgui::DualGraphAccessor<FrontVoltageStatistics, BackVoltageStatistics>, espgui::DualGraphAccessor<FrontVoltageStatistics, BackVoltageStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>>
>; >;
using VoltagesSplitGraphDisplay = espgui::makeComponent< using VoltagesSplitGraphDisplay = espgui::makeComponent<
espgui::SplitGraphDisplay<1, 1>, BobbySplitGraphDisplay<1, 1>,
espgui::StaticText<TEXT_VOLTAGES>, espgui::StaticText<TEXT_VOLTAGES>,
espgui::SingleTopGraphAccessor<FrontVoltageStatistics>, espgui::SingleTopGraphAccessor<FrontVoltageStatistics>,
espgui::SingleBottomGraphAccessor<BackVoltageStatistics>, espgui::SingleBottomGraphAccessor<BackVoltageStatistics>,
@@ -97,28 +99,28 @@ using VoltagesSplitGraphDisplay = espgui::makeComponent<
#ifdef FEATURE_BMS #ifdef FEATURE_BMS
using BmsVoltageGraphDisplay = espgui::makeComponent< using BmsVoltageGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_BMSVOLTAGE>, espgui::StaticText<TEXT_BMSVOLTAGE>,
espgui::SingleGraphAccessor<BmsVoltageStatistics>, espgui::SingleGraphAccessor<BmsVoltageStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>>
>; >;
using BmsCurrentGraphDisplay = espgui::makeComponent< using BmsCurrentGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_BMSCURRENT>, espgui::StaticText<TEXT_BMSCURRENT>,
espgui::SingleGraphAccessor<BmsCurrentStatistics>, espgui::SingleGraphAccessor<BmsCurrentStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>>
>; >;
using BmsPowerGraphDisplay = espgui::makeComponent< using BmsPowerGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_BMSPOWER>, espgui::StaticText<TEXT_BMSPOWER>,
espgui::SingleGraphAccessor<BmsPowerStatistics>, espgui::SingleGraphAccessor<BmsPowerStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>>
>; >;
using SumCurrentsComparisonGraphDisplay = espgui::makeComponent< using SumCurrentsComparisonGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<2>, BobbyGraphDisplay<2>,
espgui::StaticText<TEXT_SUMCURRENTSCOMPARISON>, espgui::StaticText<TEXT_SUMCURRENTSCOMPARISON>,
DualGraphAccessor<SumCurrentStatistics, BmsCurrentStatistics>, DualGraphAccessor<SumCurrentStatistics, BmsCurrentStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
@@ -134,7 +136,7 @@ class MotorCurrentsStatistics : public virtual espgui::GraphAccessorInterface<4>
} }
}; };
using MotorCurrentsGraphDisplay = espgui::makeComponent< using MotorCurrentsGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<4>, BobbyGraphDisplay<4>,
espgui::StaticText<TEXT_MOTORCURRENTS>, espgui::StaticText<TEXT_MOTORCURRENTS>,
MotorCurrentsStatistics, MotorCurrentsStatistics,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,
@@ -142,7 +144,7 @@ using MotorCurrentsGraphDisplay = espgui::makeComponent<
>; >;
using RssiGraphDisplay = espgui::makeComponent< using RssiGraphDisplay = espgui::makeComponent<
espgui::GraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_RSSI>, espgui::StaticText<TEXT_RSSI>,
espgui::SingleGraphAccessor<RssiStatistics>, espgui::SingleGraphAccessor<RssiStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>,

View File

@@ -2,36 +2,35 @@
// 3rd party libs // 3rd party libs
#include <fmt/core.h> #include <fmt/core.h>
// local includes
#include "accessors/settingsaccessors.h"
#include "actions/switchscreenaction.h" #include "actions/switchscreenaction.h"
#include "actions/toggleboolaction.h" #include "actions/toggleboolaction.h"
#include "changevaluedisplay.h" #include "changevaluedisplay.h"
#include "changevaluedisplay_handbremsmode.h"
#include "checkboxicon.h" #include "checkboxicon.h"
#include "displays/menus/defaultmodesettingsmenu.h"
#include "icons/back.h" #include "icons/back.h"
// local includes
#include "displays/bobbychangevaluedisplay.h"
#include "accessors/settingsaccessors.h"
#include "changevaluedisplay_handbremsmode.h"
#include "displays/menus/defaultmodesettingsmenu.h"
#include "texts.h" #include "texts.h"
using namespace espgui;
namespace { namespace {
using HandBremsTriggerTimeoutChangeValueDisplay = makeComponent< using HandBremsTriggerTimeoutChangeValueDisplay = espgui::makeComponent<
ChangeValueDisplay<uint16_t>, BobbyChangeValueDisplay<uint16_t>,
StaticText<TEXT_HANDBREMSE_TRIGGERTIMEOUT>, espgui::StaticText<TEXT_HANDBREMSE_TRIGGERTIMEOUT>,
HandbremsTimeoutAccessor, HandbremsTimeoutAccessor,
BackActionInterface<SwitchScreenAction<HandbremsSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<HandbremsSettingsMenu>>,
SwitchScreenAction<HandbremsSettingsMenu> espgui::SwitchScreenAction<HandbremsSettingsMenu>
>; >;
using HandBremsModeChangeValueDisplay = makeComponent< using HandBremsModeChangeValueDisplay = espgui::makeComponent<
ChangeValueDisplay<HandbremseMode>, BobbyChangeValueDisplay<HandbremseMode>,
StaticText<TEXT_HANDBREMSE_MODE>, espgui::StaticText<TEXT_HANDBREMSE_MODE>,
HandbremsModeAccessor, HandbremsModeAccessor,
BackActionInterface<SwitchScreenAction<HandbremsSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<HandbremsSettingsMenu>>,
SwitchScreenAction<HandbremsSettingsMenu> espgui::SwitchScreenAction<HandbremsSettingsMenu>
>; >;
class HandBremsModeText : public virtual TextInterface class HandBremsModeText : public virtual espgui::TextInterface
{ {
public: public:
std::string text() const override std::string text() const override
@@ -43,6 +42,7 @@ public:
HandbremsSettingsMenu::HandbremsSettingsMenu() HandbremsSettingsMenu::HandbremsSettingsMenu()
{ {
using namespace espgui;
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_ENABLE>, ToggleBoolAction, CheckboxIcon, HandbremsEnabledAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_ENABLE>, ToggleBoolAction, CheckboxIcon, HandbremsEnabledAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_AUTOMATIC>, ToggleBoolAction, CheckboxIcon, HandbremsAutomaticAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_AUTOMATIC>, ToggleBoolAction, CheckboxIcon, HandbremsAutomaticAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_VISUALIZE>, ToggleBoolAction, CheckboxIcon, HandbremsVisualizeAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_VISUALIZE>, ToggleBoolAction, CheckboxIcon, HandbremsVisualizeAccessor>>();
@@ -53,5 +53,5 @@ HandbremsSettingsMenu::HandbremsSettingsMenu()
void HandbremsSettingsMenu::back() void HandbremsSettingsMenu::back()
{ {
switchScreen<DefaultModeSettingsMenu>(); espgui::switchScreen<DefaultModeSettingsMenu>();
} }

View File

@@ -7,6 +7,7 @@
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "changevaluedisplay_larsmmode_mode.h" #include "changevaluedisplay_larsmmode_mode.h"
#include "changevaluedisplay_unifiedmodelmode.h" #include "changevaluedisplay_unifiedmodelmode.h"
@@ -15,21 +16,21 @@
namespace { namespace {
using LarsmModeModelModeChangeDisplay = espgui::makeComponent< using LarsmModeModelModeChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<UnifiedModelMode>, BobbyChangeValueDisplay<UnifiedModelMode>,
espgui::StaticText<TEXT_MODELMODE>, espgui::StaticText<TEXT_MODELMODE>,
LarsmModeModelModeAccessor, LarsmModeModelModeAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>,
espgui::SwitchScreenAction<LarsmModeSettingsMenu> espgui::SwitchScreenAction<LarsmModeSettingsMenu>
>; >;
using LarsmModeModeChangeDisplay = espgui::makeComponent< using LarsmModeModeChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<LarsmModeMode>, BobbyChangeValueDisplay<LarsmModeMode>,
espgui::StaticText<TEXT_SETMODE>, espgui::StaticText<TEXT_SETMODE>,
LarsmModeModeAccessor, LarsmModeModeAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>,
espgui::SwitchScreenAction<LarsmModeSettingsMenu> espgui::SwitchScreenAction<LarsmModeSettingsMenu>
>; >;
using LarsmModeIterationsChangeDisplay = espgui::makeComponent< using LarsmModeIterationsChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_SETITERATIONS>, espgui::StaticText<TEXT_SETITERATIONS>,
LarsmModeIterationsAccessor, LarsmModeIterationsAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>,

View File

@@ -12,6 +12,7 @@
#include <menuitem.h> #include <menuitem.h>
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "displays/ledstripcolorsdisplay.h" #include "displays/ledstripcolorsdisplay.h"
#include "displays/menus/ledstripselectotamode.h" #include "displays/menus/ledstripselectotamode.h"
@@ -23,82 +24,80 @@
// clang-format off // clang-format off
using namespace espgui;
namespace { namespace {
using LedsCountChangeScreen = makeComponent< using LedsCountChangeScreen = espgui::makeComponent<
ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
StaticText<TEXT_LEDSCOUNT>, espgui::StaticText<TEXT_LEDSCOUNT>,
LedsCountAccessor, LedsCountAccessor,
BackActionInterface<SwitchScreenAction<LedstripMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
SwitchScreenAction<LedstripMenu> espgui::SwitchScreenAction<LedstripMenu>
>; >;
using CenterOffsetChangeScreen = makeComponent< using CenterOffsetChangeScreen = espgui::makeComponent<
ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
StaticText<TEXT_CENTEROFFSET>, espgui::StaticText<TEXT_CENTEROFFSET>,
CenterOffsetAccessor, CenterOffsetAccessor,
BackActionInterface<SwitchScreenAction<LedstripMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
SwitchScreenAction<LedstripMenu> espgui::SwitchScreenAction<LedstripMenu>
>; >;
using SmallOffsetChangeScreen = makeComponent< using SmallOffsetChangeScreen = espgui::makeComponent<
ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
StaticText<TEXT_SMALLOFFSET>, espgui::StaticText<TEXT_SMALLOFFSET>,
SmallOffsetAccessor, SmallOffsetAccessor,
BackActionInterface<SwitchScreenAction<LedstripMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
SwitchScreenAction<LedstripMenu> espgui::SwitchScreenAction<LedstripMenu>
>; >;
using BigOffsetChangeScreen = makeComponent< using BigOffsetChangeScreen = espgui::makeComponent<
ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
StaticText<TEXT_BIGOFFSET>, espgui::StaticText<TEXT_BIGOFFSET>,
BigOffsetAccessor, BigOffsetAccessor,
BackActionInterface<SwitchScreenAction<LedstripMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
SwitchScreenAction<LedstripMenu> espgui::SwitchScreenAction<LedstripMenu>
>; >;
using DeziampereChangeScreen = makeComponent< using DeziampereChangeScreen = espgui::makeComponent<
ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
StaticText<TEXT_LEDSTRIP_MILLIAMP>, espgui::StaticText<TEXT_LEDSTRIP_MILLIAMP>,
DeziampereAccessor, DeziampereAccessor,
BackActionInterface<SwitchScreenAction<LedstripMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
SwitchScreenAction<LedstripMenu> espgui::SwitchScreenAction<LedstripMenu>
>; >;
using StVOOffsetChangeScreen = makeComponent< using StVOOffsetChangeScreen = espgui::makeComponent<
ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
StaticText<TEXT_STVO_FRONTOFFSET>, espgui::StaticText<TEXT_STVO_FRONTOFFSET>,
LedsStVOFrontOffsetAccessor, LedsStVOFrontOffsetAccessor,
BackActionInterface<SwitchScreenAction<LedstripMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
SwitchScreenAction<LedstripMenu> espgui::SwitchScreenAction<LedstripMenu>
>; >;
using StVOLengthChangeScreen = makeComponent< using StVOLengthChangeScreen = espgui::makeComponent<
ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
StaticText<TEXT_STVO_FRONTLENGTH>, espgui::StaticText<TEXT_STVO_FRONTLENGTH>,
LedsStVOFrontLengthAccessor, LedsStVOFrontLengthAccessor,
BackActionInterface<SwitchScreenAction<LedstripMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
SwitchScreenAction<LedstripMenu> espgui::SwitchScreenAction<LedstripMenu>
>; >;
using animationMultiplierChangeScreen = makeComponent< using animationMultiplierChangeScreen = espgui::makeComponent<
ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
StaticText<TEXT_ANIMATION_MULTIPLIER>, espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>,
AnimationMultiplierAccessor, AnimationMultiplierAccessor,
BackActionInterface<SwitchScreenAction<LedstripMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
SwitchScreenAction<LedstripMenu> espgui::SwitchScreenAction<LedstripMenu>
>; >;
using ledstripBrightnessChangeScreen = makeComponent< using ledstripBrightnessChangeScreen = espgui::makeComponent<
ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
StaticText<TEXT_LEDSTRIP_BRIGHTNESS>, espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>,
LedstripBrightnessAccessor, LedstripBrightnessAccessor,
BackActionInterface<SwitchScreenAction<LedstripMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
SwitchScreenAction<LedstripMenu> espgui::SwitchScreenAction<LedstripMenu>
>; >;
class AllCustomLedsOffAction : public virtual ActionInterface class AllCustomLedsOffAction : public virtual espgui::ActionInterface
{ {
public: public:
void triggered() override void triggered() override
@@ -113,35 +112,36 @@ public:
LedstripMenu::LedstripMenu() LedstripMenu::LedstripMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIPCOLORMENU>, SwitchScreenAction<LedstripColorsDisplay>>>(); using namespace espgui;
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDANIMATION>, ToggleBoolAction, CheckboxIcon, EnableLedAnimationAccessor>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIPCOLORMENU>, espgui::SwitchScreenAction<LedstripColorsDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BRAKELIGHTS>, ToggleBoolAction, CheckboxIcon, EnableBrakeLightsAccessor>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDANIMATION>, ToggleBoolAction, CheckboxIcon, EnableLedAnimationAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLINKBEEP>, ToggleBoolAction, CheckboxIcon, EnableBeepWhenBlinkAccessor>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BRAKELIGHTS>, ToggleBoolAction, CheckboxIcon, EnableBrakeLightsAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FULLBLINK>, ToggleBoolAction, CheckboxIcon, EnableFullBlinkAccessor>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BLINKBEEP>, ToggleBoolAction, CheckboxIcon, EnableBeepWhenBlinkAccessor>>();
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_FULLBLINK>, ToggleBoolAction, CheckboxIcon, EnableFullBlinkAccessor>>();
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_STVO>, ToggleBoolAction, CheckboxIcon, EnableLedstripStVOAccessor>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_STVO>, ToggleBoolAction, CheckboxIcon, EnableLedstripStVOAccessor>>(); }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STVO_ENABLEFRONTLIGHT>, ToggleBoolAction, CheckboxIcon, EnableLedstripStVOFrontlight>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_STVO_ENABLEFRONTLIGHT>, ToggleBoolAction, CheckboxIcon, EnableLedstripStVOFrontlight>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_ALLCUSTOMOFF>, AllCustomLedsOffAction>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_ALLCUSTOMOFF>, AllCustomLedsOffAction>>();
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTOFFSET, LedsStVOFrontOffsetAccessor>, SwitchScreenAction<StVOOffsetChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTOFFSET, LedsStVOFrontOffsetAccessor>, espgui::SwitchScreenAction<StVOOffsetChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTLENGTH, LedsStVOFrontLengthAccessor>, SwitchScreenAction<StVOLengthChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTLENGTH, LedsStVOFrontLengthAccessor>, espgui::SwitchScreenAction<StVOLengthChangeScreen>>>(); }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTANIMATION>, SwitchScreenAction<LedstripSelectAnimationMenu>>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_SELECTANIMATION>, espgui::SwitchScreenAction<LedstripSelectAnimationMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLINKANIMATION>, SwitchScreenAction<LedstripSelectBlinkMenu>>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BLINKANIMATION>, espgui::SwitchScreenAction<LedstripSelectBlinkMenu>>>();
#ifdef FEATURE_OTA #ifdef FEATURE_OTA
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_CHANGE_OTA_ANIM>, SwitchScreenAction<ledstripOtaAnimationChangeMenu>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_CHANGE_OTA_ANIM>, espgui::SwitchScreenAction<ledstripOtaAnimationChangeMenu>>>(); }
#endif #endif
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_MULTIPLIER>, SwitchScreenAction<animationMultiplierChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>, espgui::SwitchScreenAction<animationMultiplierChangeScreen>>>();
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_LEDSCOUNT, LedsCountAccessor>, SwitchScreenAction<LedsCountChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_LEDSCOUNT, LedsCountAccessor>, espgui::SwitchScreenAction<LedsCountChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CENTEROFFSET, CenterOffsetAccessor>, SwitchScreenAction<CenterOffsetChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CENTEROFFSET, CenterOffsetAccessor>, espgui::SwitchScreenAction<CenterOffsetChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMALLOFFSET, SmallOffsetAccessor>, SwitchScreenAction<SmallOffsetChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMALLOFFSET, SmallOffsetAccessor>, espgui::SwitchScreenAction<SmallOffsetChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BIGOFFSET, BigOffsetAccessor>, SwitchScreenAction<BigOffsetChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BIGOFFSET, BigOffsetAccessor>, espgui::SwitchScreenAction<BigOffsetChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_BRIGHTNESS>, SwitchScreenAction<ledstripBrightnessChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>, espgui::SwitchScreenAction<ledstripBrightnessChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_LEDSTRIP_MILLIAMP, DeziampereAccessor>, SwitchScreenAction<DeziampereChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_LEDSTRIP_MILLIAMP, DeziampereAccessor>, espgui::SwitchScreenAction<DeziampereChangeScreen>>>(); }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BACK>, espgui::SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
void LedstripMenu::back() void LedstripMenu::back()
{ {
switchScreen<MainMenu>(); espgui::switchScreen<MainMenu>();
} }
#endif #endif

View File

@@ -7,48 +7,49 @@
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "displays/menus/settingsmenu.h" #include "displays/menus/settingsmenu.h"
namespace { namespace {
using IMotMaxChangeScreen = espgui::makeComponent< using IMotMaxChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_IMOTMAX>, espgui::StaticText<TEXT_IMOTMAX>,
IMotMaxAccessor, IMotMaxAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
espgui::SwitchScreenAction<LimitsSettingsMenu> espgui::SwitchScreenAction<LimitsSettingsMenu>
>; >;
using IDcMaxChangeScreen = espgui::makeComponent< using IDcMaxChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_IDCMAX>, espgui::StaticText<TEXT_IDCMAX>,
IDcMaxAccessor, IDcMaxAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
espgui::SwitchScreenAction<LimitsSettingsMenu> espgui::SwitchScreenAction<LimitsSettingsMenu>
>; >;
using NMotMaxKmhChangeScreen = espgui::makeComponent< using NMotMaxKmhChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_NMOTMAXKMH>, espgui::StaticText<TEXT_NMOTMAXKMH>,
NMotMaxKmhAccessor, NMotMaxKmhAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
espgui::SwitchScreenAction<LimitsSettingsMenu> espgui::SwitchScreenAction<LimitsSettingsMenu>
>; >;
using NMotMaxRpmChangeScreen = espgui::makeComponent< using NMotMaxRpmChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_NMOTMAX>, espgui::StaticText<TEXT_NMOTMAX>,
NMotMaxRpmAccessor, NMotMaxRpmAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
espgui::SwitchScreenAction<LimitsSettingsMenu> espgui::SwitchScreenAction<LimitsSettingsMenu>
>; >;
using FieldWeakMaxChangeScreen = espgui::makeComponent< using FieldWeakMaxChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_FIELDWEAKMAX>, espgui::StaticText<TEXT_FIELDWEAKMAX>,
FieldWeakMaxAccessor, FieldWeakMaxAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
espgui::SwitchScreenAction<LimitsSettingsMenu> espgui::SwitchScreenAction<LimitsSettingsMenu>
>; >;
using PhaseAdvMaxChangeScreen = espgui::makeComponent< using PhaseAdvMaxChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_PHASEADVMAX>, espgui::StaticText<TEXT_PHASEADVMAX>,
PhaseAdvMaxAccessor, PhaseAdvMaxAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,

View File

@@ -9,13 +9,14 @@
#include "changevaluedisplay.h" #include "changevaluedisplay.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "globals.h" #include "globals.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "displays/menus/boardcomputerhardwaresettingsmenu.h" #include "displays/menus/boardcomputerhardwaresettingsmenu.h"
namespace { namespace {
using LockscreenPinDigit0ChangeScreen = espgui::makeComponent< using LockscreenPinDigit0ChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int8_t>, BobbyChangeValueDisplay<int8_t>,
espgui::StaticText<TEXT_PINDIGIT0>, espgui::StaticText<TEXT_PINDIGIT0>,
LockscreenPinDigitAccessor<0>, LockscreenPinDigitAccessor<0>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
@@ -23,7 +24,7 @@ using LockscreenPinDigit0ChangeScreen = espgui::makeComponent<
>; >;
using LockscreenPinDigit1ChangeScreen = espgui::makeComponent< using LockscreenPinDigit1ChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int8_t>, BobbyChangeValueDisplay<int8_t>,
espgui::StaticText<TEXT_PINDIGIT1>, espgui::StaticText<TEXT_PINDIGIT1>,
LockscreenPinDigitAccessor<1>, LockscreenPinDigitAccessor<1>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
@@ -31,7 +32,7 @@ using LockscreenPinDigit1ChangeScreen = espgui::makeComponent<
>; >;
using LockscreenPinDigit2ChangeScreen = espgui::makeComponent< using LockscreenPinDigit2ChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int8_t>, BobbyChangeValueDisplay<int8_t>,
espgui::StaticText<TEXT_PINDIGIT2>, espgui::StaticText<TEXT_PINDIGIT2>,
LockscreenPinDigitAccessor<2>, LockscreenPinDigitAccessor<2>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
@@ -39,7 +40,7 @@ using LockscreenPinDigit2ChangeScreen = espgui::makeComponent<
>; >;
using LockscreenPinDigit3ChangeScreen = espgui::makeComponent< using LockscreenPinDigit3ChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<int8_t>, BobbyChangeValueDisplay<int8_t>,
espgui::StaticText<TEXT_PINDIGIT3>, espgui::StaticText<TEXT_PINDIGIT3>,
LockscreenPinDigitAccessor<3>, LockscreenPinDigitAccessor<3>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,

View File

@@ -7,13 +7,14 @@
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "displays/menus/modessettingsmenu.h" #include "displays/menus/modessettingsmenu.h"
namespace { namespace {
using MotortestMultiplikatorChangeDisplay = espgui::makeComponent< using MotortestMultiplikatorChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_MOTORTESTMULTIPLIKATOR>, espgui::StaticText<TEXT_MOTORTESTMULTIPLIKATOR>,
MotortestModeMultiplikatorAccessor, MotortestModeMultiplikatorAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>,
@@ -21,7 +22,7 @@ using MotortestMultiplikatorChangeDisplay = espgui::makeComponent<
>; >;
using MotortestMaxPwmChangeDisplay = espgui::makeComponent< using MotortestMaxPwmChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<uint16_t>, BobbyChangeValueDisplay<uint16_t>,
espgui::StaticText<TEXT_MOTORTESTMAXPWM>, espgui::StaticText<TEXT_MOTORTESTMAXPWM>,
MotortestMaxPwmAccessor, MotortestMaxPwmAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>,

View File

@@ -7,6 +7,7 @@
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "changevaluedisplay_unifiedmodelmode.h" #include "changevaluedisplay_unifiedmodelmode.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
@@ -16,7 +17,7 @@
namespace { namespace {
using TempomatModeCruiseMotTgtChangeDisplay = espgui::makeComponent< using TempomatModeCruiseMotTgtChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_NCRUISEMOTTGT>, espgui::StaticText<TEXT_NCRUISEMOTTGT>,
TempomatModeCruiseMotTgtAccessor, TempomatModeCruiseMotTgtAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>,
@@ -24,7 +25,7 @@ using TempomatModeCruiseMotTgtChangeDisplay = espgui::makeComponent<
>; >;
using TempomatModeModelModeChangeScreen = espgui::makeComponent< using TempomatModeModelModeChangeScreen = espgui::makeComponent<
espgui::ChangeValueDisplay<UnifiedModelMode>, BobbyChangeValueDisplay<UnifiedModelMode>,
espgui::StaticText<TEXT_MODELMODE>, espgui::StaticText<TEXT_MODELMODE>,
TempomatModeModelModeAccessor, TempomatModeModelModeAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>,

View File

@@ -16,10 +16,12 @@
#include "espstrutils.h" #include "espstrutils.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "displays/menus/settingsmenu.h" #include "displays/menus/settingsmenu.h"
namespace {
class CurrentUtcDateTimeText : public virtual espgui::TextInterface class CurrentUtcDateTimeText : public virtual espgui::TextInterface
{ {
public: public:
@@ -44,7 +46,7 @@ public:
}; };
using TimezoneOffsetChangeDisplay = espgui::makeComponent< using TimezoneOffsetChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int32_t>, BobbyChangeValueDisplay<int32_t>,
espgui::StaticText<TEXT_OFFSET>, espgui::StaticText<TEXT_OFFSET>,
TimezoneOffsetAccessor, TimezoneOffsetAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
@@ -52,7 +54,7 @@ using TimezoneOffsetChangeDisplay = espgui::makeComponent<
>; >;
using DaylightSavingModeChangeDisplay = espgui::makeComponent< using DaylightSavingModeChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<espchrono::DayLightSavingMode>, BobbyChangeValueDisplay<espchrono::DayLightSavingMode>,
espgui::StaticText<TEXT_DAYLIGHTSAVINGMODE>, espgui::StaticText<TEXT_DAYLIGHTSAVINGMODE>,
DaylightSavingModeAccessor, DaylightSavingModeAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
@@ -61,7 +63,7 @@ using DaylightSavingModeChangeDisplay = espgui::makeComponent<
#ifdef FEATURE_NTP #ifdef FEATURE_NTP
using TimeSyncModeChangeDisplay = espgui::makeComponent< using TimeSyncModeChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<sntp_sync_mode_t>, BobbyChangeValueDisplay<sntp_sync_mode_t>,
espgui::StaticText<TEXT_NTPMODE>, espgui::StaticText<TEXT_NTPMODE>,
TimeSyncModeAccessor, TimeSyncModeAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
@@ -69,7 +71,7 @@ using TimeSyncModeChangeDisplay = espgui::makeComponent<
>; >;
using TimeSyncIntervalChangeDisplay = espgui::makeComponent< using TimeSyncIntervalChangeDisplay = espgui::makeComponent<
espgui::ChangeValueDisplay<int32_t>, BobbyChangeValueDisplay<int32_t>,
espgui::StaticText<TEXT_NTPINTERVAL>, espgui::StaticText<TEXT_NTPINTERVAL>,
TimeSyncIntervalAccessor, TimeSyncIntervalAccessor,
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>, espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
@@ -85,6 +87,7 @@ public:
} }
}; };
#endif #endif
} // namespace
using namespace espgui; using namespace espgui;

View File

@@ -75,12 +75,12 @@ void WifiScanMenu::update()
{ {
if (m_reusableItems.empty()) if (m_reusableItems.empty())
{ {
auto &item = constructMenuItem<makeComponent<MenuItem, ChangeableText, DummyAction>>(); auto &item = constructMenuItem<menu_item_t>();
item.setTitle(std::move(ssid)); item.setTitle(std::move(ssid));
} }
else else
{ {
std::unique_ptr<makeComponent<MenuItem, ChangeableText, DummyAction>> ptr = std::move(m_reusableItems.back()); std::unique_ptr<menu_item_t> ptr = std::move(m_reusableItems.back());
m_reusableItems.pop_back(); m_reusableItems.pop_back();
ptr->setTitle(std::move(ssid)); ptr->setTitle(std::move(ssid));
emplaceMenuItem(std::move(ptr)); emplaceMenuItem(std::move(ptr));
@@ -88,13 +88,13 @@ void WifiScanMenu::update()
} }
else else
{ {
auto &item = *(makeComponent<MenuItem, ChangeableText, DummyAction>*)(&getMenuItem(i)); auto &item = *(menu_item_t*)(&getMenuItem(i));
item.setTitle(std::move(ssid)); item.setTitle(std::move(ssid));
} }
} }
while (menuItemCount() > (result ? result->entries.size() : 0)) while (menuItemCount() > (result ? result->entries.size() : 0))
m_reusableItems.emplace_back((makeComponent<MenuItem, ChangeableText, DummyAction>*)takeLastMenuItem().release()); m_reusableItems.emplace_back((menu_item_t*)takeLastMenuItem().release());
emplaceMenuItem(std::move(backButton)); emplaceMenuItem(std::move(backButton));

View File

@@ -28,5 +28,7 @@ public:
private: private:
std::optional<espchrono::millis_clock::time_point> m_lastScanComplete; std::optional<espchrono::millis_clock::time_point> m_lastScanComplete;
std::vector<std::unique_ptr<makeComponent<MenuItem, ChangeableText, DummyAction>>> m_reusableItems;
using menu_item_t = espgui::makeComponent<espgui::MenuItem, espgui::ChangeableText, espgui::DummyAction>;
std::vector<std::unique_ptr<menu_item_t>> m_reusableItems;
}; };

View File

@@ -96,5 +96,6 @@ void QrImportDisplay::buttonPressed(espgui::Button button)
m_confirmLocked = true; m_confirmLocked = true;
} }
break; break;
default:;
} }
} }

View File

@@ -15,6 +15,8 @@ public:
void redraw() override; void redraw() override;
void stop() override; void stop() override;
void buttonPressed(espgui::Button button) override;
private: private:
constexpr static auto DEG2RAD = 0.0174532925; constexpr static auto DEG2RAD = 0.0174532925;

View File

@@ -115,6 +115,7 @@ void UpdateDisplay::buttonPressed(espgui::Button button)
if (const auto result = triggerOta(stringSettings.otaUrl); !result) if (const auto result = triggerOta(stringSettings.otaUrl); !result)
ESP_LOGE("BOBBY", "triggerOta() failed with %.*s", result.error().size(), result.error().data()); ESP_LOGE("BOBBY", "triggerOta() failed with %.*s", result.error().size(), result.error().data());
break; break;
default:;
} }
} }
#endif #endif

View File

@@ -34,7 +34,12 @@ void updateDisplay()
rotated = 0; rotated = 0;
if (currentDisplay) if (currentDisplay)
currentDisplay->rotate(rotatedCopy); {
if (rotatedCopy < 0)
currentDisplay->buttonPressed(espgui::Button::Up);
else
currentDisplay->buttonPressed(espgui::Button::Down);
}
} }
if (requestFullRedraw) if (requestFullRedraw)
@@ -52,7 +57,7 @@ void updateDisplay()
confirmButtonPressed = false; confirmButtonPressed = false;
if (currentDisplay) if (currentDisplay)
currentDisplay->confirm(); currentDisplay->buttonPressed(espgui::Button::Right);
} }
if (confirmButtonLongPressed) if (confirmButtonLongPressed)
@@ -66,7 +71,7 @@ void updateDisplay()
backButtonPressed = false; backButtonPressed = false;
if (currentDisplay) if (currentDisplay)
currentDisplay->back(); currentDisplay->buttonPressed(espgui::Button::Left);
} }
if (backButtonLongPressed) if (backButtonLongPressed)