Merge pull request #52 from bobbycar-graz/50-mode-presets
Added presets for driving modes
This commit is contained in:
@ -45,6 +45,27 @@ 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(); }
|
||||
};
|
||||
|
||||
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>,
|
||||
@ -57,10 +78,10 @@ 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_DEFAULTTEMPOMATMODE>, ApplyTempomatModePresetAction<&presets::defaultTempomatMode>>,
|
||||
makeComponent<MenuItem, StaticText<TEXT_DEFAULTLARSMMODE>, ApplyLarsmModePresetAction<&presets::defaultLarsmMode>>,
|
||||
makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&icons::back>>
|
||||
>
|
||||
{};
|
||||
|
@ -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
|
||||
|
@ -255,6 +255,10 @@ 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_DEFAULTTEMPOMATMODE[] = "Default tempomatMode";
|
||||
constexpr char TEXT_DEFAULTLARSMMODE[] = "Default larsmMode";
|
||||
constexpr char TEXT_STREET[] = "Street";
|
||||
constexpr char TEXT_SIDEWALK[] = "Sidewalk";
|
||||
constexpr char TEXT_POLICE[] = "Police";
|
||||
|
Reference in New Issue
Block a user