Display openpilot logics for following lead vehicles

Added toggle to show openpilot's logic in regards to following lead vehicles.
This commit is contained in:
FrogAi
2024-02-27 16:34:47 -07:00
parent 480efba54c
commit f59a61cc8f
10 changed files with 196 additions and 6 deletions

View File

@@ -40,7 +40,7 @@ class ExperimentalButton : public QPushButton {
public:
explicit ExperimentalButton(QWidget *parent = 0);
void updateState(const UIState &s);
void updateState(const UIState &s, bool leadInfo);
private:
void paintEvent(QPaintEvent *event) override;
@@ -54,6 +54,8 @@ private:
// FrogPilot variables
UIScene &scene;
int y_offset;
};
@@ -109,6 +111,7 @@ private:
void initializeFrogPilotWidgets();
void updateFrogPilotWidgets(QPainter &p);
void drawLeadInfo(QPainter &p);
void drawStatusBar(QPainter &p);
void drawTurnSignals(QPainter &p);
@@ -125,18 +128,27 @@ private:
bool blindSpotRight;
bool conditionalExperimental;
bool experimentalMode;
bool leadInfo;
bool mapOpen;
bool turnSignalLeft;
bool turnSignalRight;
float distanceConversion;
float speedConversion;
int cameraView;
int conditionalSpeed;
int conditionalSpeedLead;
int conditionalStatus;
int customColors;
int customSignals;
int obstacleDistance;
int obstacleDistanceStock;
int totalFrames = 8;
QString leadDistanceUnit;
QString leadSpeedUnit;
size_t animationFrameIndex;
std::unordered_map<int, std::tuple<QString, int, QColor, std::map<double, QBrush>>> themeConfiguration;