mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-09-29 17:13:43 +08:00
UI border update
This commit is contained in:
+16
-3
@@ -68,13 +68,25 @@ void ui_update_params(UIState *s) {
|
||||
}
|
||||
|
||||
void UIState::updateStatus() {
|
||||
if (scene.started && sm->updated("selfdriveState")) {
|
||||
if (scene.started && (sm->updated("selfdriveState") || sm->updated("selfdriveStateSP"))) {
|
||||
auto ss = (*sm)["selfdriveState"].getSelfdriveState();
|
||||
auto ss_sp = (*sm)["selfdriveStateSP"].getSelfdriveStateSP();
|
||||
auto mads = ss_sp.getMads();
|
||||
auto state = ss.getState();
|
||||
if (state == cereal::SelfdriveState::OpenpilotState::PRE_ENABLED || state == cereal::SelfdriveState::OpenpilotState::OVERRIDING) {
|
||||
auto state_mads = mads.getState();
|
||||
if (state == cereal::SelfdriveState::OpenpilotState::PRE_ENABLED || state == cereal::SelfdriveState::OpenpilotState::OVERRIDING ||
|
||||
state_mads == cereal::SelfdriveStateSP::ModularAssistiveDrivingSystem::ModularAssistiveDrivingSystemState::PAUSED) {
|
||||
status = STATUS_OVERRIDE;
|
||||
} else {
|
||||
status = ss.getEnabled() ? STATUS_ENGAGED : STATUS_DISENGAGED;
|
||||
if (mads.getAvailable()) {
|
||||
if (mads.getActive()) {
|
||||
status = ss.getEnabled() ? STATUS_ENGAGED : STATUS_LAT_ONLY;
|
||||
} else {
|
||||
status = STATUS_DISENGAGED;
|
||||
}
|
||||
} else {
|
||||
status = ss.getEnabled() ? STATUS_ENGAGED : STATUS_DISENGAGED;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,6 +106,7 @@ UIState::UIState(QObject *parent) : QObject(parent) {
|
||||
"modelV2", "controlsState", "liveCalibration", "radarState", "deviceState",
|
||||
"pandaStates", "carParams", "driverMonitoringState", "carState", "driverStateV2",
|
||||
"wideRoadCameraState", "managerState", "selfdriveState", "longitudinalPlan",
|
||||
"selfdriveStateSP",
|
||||
});
|
||||
prime_state = new PrimeState(this);
|
||||
language = QString::fromStdString(Params().get("LanguageSetting"));
|
||||
|
||||
@@ -42,12 +42,16 @@ typedef enum UIStatus {
|
||||
STATUS_DISENGAGED,
|
||||
STATUS_OVERRIDE,
|
||||
STATUS_ENGAGED,
|
||||
STATUS_LAT_ONLY,
|
||||
STATUS_LONG_ONLY,
|
||||
} UIStatus;
|
||||
|
||||
const QColor bg_colors [] = {
|
||||
[STATUS_DISENGAGED] = QColor(0x17, 0x33, 0x49, 0xc8),
|
||||
[STATUS_OVERRIDE] = QColor(0x91, 0x9b, 0x95, 0xf1),
|
||||
[STATUS_ENGAGED] = QColor(0x17, 0x86, 0x44, 0xf1),
|
||||
[STATUS_LAT_ONLY] = QColor(0x00, 0xc8, 0xc8, 0xf1),
|
||||
[STATUS_LONG_ONLY] = QColor(0x96, 0x1C, 0xA8, 0xf1),
|
||||
};
|
||||
|
||||
typedef struct UIScene {
|
||||
|
||||
Reference in New Issue
Block a user