#pragma once #include #include "selfdrive/frogpilot/ui/frogpilot_ui_functions.h" #include "selfdrive/ui/qt/offroad/settings.h" #include "selfdrive/ui/ui.h" class FrogPilotControlsPanel : public FrogPilotListWidget { Q_OBJECT public: explicit FrogPilotControlsPanel(SettingsWindow *parent); signals: void closeParentToggle(); void closeSubParentToggle(); void openParentToggle(); void openSubParentToggle(); private: void hideEvent(QHideEvent *event); void hideSubSubToggles(); void hideSubToggles(); void parentToggleClicked(); void subParentToggleClicked(); void updateCarToggles(); void updateMetric(); void updateState(const UIState &s); void updateToggles(); std::set conditionalExperimentalKeys = {}; std::set fireTheBabysitterKeys = {}; std::set laneChangeKeys = {}; std::set lateralTuneKeys = {}; std::set longitudinalTuneKeys = {"AccelerationProfile", "DecelerationProfile", "AggressiveAcceleration"}; std::set mtscKeys = {}; std::set qolKeys = {}; std::set speedLimitControllerKeys = {}; std::set speedLimitControllerControlsKeys = {}; std::set speedLimitControllerQOLKeys = {}; std::set speedLimitControllerVisualsKeys = {}; std::set visionTurnControlKeys = {}; std::map toggles; Params params; Params paramsMemory{"/dev/shm/params"}; bool isMetric = params.getBool("IsMetric"); bool started = false; };