diff --git a/cereal/car.capnp b/cereal/car.capnp index f30b20f97..e1c292618 100644 --- a/cereal/car.capnp +++ b/cereal/car.capnp @@ -76,6 +76,8 @@ struct CarEvent @0x9b1657f34caf3ad3 { controlsFailed @51; sensorDataInvalid @52; commIssue @53; + manualSteeringRequired @54; + manualSteeringRequiredBlinkersOn @55; } } diff --git a/selfdrive/car/honda/interface.py b/selfdrive/car/honda/interface.py index 72c85c862..0fc63b2c6 100755 --- a/selfdrive/car/honda/interface.py +++ b/selfdrive/car/honda/interface.py @@ -489,7 +489,11 @@ class CarInterface(object): # wait 1.0s before throwing the alert to avoid it popping when you turn off the car if self.cp_cam.can_invalid_cnt >= 100 and self.CS.CP.carFingerprint not in HONDA_BOSCH and self.CP.enableCamera: events.append(create_event('invalidGiraffeHonda', [ET.NO_ENTRY, ET.IMMEDIATE_DISABLE, ET.PERMANENT])) - if self.CS.steer_error: + if not self.CS.lkMode: + events.append(create_event('manualSteeringRequired', [ET.WARNING])) + elif self.CS.lkMode and (self.CS.left_blinker_on or self.CS.right_blinker_on): + events.append(create_event('manualSteeringRequiredBlinkersOn', [ET.WARNING])) + elif self.CS.steer_error: events.append(create_event('steerUnavailable', [ET.NO_ENTRY, ET.IMMEDIATE_DISABLE, ET.PERMANENT])) elif self.CS.steer_warning: events.append(create_event('steerTempUnavailable', [ET.WARNING])) diff --git a/selfdrive/controls/lib/alerts.py b/selfdrive/controls/lib/alerts.py index 4c48288d5..bf36dc915 100644 --- a/selfdrive/controls/lib/alerts.py +++ b/selfdrive/controls/lib/alerts.py @@ -661,4 +661,18 @@ ALERTS = [ "", AlertStatus.normal, AlertSize.small, Priority.LOWEST, VisualAlert.steerRequired, AudibleAlert.none, .0, .0, .1), + + Alert( + "manualSteeringRequired", + "STEERING REQUIRED: Lane Keeping OFF", + "", + AlertStatus.normal, AlertSize.small, + Priority.LOW, VisualAlert.none, AudibleAlert.none, .0, .1, .1, alert_rate=0.25), + + Alert( + "manualSteeringRequiredBlinkersOn", + "STEERING REQUIRED: Blinkers ON", + "", + AlertStatus.normal, AlertSize.small, + Priority.LOW, VisualAlert.none, AudibleAlert.none, .0, .1, .1, alert_rate=0.25), ]