From 2741088ab0ac2fea4f0d79591c5482a5d58d06b2 Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Thu, 17 Aug 2023 12:35:11 -0400 Subject: [PATCH] ui: display wide cam based on steering angle (#217) * ui: display wide cam based on steering angle * Update CHANGELOGS.md --- CHANGELOGS.md | 1 + selfdrive/ui/qt/onroad.cc | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOGS.md b/CHANGELOGS.md index 956cf17cbc..c626e2631e 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -1,5 +1,6 @@ sunnypilot - 0.9.4.2 (2023-08-xx) ======================== +* NEW❗: Wide camera view when the steering angle is more than 45° sunnypilot - 0.9.4.1 (2023-08-11) ======================== diff --git a/selfdrive/ui/qt/onroad.cc b/selfdrive/ui/qt/onroad.cc index f2f5a21df9..7823e6bc43 100644 --- a/selfdrive/ui/qt/onroad.cc +++ b/selfdrive/ui/qt/onroad.cc @@ -1785,9 +1785,10 @@ void AnnotatedCameraWidget::paintEvent(QPaintEvent *event) { bool has_wide_cam = available_streams.count(VISION_STREAM_WIDE_ROAD); if (has_wide_cam) { float v_ego = sm["carState"].getCarState().getVEgo(); - if ((v_ego < 10) || available_streams.size() == 1) { + float steer_angle = sm["carState"].getCarState().getSteeringAngleDeg(); + if ((v_ego < 10) || available_streams.size() == 1 || (std::fabs(steer_angle) > 45)) { wide_cam_requested = true; - } else if (v_ego > 15) { + } else if ((v_ego > 15) && (std::fabs(steer_angle) < 30)) { wide_cam_requested = false; } wide_cam_requested = wide_cam_requested && sm["controlsState"].getControlsState().getExperimentalMode();