diff --git a/CHANGELOGS_c2.md b/CHANGELOGS_c2.md
index 84733c116..0d5498ca9 100644
--- a/CHANGELOGS_c2.md
+++ b/CHANGELOGS_c2.md
@@ -2,6 +2,8 @@ dragonpilot [Latest] - EON/C2 Release
========================
* Synced with openpilot master 2023.03.26 commits.
* DP Highlight
+ * NEW: Manual Lane Change.
+ * NEW: Road Edge detection when Lane Change.
* NEW: Rainbow mode. (fancy lol)
* NEW: Local Trip counter.
* NEW: Alternative Lateral Controller
diff --git a/cereal/car.capnp b/cereal/car.capnp
index c33ce79fb..32dac644b 100644
--- a/cereal/car.capnp
+++ b/cereal/car.capnp
@@ -120,6 +120,7 @@ struct CarEvent @0x9b1657f34caf3ad3 {
speedLimitValueChange @117;
leadMovingAlertSilent @118;
leadMovingAlert @119;
+ manualSteeringRequiredBlinkersOn @120;
radarCanErrorDEPRECATED @15;
communityFeatureDisallowedDEPRECATED @62;
diff --git a/cereal/dp.capnp b/cereal/dp.capnp
index b9859ea69..edbdb7b24 100644
--- a/cereal/dp.capnp
+++ b/cereal/dp.capnp
@@ -54,4 +54,5 @@ struct DragonConf {
dpE2EConditionalAdaptAp @46 :Bool;
dpE2EConditionalVoacc @47 :Bool;
dpLongLeadMovingAlert @48 :Int8;
+ dpLateralLcManual @49 :Bool;
}
diff --git a/cereal/libcereal_shared.so b/cereal/libcereal_shared.so
index b187cf0a1..717a11539 100755
Binary files a/cereal/libcereal_shared.so and b/cereal/libcereal_shared.so differ
diff --git a/cereal/visionipc/visionipc_pyx.so b/cereal/visionipc/visionipc_pyx.so
index b3c9c2184..66cf05ba4 100755
Binary files a/cereal/visionipc/visionipc_pyx.so and b/cereal/visionipc/visionipc_pyx.so differ
diff --git a/common/dp_conf.py b/common/dp_conf.py
index cc5cef81a..e408cfd4b 100644
--- a/common/dp_conf.py
+++ b/common/dp_conf.py
@@ -201,6 +201,7 @@ confs = [
{'name': 'local_trip_count_total', 'default': 0.0, 'type': 'Float32', 'conf_type': ['param']},
{'name': 'local_trip_meter_total', 'default': 0.0, 'type': 'Float32', 'conf_type': ['param']},
{'name': 'local_trip_min_total', 'default': 0.0, 'type': 'Float32', 'conf_type': ['param']},
+ {'name': 'dp_lateral_lc_manual', 'default': False, 'type': 'Bool', 'conf_type': ['param', 'struct']},
]
def get_definition(name):
diff --git a/common/params_pyx.so b/common/params_pyx.so
index ef062ecba..8b7492601 100755
Binary files a/common/params_pyx.so and b/common/params_pyx.so differ
diff --git a/common/version.h b/common/version.h
index ee4dc3529..b454b24aa 100644
--- a/common/version.h
+++ b/common/version.h
@@ -1 +1 @@
-#define COMMA_VERSION "2023.03.29"
+#define COMMA_VERSION "2023.03.30"
diff --git a/opendbc/can/libdbc.so b/opendbc/can/libdbc.so
index da73b1d2c..cd8c34834 100755
Binary files a/opendbc/can/libdbc.so and b/opendbc/can/libdbc.so differ
diff --git a/panda/board/obj/bootstub.panda.bin b/panda/board/obj/bootstub.panda.bin
index 012d07244..eca1314d9 100755
Binary files a/panda/board/obj/bootstub.panda.bin and b/panda/board/obj/bootstub.panda.bin differ
diff --git a/panda/board/obj/panda.bin.signed b/panda/board/obj/panda.bin.signed
index 3be5d39b8..a46422cdc 100644
Binary files a/panda/board/obj/panda.bin.signed and b/panda/board/obj/panda.bin.signed differ
diff --git a/rednose/helpers/ekf_sym_pyx.so b/rednose/helpers/ekf_sym_pyx.so
index f01995858..4b32d5fa4 100755
Binary files a/rednose/helpers/ekf_sym_pyx.so and b/rednose/helpers/ekf_sym_pyx.so differ
diff --git a/selfdrive/boardd/boardd b/selfdrive/boardd/boardd
index 35f7bd906..96ac16e15 100755
Binary files a/selfdrive/boardd/boardd and b/selfdrive/boardd/boardd differ
diff --git a/selfdrive/boardd/boardd_api_impl.so b/selfdrive/boardd/boardd_api_impl.so
index 0ddc2543c..c3893bc78 100755
Binary files a/selfdrive/boardd/boardd_api_impl.so and b/selfdrive/boardd/boardd_api_impl.so differ
diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py
index 6f8916501..e9410f1bf 100755
--- a/selfdrive/controls/controlsd.py
+++ b/selfdrive/controls/controlsd.py
@@ -698,7 +698,18 @@ class Controls:
if CS.leftBlinker or CS.rightBlinker:
self.last_blinker_frame = self.sm.frame
-
+ # dp - manual lane change
+ if self.sm['dragonConf'].dpLateralLcManual:
+ speed = CS.vEgo * CV.MS_TO_MPH
+ if self.sm['dragonConf'].dpLateralMode == 1 and speed >= self.sm['dragonConf'].dpLcMinMph:
+ pass
+ # we use "or" here in case dpLcAutoMinMph is smaller than dpLcMinMph
+ elif self.sm['dragonConf'].dpLateralMode == 2 and (speed >= self.sm['dragonConf'].dpLcMinMph or speed >= self.sm['dragonConf'].dpLcAutoMinMph):
+ pass
+ else:
+ if CC.latActive:
+ self.events.add(EventName.manualSteeringRequiredBlinkersOn)
+ CC.latActive = False
# State specific actions
if not CC.latActive:
diff --git a/selfdrive/controls/lib/events.py b/selfdrive/controls/lib/events.py
index b4051b4b9..704fa674c 100644
--- a/selfdrive/controls/lib/events.py
+++ b/selfdrive/controls/lib/events.py
@@ -980,4 +980,13 @@ EVENTS: Dict[int, Dict[str, Union[Alert, AlertCallbackType]]] = {
Priority.MID, VisualAlert.none,
AudibleAlert.disengage, .2),
},
+
+ # dp - use for manual lane change
+ EventName.manualSteeringRequiredBlinkersOn: {
+ ET.PERMANENT: Alert(
+ _("STEERING REQUIRED: Blinkers ON"),
+ "",
+ AlertStatus.normal, AlertSize.small,
+ Priority.LOW, VisualAlert.none, AudibleAlert.none, .0, alert_rate=0.25),
+ },
}
diff --git a/selfdrive/locationd/locationd b/selfdrive/locationd/locationd
index e0ec3a77f..6365190ed 100755
Binary files a/selfdrive/locationd/locationd and b/selfdrive/locationd/locationd differ
diff --git a/selfdrive/logcatd/logcatd b/selfdrive/logcatd/logcatd
index 8979590a5..b73baf367 100755
Binary files a/selfdrive/logcatd/logcatd and b/selfdrive/logcatd/logcatd differ
diff --git a/selfdrive/loggerd/bootlog b/selfdrive/loggerd/bootlog
index 1a4d3cd19..2640ce310 100755
Binary files a/selfdrive/loggerd/bootlog and b/selfdrive/loggerd/bootlog differ
diff --git a/selfdrive/loggerd/loggerd b/selfdrive/loggerd/loggerd
index 88d2fc3f4..f9a80bb59 100755
Binary files a/selfdrive/loggerd/loggerd and b/selfdrive/loggerd/loggerd differ
diff --git a/selfdrive/modeld/_dmonitoringmodeld b/selfdrive/modeld/_dmonitoringmodeld
index 85c1f3705..85635194b 100755
Binary files a/selfdrive/modeld/_dmonitoringmodeld and b/selfdrive/modeld/_dmonitoringmodeld differ
diff --git a/selfdrive/modeld/_modeld b/selfdrive/modeld/_modeld
index b7929e716..7f457b65c 100755
Binary files a/selfdrive/modeld/_modeld and b/selfdrive/modeld/_modeld differ
diff --git a/selfdrive/proclogd/proclogd b/selfdrive/proclogd/proclogd
index 87c804d0d..245b5c796 100755
Binary files a/selfdrive/proclogd/proclogd and b/selfdrive/proclogd/proclogd differ
diff --git a/selfdrive/ui/_ui b/selfdrive/ui/_ui
index a5e498eb8..08ea9f1e4 100755
Binary files a/selfdrive/ui/_ui and b/selfdrive/ui/_ui differ
diff --git a/selfdrive/ui/_ui_nonav b/selfdrive/ui/_ui_nonav
index 32bc42d67..5a8833b1f 100755
Binary files a/selfdrive/ui/_ui_nonav and b/selfdrive/ui/_ui_nonav differ
diff --git a/selfdrive/ui/qt/spinner b/selfdrive/ui/qt/spinner
index 5a227c27e..eca4eb1fa 100755
Binary files a/selfdrive/ui/qt/spinner and b/selfdrive/ui/qt/spinner differ
diff --git a/selfdrive/ui/qt/text b/selfdrive/ui/qt/text
index c372821e5..9a390a36e 100755
Binary files a/selfdrive/ui/qt/text and b/selfdrive/ui/qt/text differ
diff --git a/selfdrive/ui/soundd/_soundd b/selfdrive/ui/soundd/_soundd
index df0179a5f..2d41db4ed 100755
Binary files a/selfdrive/ui/soundd/_soundd and b/selfdrive/ui/soundd/_soundd differ
diff --git a/selfdrive/ui/translations/main_zh-CHT.ts b/selfdrive/ui/translations/main_zh-CHT.ts
index 5bbf06bba..bd8fda2e6 100644
--- a/selfdrive/ui/translations/main_zh-CHT.ts
+++ b/selfdrive/ui/translations/main_zh-CHT.ts
@@ -567,7 +567,7 @@ Reboot required.
Enable this if you wish to use following dist. mode in DE2E.
-
+ 如果您想 DE2E 配合跟車距離控制,請啟用此選項。
DE2E Adapt Accel Mode
@@ -575,7 +575,7 @@ Reboot required.
Enable this if you wish to use accel mode in DE2E.
-
+ 如果您想 DE2E 配合加速模式控制,請啟用此選項。
Enable this if your vehicles is in VOACC (e.g. Honda Bosch / VAG).
diff --git a/system/camerad/camerad b/system/camerad/camerad
index 52578b628..c519a693e 100755
Binary files a/system/camerad/camerad and b/system/camerad/camerad differ
diff --git a/system/clocksd/clocksd b/system/clocksd/clocksd
index 54632f68b..5cf45fad0 100755
Binary files a/system/clocksd/clocksd and b/system/clocksd/clocksd differ
diff --git a/system/sensord/_sensord b/system/sensord/_sensord
index 4f38b2cc2..112aef904 100755
Binary files a/system/sensord/_sensord and b/system/sensord/_sensord differ
diff --git a/system/ubloxd/ubloxd b/system/ubloxd/ubloxd
index 73f771dbb..db67ae009 100755
Binary files a/system/ubloxd/ubloxd and b/system/ubloxd/ubloxd differ