Added presets for the remaining driving modes

This commit is contained in:
2020-06-03 23:09:53 +02:00
parent 9444187fb8
commit 7922452f30
2 changed files with 18 additions and 0 deletions

View File

@ -52,6 +52,20 @@ public:
void triggered() override { settings.defaultMode = *preset; saveSettings(); }
};
template<const Settings::TempomatMode *preset>
class ApplyTempomatModePresetAction : public virtual ActionInterface
{
public:
void triggered() override { settings.tempomatMode = *preset; saveSettings(); }
};
template<const Settings::LarsmMode *preset>
class ApplyLarsmModePresetAction : public virtual ActionInterface
{
public:
void triggered() override { settings.larsmMode = *preset; saveSettings(); }
};
class PresetsMenu :
public MenuDisplay,
public StaticText<TEXT_PRESETS>,
@ -66,6 +80,8 @@ class PresetsMenu :
makeComponent<MenuItem, StaticText<TEXT_DEFAULTBOARDCOMPUTERHARDWARE>, ApplyBoardcomputerHardwarePresetAction<&presets::defaultBoardcomputerHardware>>,
makeComponent<MenuItem, StaticText<TEXT_DEFAULTDEFAULTMODE>, ApplyDefaultModePresetAction<&presets::defaultDefaultMode>>,
makeComponent<MenuItem, StaticText<TEXT_SINUSODIALDEFAULTMODE>, ApplyDefaultModePresetAction<&presets::sinusodialDefaultMode>>,
makeComponent<MenuItem, StaticText<TEXT_DEFAULTTEMPOMATMODE>, ApplyTempomatModePresetAction<&presets::defaultTempomatMode>>,
makeComponent<MenuItem, StaticText<TEXT_DEFAULTLARSMMODE>, ApplyLarsmModePresetAction<&presets::defaultLarsmMode>>,
makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&icons::back>>
>
{};

View File

@ -257,6 +257,8 @@ 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_SINUSODIALDEFAULTMODE[] = "Sinusodial 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";