mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-07-17 02:42:10 +08:00
Merge branch 'min-feat/hide-hud' into full
This commit is contained in:
@@ -129,4 +129,5 @@ inline static std::unordered_map<std::string, uint32_t> keys = {
|
||||
{"dp_lat_lca_speed", PERSISTENT},
|
||||
{"dp_lat_lca_auto_sec", PERSISTENT},
|
||||
{"dp_device_go_off_road", CLEAR_ON_MANAGER_START},
|
||||
{"dp_ui_hide_hud_speed_kph", PERSISTENT},
|
||||
};
|
||||
|
||||
@@ -188,6 +188,7 @@ void DPPanel::add_ui_toggles() {
|
||||
tr("Std. - Stock behavior.\nMAIN+ - ACC MAIN on = Display ON.\nOP+ - OP enabled = Display ON.\nMAIN- - ACC MAIN on = Display OFF\nOP- - OP enabled = Display OFF."),
|
||||
"",
|
||||
display_off_mode_texts, 200);
|
||||
auto hide_hud = new ParamSpinBoxControl("dp_ui_hide_hud_speed_kph", tr("Hide HUD When Moves above:"), tr("To prevent screen burn-in, hide Speed, MAX Speed, and Steering/DM Icons when the car moves.\nOff = Stock Behavior\n1 km/h ≈ 0.6 mph"), "", 0, 120, 5, tr(" km/h"), tr("Off"));
|
||||
|
||||
QWidget *label = nullptr;
|
||||
bool has_toggle = false;
|
||||
@@ -198,6 +199,8 @@ void DPPanel::add_ui_toggles() {
|
||||
addItem(label);
|
||||
addItem(display_off_mode_setting);
|
||||
has_toggle = true;
|
||||
addItem(hide_hud);
|
||||
has_toggle = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -132,11 +132,17 @@ void AnnotatedCameraWidget::paintGL() {
|
||||
painter.setPen(Qt::NoPen);
|
||||
|
||||
model.draw(painter, rect());
|
||||
if (!s->scene.disable_driver) {
|
||||
dmon.draw(painter, rect());
|
||||
bool hide_hud = s->scene.dp_ui_hide_hud_speed_kph > 0 && sm["carState"].getCarState().getVEgo() > s->scene.dp_ui_hide_hud_speed_kph * 0.278;
|
||||
if (!hide_hud) {
|
||||
if (!s->scene.disable_driver) {
|
||||
dmon.draw(painter, rect());
|
||||
}
|
||||
hud.updateState(*s);
|
||||
hud.draw(painter, rect());
|
||||
experimental_btn->setVisible(true);
|
||||
} else {
|
||||
experimental_btn->setVisible(false);
|
||||
}
|
||||
hud.updateState(*s);
|
||||
hud.draw(painter, rect());
|
||||
|
||||
double cur_draw_t = millis_since_boot();
|
||||
double dt = cur_draw_t - prev_draw_t;
|
||||
|
||||
@@ -68,6 +68,7 @@ void ui_update_params(UIState *s) {
|
||||
s->scene.is_metric = params.getBool("IsMetric");
|
||||
s->scene.disable_driver = getenv("DISABLE_DRIVER");
|
||||
s->scene.display_mode = std::atoi(params.get("dp_ui_display_mode").c_str());
|
||||
s->scene.dp_ui_hide_hud_speed_kph = std::atoi(params.get("dp_ui_hide_hud_speed_kph").c_str());
|
||||
}
|
||||
|
||||
void UIState::updateStatus() {
|
||||
|
||||
@@ -65,6 +65,7 @@ typedef struct UIScene {
|
||||
bool disable_driver = false;
|
||||
bool alka_active;
|
||||
int display_mode;
|
||||
int dp_ui_hide_hud_speed_kph = 0;
|
||||
} UIScene;
|
||||
|
||||
class UIState : public QObject {
|
||||
|
||||
@@ -51,6 +51,7 @@ def manager_init() -> None:
|
||||
("dp_device_model_list", ""),
|
||||
("dp_lat_lca_speed", "20"),
|
||||
("dp_lat_lca_auto_sec", "0"),
|
||||
("dp_ui_hide_hud_speed_kph", "0"),
|
||||
]
|
||||
|
||||
if params.get_bool("RecordFrontLock"):
|
||||
|
||||
Reference in New Issue
Block a user