Detect if the map is open

This commit is contained in:
FrogAi
2024-01-12 22:39:30 -07:00
parent 2bc95d9bc7
commit 3af959128d
5 changed files with 22 additions and 13 deletions

View File

@@ -41,3 +41,8 @@ void MapPanel::toggleMapSettings() {
emit mapPanelRequested(); emit mapPanelRequested();
show(); show();
} }
void MapPanel::setVisible(bool visible) {
QFrame::setVisible(visible);
uiState()->scene.map_open = visible;
}

View File

@@ -9,6 +9,7 @@ class MapPanel : public QFrame {
public: public:
explicit MapPanel(const QMapboxGLSettings &settings, QWidget *parent = nullptr); explicit MapPanel(const QMapboxGLSettings &settings, QWidget *parent = nullptr);
void setVisible(bool visible);
signals: signals:
void mapPanelRequested(); void mapPanelRequested();

View File

@@ -1024,6 +1024,7 @@ void AnnotatedCameraWidget::updateFrogPilotWidgets(QPainter &p) {
laneWidthLeft = scene.lane_width_left; laneWidthLeft = scene.lane_width_left;
laneWidthRight = scene.lane_width_right; laneWidthRight = scene.lane_width_right;
leadInfo = scene.lead_info; leadInfo = scene.lead_info;
mapOpen = scene.map_open;
obstacleDistance = scene.obstacle_distance; obstacleDistance = scene.obstacle_distance;
obstacleDistanceStock = scene.obstacle_distance_stock; obstacleDistanceStock = scene.obstacle_distance_stock;
stoppedEquivalence = scene.stopped_equivalence; stoppedEquivalence = scene.stopped_equivalence;
@@ -1091,7 +1092,7 @@ void AnnotatedCameraWidget::drawLeadInfo(QPainter &p) {
// Constants for units and conversions // Constants for units and conversions
QString unit_a = " m/s²"; QString unit_a = " m/s²";
QString unit_d = "meters"; QString unit_d = mapOpen ? "m" : "meters";
QString unit_s = "kmh"; QString unit_s = "kmh";
float distanceConversion = 1.0f; float distanceConversion = 1.0f;
float speedConversion = 1.0f; float speedConversion = 1.0f;
@@ -1104,7 +1105,7 @@ void AnnotatedCameraWidget::drawLeadInfo(QPainter &p) {
if (!(is_metric || useSI)) { if (!(is_metric || useSI)) {
// US imperial conversion // US imperial conversion
unit_a = " ft/s²"; unit_a = " ft/s²";
unit_d = "feet"; unit_d = mapOpen ? "ft" : "feet";
unit_s = "mph"; unit_s = "mph";
distanceConversion = toFeet; distanceConversion = toFeet;
speedConversion = toMph; speedConversion = toMph;
@@ -1132,13 +1133,13 @@ void AnnotatedCameraWidget::drawLeadInfo(QPainter &p) {
.arg(currentAcceleration * speedConversion, 0, 'f', 2) .arg(currentAcceleration * speedConversion, 0, 'f', 2)
.arg(unit_a); .arg(unit_a);
QString maxAccSuffix = QString(" - Max: %1%2") QString maxAccSuffix = QString(mapOpen ? "" : " - Max: %1%2")
.arg(maxAcceleration * speedConversion, 0, 'f', 2) .arg(maxAcceleration * speedConversion, 0, 'f', 2)
.arg(unit_a); .arg(unit_a);
QString obstacleText = createText(" | Obstacle Factor: ", obstacleDistance); QString obstacleText = createText(mapOpen ? " | Obstacle: " : " | Obstacle Factor: ", obstacleDistance);
QString stopText = createText(" - Stop Factor: ", stoppedEquivalence); QString stopText = createText(mapOpen ? " - Stop: " : " - Stop Factor: ", stoppedEquivalence);
QString followText = " = " + createText("Follow Distance: ", desiredFollow); QString followText = " = " + createText(mapOpen ? "Follow: " : "Follow Distance: ", desiredFollow);
// Check if the longitudinal toggles have an impact on the driving logics // Check if the longitudinal toggles have an impact on the driving logics
auto createDiffText = [&](const double data, const double stockData) { auto createDiffText = [&](const double data, const double stockData) {
@@ -1211,18 +1212,18 @@ void AnnotatedCameraWidget::drawStatusBar(QPainter &p) {
{2, "Experimental Mode manually activated"}, {2, "Experimental Mode manually activated"},
{3, "Conditional Experimental overridden"}, {3, "Conditional Experimental overridden"},
{4, "Experimental Mode manually activated"}, {4, "Experimental Mode manually activated"},
{5, "Experimental Mode activated for navigation" + (QString(" instructions input"))}, {5, "Experimental Mode activated for navigation" + (mapOpen ? "" : QString(" instructions input"))},
{6, "Experimental Mode activated due to" + (QString(" no speed limit set"))}, {6, "Experimental Mode activated due to" + (mapOpen ? "SLC" : QString(" no speed limit set"))},
{7, "Experimental Mode activated due to" + (" speed being less than " + QString::number(conditionalSpeedLead) + (is_metric ? " kph" : " mph"))}, {7, "Experimental Mode activated due to" + (mapOpen ? " speed" : " speed being less than " + QString::number(conditionalSpeedLead) + (is_metric ? " kph" : " mph"))},
{8, "Experimental Mode activated due to" + (" speed being less than " + QString::number(conditionalSpeed) + (is_metric ? " kph" : " mph"))}, {8, "Experimental Mode activated due to" + (mapOpen ? " speed" : " speed being less than " + QString::number(conditionalSpeed) + (is_metric ? " kph" : " mph"))},
{9, "Experimental Mode activated for slower lead"}, {9, "Experimental Mode activated for slower lead"},
{10, "Experimental Mode activated for turn" + (QString(" / lane change"))}, {10, "Experimental Mode activated for turn" + (mapOpen ? "" : QString(" / lane change"))},
{11, "Experimental Mode activated for curve"}, {11, "Experimental Mode activated for curve"},
{12, "Experimental Mode activated for stop" + (QString(" sign / stop light"))} {12, "Experimental Mode activated for stop" + (mapOpen ? "" : QString(" sign / stop light"))},
}; };
if (alwaysOnLateral) { if (alwaysOnLateral) {
newStatus = QString("Always On Lateral active") + (". Press the \"Cruise Control\" button to disable"); newStatus = QString("Always On Lateral active") + (mapOpen ? "" : ". Press the \"Cruise Control\" button to disable");
} else if (conditionalExperimental) { } else if (conditionalExperimental) {
newStatus = conditionalStatusMap.contains(conditionalStatus) && status != STATUS_DISENGAGED ? conditionalStatusMap[conditionalStatus] : conditionalStatusMap[0]; newStatus = conditionalStatusMap.contains(conditionalStatus) && status != STATUS_DISENGAGED ? conditionalStatusMap[conditionalStatus] : conditionalStatusMap[0];
} }

View File

@@ -134,6 +134,7 @@ private:
bool conditionalExperimental; bool conditionalExperimental;
bool experimentalMode; bool experimentalMode;
bool leadInfo; bool leadInfo;
bool mapOpen;
bool turnSignalLeft; bool turnSignalLeft;
bool turnSignalRight; bool turnSignalRight;
bool useSI; bool useSI;

View File

@@ -182,6 +182,7 @@ typedef struct UIScene {
bool enabled; bool enabled;
bool experimental_mode; bool experimental_mode;
bool lead_info; bool lead_info;
bool map_open;
bool model_ui; bool model_ui;
bool show_fps; bool show_fps;
bool turn_signal_left; bool turn_signal_left;