Added presets for defaultMode driving mode

This commit is contained in:
2020-06-03 23:03:05 +02:00
parent 881cfb8f22
commit 9444187fb8
3 changed files with 25 additions and 4 deletions

View File

@ -45,6 +45,13 @@ public:
void triggered() override { settings.boardcomputerHardware = *preset; saveSettings(); }
};
template<const Settings::DefaultMode *preset>
class ApplyDefaultModePresetAction : public virtual ActionInterface
{
public:
void triggered() override { settings.defaultMode = *preset; saveSettings(); }
};
class PresetsMenu :
public MenuDisplay,
public StaticText<TEXT_PRESETS>,
@ -57,10 +64,8 @@ class PresetsMenu :
makeComponent<MenuItem, StaticText<TEXT_MOSFETSOFFCONTROLLERHARDWARE>, ApplyControllerHardwarePresetAction<&presets::mosfetsOffControllerHardware>>,
makeComponent<MenuItem, StaticText<TEXT_SPINNERCONTROLLERHARDWARE>, ApplyControllerHardwarePresetAction<&presets::spinnerControllerHardware>>,
makeComponent<MenuItem, StaticText<TEXT_DEFAULTBOARDCOMPUTERHARDWARE>, ApplyBoardcomputerHardwarePresetAction<&presets::defaultBoardcomputerHardware>>,
makeComponent<MenuItem, StaticText<TEXT_STREET>, DisabledColor, DummyAction>,
makeComponent<MenuItem, StaticText<TEXT_SIDEWALK>, DisabledColor, DummyAction>,
makeComponent<MenuItem, StaticText<TEXT_POLICE>, DisabledColor, DummyAction>,
makeComponent<MenuItem, StaticText<TEXT_RACE>, DisabledColor, DummyAction>,
makeComponent<MenuItem, StaticText<TEXT_DEFAULTDEFAULTMODE>, ApplyDefaultModePresetAction<&presets::defaultDefaultMode>>,
makeComponent<MenuItem, StaticText<TEXT_SINUSODIALDEFAULTMODE>, ApplyDefaultModePresetAction<&presets::sinusodialDefaultMode>>,
makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&icons::back>>
>
{};

View File

@ -98,6 +98,20 @@ constexpr Settings::DefaultMode defaultDefaultMode {
.brems2_wert = 750
};
constexpr Settings::DefaultMode sinusodialDefaultMode {
.ctrlTyp = ControlType::Sinusoidal,
.ctrlMod = ControlMode::Voltage,
.enableSmoothing = true,
.smoothing = 20,
.frontPercentage = 100,
.backPercentage = 100,
.add_schwelle = 500,
.gas1_wert = 1250,
.gas2_wert = 1250,
.brems1_wert = 150,
.brems2_wert = 1000
};
constexpr Settings::TempomatMode defaultTempomatMode {
.ctrlTyp = ControlType::FieldOrientedControl,
.ctrlMod = ControlMode::Speed

View File

@ -255,6 +255,8 @@ constexpr char TEXT_DEFAULTCONTROLLERHARDWARE[] = "Default controller H/W";
constexpr char TEXT_MOSFETSOFFCONTROLLERHARDWARE[] = "MOSFETs off controller H/W";
constexpr char TEXT_SPINNERCONTROLLERHARDWARE[] = "Spinner controller H/W";
constexpr char TEXT_DEFAULTBOARDCOMPUTERHARDWARE[] = "Default boardcomputer H/W";
constexpr char TEXT_DEFAULTDEFAULTMODE[] = "Default defaultMode";
constexpr char TEXT_SINUSODIALDEFAULTMODE[] = "Sinusodial defaultMode";
constexpr char TEXT_STREET[] = "Street";
constexpr char TEXT_SIDEWALK[] = "Sidewalk";
constexpr char TEXT_POLICE[] = "Police";