#pragma once #include "frogpilot/ui/qt/offroad/frogpilot_settings.h" class FrogPilotLateralPanel : public FrogPilotListWidget { Q_OBJECT public: explicit FrogPilotLateralPanel(FrogPilotSettingsWindow *parent, bool forceOpen = false); signals: void openSubPanel(); protected: void showEvent(QShowEvent *event) override; private: void updateMetric(bool metric, bool bootRun); void updateState(const UIState &s); void updateToggles(); bool forceOpenDescriptions; bool started; std::map toggles; QSet advancedLateralTuneKeys = {"ForceAutoTune", "ForceAutoTuneOff", "ForceTorqueController", "SteerDelay", "SteerFriction", "SteerLatAccel", "SteerKP", "SteerRatio"}; QSet aolKeys = {"AlwaysOnLateralLKAS", "PauseAOLOnBrake"}; QSet laneChangeKeys = {"LaneChangeTime", "LaneDetectionWidth", "MinimumLaneChangeSpeed", "NudgelessLaneChange", "OneLaneChange"}; QSet lateralTuneKeys = {"NNFF", "NNFFLite", "TurnDesires"}; QSet qolKeys = {"PauseLateralSpeed"}; QSet parentKeys; FrogPilotParamValueButtonControl *steerDelayToggle; FrogPilotParamValueButtonControl *steerFrictionToggle; FrogPilotParamValueButtonControl *steerLatAccelToggle; FrogPilotParamValueButtonControl *steerKPToggle; FrogPilotParamValueButtonControl *steerRatioToggle; FrogPilotSettingsWindow *parent; Params params; };