Limits menu now shows live values in menu items
This commit is contained in:
@ -17,44 +17,50 @@ class SettingsMenu;
|
||||
} // namespace
|
||||
|
||||
namespace {
|
||||
template<const char *Tprefix, typename Taccessor>
|
||||
struct TextWithValueHelper : public virtual TextInterface
|
||||
{
|
||||
String text() const override { return Tprefix + (' ' + String{Taccessor{}.getValue()}); }
|
||||
};
|
||||
|
||||
using IMotMaxChangeScreen = makeComponent<
|
||||
ChangeValueDisplay<int16_t>,
|
||||
StaticText<TEXT_SETIMOTMAX>,
|
||||
StaticText<TEXT_IMOTMAX>,
|
||||
IMotMaxAccessor,
|
||||
BackActionInterface<SwitchScreenAction<LimitsSettingsMenu>>,
|
||||
SwitchScreenAction<LimitsSettingsMenu>
|
||||
>;
|
||||
using IDcMaxChangeScreen = makeComponent<
|
||||
ChangeValueDisplay<int16_t>,
|
||||
StaticText<TEXT_SETIDCMAX>,
|
||||
StaticText<TEXT_IDCMAX>,
|
||||
IDcMaxAccessor,
|
||||
BackActionInterface<SwitchScreenAction<LimitsSettingsMenu>>,
|
||||
SwitchScreenAction<LimitsSettingsMenu>
|
||||
>;
|
||||
using NMotMaxKmhChangeScreen = makeComponent<
|
||||
ChangeValueDisplay<int16_t>,
|
||||
StaticText<TEXT_SETNMOTMAXKMH>,
|
||||
StaticText<TEXT_NMOTMAXKMH>,
|
||||
NMotMaxKmhAccessor,
|
||||
BackActionInterface<SwitchScreenAction<LimitsSettingsMenu>>,
|
||||
SwitchScreenAction<LimitsSettingsMenu>
|
||||
>;
|
||||
using NMotMaxRpmChangeScreen = makeComponent<
|
||||
ChangeValueDisplay<int16_t>,
|
||||
StaticText<TEXT_SETNMOTMAX>,
|
||||
StaticText<TEXT_NMOTMAX>,
|
||||
NMotMaxRpmAccessor,
|
||||
BackActionInterface<SwitchScreenAction<LimitsSettingsMenu>>,
|
||||
SwitchScreenAction<LimitsSettingsMenu>
|
||||
>;
|
||||
using FieldWeakMaxChangeScreen = makeComponent<
|
||||
ChangeValueDisplay<int16_t>,
|
||||
StaticText<TEXT_SETFIELDWEAKMAX>,
|
||||
StaticText<TEXT_FIELDWEAKMAX>,
|
||||
FieldWeakMaxAccessor,
|
||||
BackActionInterface<SwitchScreenAction<LimitsSettingsMenu>>,
|
||||
SwitchScreenAction<LimitsSettingsMenu>
|
||||
>;
|
||||
using PhaseAdvMaxChangeScreen = makeComponent<
|
||||
ChangeValueDisplay<int16_t>,
|
||||
StaticText<TEXT_SETPHASEADVMAX>,
|
||||
StaticText<TEXT_PHASEADVMAX>,
|
||||
PhaseAdvMaxAccessor,
|
||||
BackActionInterface<SwitchScreenAction<LimitsSettingsMenu>>,
|
||||
SwitchScreenAction<LimitsSettingsMenu>
|
||||
@ -68,13 +74,13 @@ class LimitsSettingsMenu :
|
||||
public:
|
||||
LimitsSettingsMenu()
|
||||
{
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETIMOTMAX>, SwitchScreenAction<IMotMaxChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETIDCMAX>, SwitchScreenAction<IDcMaxChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETNMOTMAXKMH>, SwitchScreenAction<NMotMaxKmhChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETNMOTMAX>, SwitchScreenAction<NMotMaxRpmChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETFIELDWEAKMAX>, SwitchScreenAction<FieldWeakMaxChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETPHASEADVMAX>, SwitchScreenAction<PhaseAdvMaxChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&icons::back>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_IMOTMAX, IMotMaxAccessor>, SwitchScreenAction<IMotMaxChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_IDCMAX, IDcMaxAccessor>, SwitchScreenAction<IDcMaxChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NMOTMAXKMH, NMotMaxKmhAccessor>, SwitchScreenAction<NMotMaxKmhChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NMOTMAX, NMotMaxRpmAccessor>, SwitchScreenAction<NMotMaxRpmChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FIELDWEAKMAX, FieldWeakMaxAccessor>, SwitchScreenAction<FieldWeakMaxChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PHASEADVMAX, PhaseAdvMaxAccessor>, SwitchScreenAction<PhaseAdvMaxChangeScreen>>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&icons::back>>>();
|
||||
}
|
||||
};
|
||||
} // namespace
|
||||
|
14
src/texts.h
14
src/texts.h
@ -130,13 +130,13 @@ constexpr char TEXT_REVERSEBEEPDURATION1[] = "Reverse beep duration1";
|
||||
//constexpr char TEXT_BACK[] = "Back";
|
||||
|
||||
//LimitsSettingsMenu
|
||||
//constexpr char TEXT_LIMITSSETTINGS[] = "Common settings";
|
||||
constexpr char TEXT_SETIMOTMAX[] = "Set iMotMax";
|
||||
constexpr char TEXT_SETIDCMAX[] = "Set iDcMax";
|
||||
constexpr char TEXT_SETNMOTMAXKMH[] = "Set nMotMax (kmh)";
|
||||
constexpr char TEXT_SETNMOTMAX[] = "Set nMotMax";
|
||||
constexpr char TEXT_SETFIELDWEAKMAX[] = "Set fieldWeakMax";
|
||||
constexpr char TEXT_SETPHASEADVMAX[] = "Set phaseAdvMax";
|
||||
//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";
|
||||
|
||||
//DebugMenu
|
||||
|
Reference in New Issue
Block a user