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(); }
|
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 :
|
class PresetsMenu :
|
||||||
public MenuDisplay,
|
public MenuDisplay,
|
||||||
public StaticText<TEXT_PRESETS>,
|
public StaticText<TEXT_PRESETS>,
|
||||||
@ -57,10 +78,10 @@ class PresetsMenu :
|
|||||||
makeComponent<MenuItem, StaticText<TEXT_MOSFETSOFFCONTROLLERHARDWARE>, ApplyControllerHardwarePresetAction<&presets::mosfetsOffControllerHardware>>,
|
makeComponent<MenuItem, StaticText<TEXT_MOSFETSOFFCONTROLLERHARDWARE>, ApplyControllerHardwarePresetAction<&presets::mosfetsOffControllerHardware>>,
|
||||||
makeComponent<MenuItem, StaticText<TEXT_SPINNERCONTROLLERHARDWARE>, ApplyControllerHardwarePresetAction<&presets::spinnerControllerHardware>>,
|
makeComponent<MenuItem, StaticText<TEXT_SPINNERCONTROLLERHARDWARE>, ApplyControllerHardwarePresetAction<&presets::spinnerControllerHardware>>,
|
||||||
makeComponent<MenuItem, StaticText<TEXT_DEFAULTBOARDCOMPUTERHARDWARE>, ApplyBoardcomputerHardwarePresetAction<&presets::defaultBoardcomputerHardware>>,
|
makeComponent<MenuItem, StaticText<TEXT_DEFAULTBOARDCOMPUTERHARDWARE>, ApplyBoardcomputerHardwarePresetAction<&presets::defaultBoardcomputerHardware>>,
|
||||||
makeComponent<MenuItem, StaticText<TEXT_STREET>, DisabledColor, DummyAction>,
|
makeComponent<MenuItem, StaticText<TEXT_DEFAULTDEFAULTMODE>, ApplyDefaultModePresetAction<&presets::defaultDefaultMode>>,
|
||||||
makeComponent<MenuItem, StaticText<TEXT_SIDEWALK>, DisabledColor, DummyAction>,
|
makeComponent<MenuItem, StaticText<TEXT_SINUSODIALDEFAULTMODE>, ApplyDefaultModePresetAction<&presets::sinusodialDefaultMode>>,
|
||||||
makeComponent<MenuItem, StaticText<TEXT_POLICE>, DisabledColor, DummyAction>,
|
makeComponent<MenuItem, StaticText<TEXT_DEFAULTTEMPOMATMODE>, ApplyTempomatModePresetAction<&presets::defaultTempomatMode>>,
|
||||||
makeComponent<MenuItem, StaticText<TEXT_RACE>, DisabledColor, DummyAction>,
|
makeComponent<MenuItem, StaticText<TEXT_DEFAULTLARSMMODE>, ApplyLarsmModePresetAction<&presets::defaultLarsmMode>>,
|
||||||
makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&icons::back>>
|
makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&icons::back>>
|
||||||
>
|
>
|
||||||
{};
|
{};
|
||||||
|
@ -98,6 +98,20 @@ constexpr Settings::DefaultMode defaultDefaultMode {
|
|||||||
.brems2_wert = 750
|
.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 {
|
constexpr Settings::TempomatMode defaultTempomatMode {
|
||||||
.ctrlTyp = ControlType::FieldOrientedControl,
|
.ctrlTyp = ControlType::FieldOrientedControl,
|
||||||
.ctrlMod = ControlMode::Speed
|
.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_MOSFETSOFFCONTROLLERHARDWARE[] = "MOSFETs off controller H/W";
|
||||||
constexpr char TEXT_SPINNERCONTROLLERHARDWARE[] = "Spinner controller H/W";
|
constexpr char TEXT_SPINNERCONTROLLERHARDWARE[] = "Spinner controller H/W";
|
||||||
constexpr char TEXT_DEFAULTBOARDCOMPUTERHARDWARE[] = "Default boardcomputer 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_STREET[] = "Street";
|
||||||
constexpr char TEXT_SIDEWALK[] = "Sidewalk";
|
constexpr char TEXT_SIDEWALK[] = "Sidewalk";
|
||||||
constexpr char TEXT_POLICE[] = "Police";
|
constexpr char TEXT_POLICE[] = "Police";
|
||||||
|
Reference in New Issue
Block a user