|
|
|
|
@@ -58,6 +58,7 @@ FrogPilotControlsPanel::FrogPilotControlsPanel(SettingsWindow *parent) : FrogPil
|
|
|
|
|
{"NavChill", "Navigate on Chill Mode", "Allows cars without longitudinal support to navigate. Allows navigation without experimental mode.", ""},
|
|
|
|
|
{"PauseLateralOnSignal", "Pause Lateral On Turn Signal Below", "Temporarily disable lateral control during turn signal use below the set speed.", ""},
|
|
|
|
|
{"ReverseCruise", "Reverse Cruise Increase", "Reverses the 'long press' functionality when increasing the max set speed. Useful to increase the max speed quickly.", ""},
|
|
|
|
|
{"SetSpeedOffset", "Set Speed Offset", "Set an offset for your desired set speed.", ""},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
for (const auto &[param, title, desc, icon] : controlToggles) {
|
|
|
|
|
@@ -284,6 +285,8 @@ FrogPilotControlsPanel::FrogPilotControlsPanel(SettingsWindow *parent) : FrogPil
|
|
|
|
|
std::vector<QString> reverseCruiseToggles{"ReverseCruiseUI"};
|
|
|
|
|
std::vector<QString> reverseCruiseNames{tr("Control Via UI")};
|
|
|
|
|
toggle = new FrogPilotParamToggleControl(param, title, desc, icon, reverseCruiseToggles, reverseCruiseNames);
|
|
|
|
|
} else if (param == "SetSpeedOffset") {
|
|
|
|
|
toggle = new FrogPilotParamValueControl(param, title, desc, icon, 0, 99, std::map<int, QString>(), this, false, " mph");
|
|
|
|
|
|
|
|
|
|
} else if (param == "NudgelessLaneChange") {
|
|
|
|
|
FrogPilotParamManageControl *laneChangeToggle = new FrogPilotParamManageControl(param, title, desc, icon, this);
|
|
|
|
|
@@ -396,12 +399,14 @@ void FrogPilotControlsPanel::updateMetric() {
|
|
|
|
|
params.putIntNonBlocking("LaneDetectionWidth", std::nearbyint(params.getInt("LaneDetectionWidth") * distanceConversion));
|
|
|
|
|
params.putIntNonBlocking("MTSCLimit", std::nearbyint(params.getInt("MTSCLimit") * speedConversion));
|
|
|
|
|
params.putIntNonBlocking("PauseLateralOnSignal", std::nearbyint(params.getInt("PauseLateralOnSignal") * speedConversion));
|
|
|
|
|
params.putIntNonBlocking("SetSpeedOffset", std::nearbyint(params.getInt("SetSpeedOffset") * speedConversion));
|
|
|
|
|
params.putIntNonBlocking("StoppingDistance", std::nearbyint(params.getInt("StoppingDistance") * distanceConversion));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FrogPilotParamValueControl *laneWidthToggle = static_cast<FrogPilotParamValueControl*>(toggles["LaneDetectionWidth"]);
|
|
|
|
|
FrogPilotParamValueControl *mtscLimitToggle = static_cast<FrogPilotParamValueControl*>(toggles["MTSCLimit"]);
|
|
|
|
|
FrogPilotParamValueControl *pauseLateralToggle = static_cast<FrogPilotParamValueControl*>(toggles["PauseLateralOnSignal"]);
|
|
|
|
|
FrogPilotParamValueControl *setSpeedOffsetToggle = static_cast<FrogPilotParamValueControl*>(toggles["SetSpeedOffset"]);
|
|
|
|
|
FrogPilotParamValueControl *stoppingDistanceToggle = static_cast<FrogPilotParamValueControl*>(toggles["StoppingDistance"]);
|
|
|
|
|
|
|
|
|
|
if (isMetric) {
|
|
|
|
|
@@ -409,6 +414,7 @@ void FrogPilotControlsPanel::updateMetric() {
|
|
|
|
|
|
|
|
|
|
mtscLimitToggle->updateControl(0, 99, " kph");
|
|
|
|
|
pauseLateralToggle->updateControl(0, 150, " kph");
|
|
|
|
|
setSpeedOffsetToggle->updateControl(0, 150, " kph");
|
|
|
|
|
|
|
|
|
|
stoppingDistanceToggle->updateControl(0, 5, " meters");
|
|
|
|
|
} else {
|
|
|
|
|
@@ -416,6 +422,7 @@ void FrogPilotControlsPanel::updateMetric() {
|
|
|
|
|
|
|
|
|
|
mtscLimitToggle->updateControl(0, 99, " mph");
|
|
|
|
|
pauseLateralToggle->updateControl(0, 99, " mph");
|
|
|
|
|
setSpeedOffsetToggle->updateControl(0, 99, " mph");
|
|
|
|
|
|
|
|
|
|
stoppingDistanceToggle->updateControl(0, 10, " feet");
|
|
|
|
|
}
|
|
|
|
|
@@ -423,6 +430,7 @@ void FrogPilotControlsPanel::updateMetric() {
|
|
|
|
|
laneWidthToggle->refresh();
|
|
|
|
|
mtscLimitToggle->refresh();
|
|
|
|
|
pauseLateralToggle->refresh();
|
|
|
|
|
setSpeedOffsetToggle->refresh();
|
|
|
|
|
stoppingDistanceToggle->refresh();
|
|
|
|
|
|
|
|
|
|
previousIsMetric = isMetric;
|
|
|
|
|
|