From 0ce100c7ce07a196d18dc267809c6353a3d55833 Mon Sep 17 00:00:00 2001 From: FrogAi <91348155+FrogAi@users.noreply.github.com> Date: Sat, 11 May 2024 15:06:50 -0700 Subject: [PATCH] Visuals - Quality of Life - Camera View Choose your preferred camera view for the onroad UI. This is purely a visual change and doesn't impact how openpilot drives. --- selfdrive/ui/qt/onroad.cc | 8 ++++++-- selfdrive/ui/qt/onroad.h | 1 + selfdrive/ui/ui.cc | 1 + selfdrive/ui/ui.h | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/selfdrive/ui/qt/onroad.cc b/selfdrive/ui/qt/onroad.cc index c30fa65..282d5fa 100644 --- a/selfdrive/ui/qt/onroad.cc +++ b/selfdrive/ui/qt/onroad.cc @@ -1219,7 +1219,7 @@ void AnnotatedCameraWidget::paintGL() { // Wide or narrow cam dependent on speed bool has_wide_cam = available_streams.count(VISION_STREAM_WIDE_ROAD); - if (has_wide_cam) { + if (has_wide_cam && cameraView == 0) { if ((v_ego < 10) || available_streams.size() == 1) { wide_cam_requested = true; } else if (v_ego > 15) { @@ -1229,7 +1229,9 @@ void AnnotatedCameraWidget::paintGL() { // for replay of old routes, never go to widecam wide_cam_requested = wide_cam_requested && s->scene.calibration_wide_valid; } - CameraWidget::setStreamType(wide_cam_requested ? VISION_STREAM_WIDE_ROAD : VISION_STREAM_ROAD); + CameraWidget::setStreamType(cameraView == 1 ? VISION_STREAM_DRIVER : + cameraView == 3 || wide_cam_requested ? VISION_STREAM_WIDE_ROAD : + VISION_STREAM_ROAD); s->scene.wide_cam = CameraWidget::getStreamType() == VISION_STREAM_WIDE_ROAD; if (s->scene.calibration_valid) { @@ -1393,6 +1395,8 @@ void AnnotatedCameraWidget::updateFrogPilotWidgets() { blindSpotLeft = scene.blind_spot_left; blindSpotRight = scene.blind_spot_right; + cameraView = scene.camera_view; + compass = scene.compass; conditionalStatus = scene.conditional_status; diff --git a/selfdrive/ui/qt/onroad.h b/selfdrive/ui/qt/onroad.h index 04e6b73..368be05 100644 --- a/selfdrive/ui/qt/onroad.h +++ b/selfdrive/ui/qt/onroad.h @@ -247,6 +247,7 @@ private: float speedConversion; int alertSize; + int cameraView; int conditionalStatus; int currentHolidayTheme; int customColors; diff --git a/selfdrive/ui/ui.cc b/selfdrive/ui/ui.cc index 086110c..24eb7cc 100644 --- a/selfdrive/ui/ui.cc +++ b/selfdrive/ui/ui.cc @@ -400,6 +400,7 @@ void ui_update_frogpilot_params(UIState *s) { bool quality_of_life_visuals = params.getBool("QOLVisuals"); scene.big_map = quality_of_life_visuals && params.getBool("BigMap"); scene.full_map = scene.big_map && params.getBool("FullMap"); + scene.camera_view = quality_of_life_visuals ? params.getInt("CameraView") : 0; scene.speed_limit_controller = scene.longitudinal_control && params.getBool("SpeedLimitController"); scene.show_slc_offset = scene.speed_limit_controller && params.getBool("ShowSLCOffset"); diff --git a/selfdrive/ui/ui.h b/selfdrive/ui/ui.h index 14df175..70b035f 100644 --- a/selfdrive/ui/ui.h +++ b/selfdrive/ui/ui.h @@ -281,6 +281,7 @@ typedef struct UIScene { int alert_size; int bearing_deg; + int camera_view; int conditional_speed; int conditional_speed_lead; int conditional_status;