from cereal import car , log
# Priority
class Priority :
LOWEST = 0
LOWER = 1
LOW = 2
MID = 3
HIGH = 4
HIGHEST = 5
AlertSize = log . ControlsState . AlertSize
AlertStatus = log . ControlsState . AlertStatus
AudibleAlert = car . CarControl . HUDControl . AudibleAlert
VisualAlert = car . CarControl . HUDControl . VisualAlert
class Alert ( ) :
def __init__ ( self ,
alert_type ,
alert_text_1 ,
alert_text_2 ,
alert_status ,
alert_size ,
alert_priority ,
visual_alert ,
audible_alert ,
duration_sound ,
duration_hud_alert ,
duration_text ,
alert_rate = 0. ) :
self . alert_type = alert_type
self . alert_text_1 = alert_text_1
self . alert_text_2 = alert_text_2
self . alert_status = alert_status
self . alert_size = alert_size
self . alert_priority = alert_priority
self . visual_alert = visual_alert
self . audible_alert = audible_alert
self . duration_sound = duration_sound
self . duration_hud_alert = duration_hud_alert
self . duration_text = duration_text
self . start_time = 0.
self . alert_rate = alert_rate
# typecheck that enums are valid on startup
tst = car . CarControl . new_message ( )
tst . hudControl . visualAlert = self . visual_alert
def __str__ ( self ) :
return self . alert_text_1 + " / " + self . alert_text_2 + " " + str ( self . alert_priority ) + " " + str (
self . visual_alert ) + " " + str ( self . audible_alert )
def __gt__ ( self , alert2 ) :
return self . alert_priority > alert2 . alert_priority
ALERTS = [
# Miscellaneous alerts
Alert (
" enable " ,
" " ,
" " ,
AlertStatus . normal , AlertSize . none ,
Priority . MID , VisualAlert . none , AudibleAlert . chimeEngage , .2 , 0. , 0. ) ,
Alert (
" disable " ,
" " ,
" " ,
AlertStatus . normal , AlertSize . none ,
Priority . MID , VisualAlert . none , AudibleAlert . chimeDisengage , .2 , 0. , 0. ) ,
Alert (
" fcw " ,
" BRAKE! " ,
" Risk of Collision " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . fcw , AudibleAlert . chimeWarningRepeat , 1. , 2. , 2. ) ,
Alert (
" fcwStock " ,
" BRAKE! " ,
" Risk of Collision " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . fcw , AudibleAlert . none , 1. , 2. , 2. ) , # no EON chime for stock FCW
Alert (
" steerSaturated " ,
" TAKE CONTROL " ,
" Turn Exceeds Steering Limit " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . LOW , VisualAlert . steerRequired , AudibleAlert . chimePrompt , 1. , 2. , 3. ) ,
Alert (
" steerTempUnavailable " ,
" TAKE CONTROL " ,
" Steering Temporarily Unavailable " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . LOW , VisualAlert . steerRequired , AudibleAlert . chimeWarning1 , .4 , 2. , 3. ) ,
Alert (
" steerTempUnavailableMute " ,
" TAKE CONTROL " ,
" Steering Temporarily Unavailable " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . none , .2 , .2 , .2 ) ,
Alert (
" preDriverDistracted " ,
" KEEP EYES ON ROAD: Driver Appears Distracted " ,
" " ,
AlertStatus . normal , AlertSize . small ,
Priority . LOW , VisualAlert . steerRequired , AudibleAlert . none , .0 , .1 , .1 , alert_rate = 0.75 ) ,
Alert (
" promptDriverDistracted " ,
" KEEP EYES ON ROAD " ,
" Driver Appears Distracted " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarning2 , .1 , .1 , .1 ) ,
Alert (
" driverDistracted " ,
" DISENGAGE IMMEDIATELY " ,
" Driver Was Distracted " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGH , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , .1 , .1 ) ,
Alert (
" preDriverUnresponsive " ,
" TOUCH STEERING WHEEL: No Face Detected " ,
" " ,
AlertStatus . normal , AlertSize . small ,
Priority . LOW , VisualAlert . steerRequired , AudibleAlert . none , .0 , .1 , .1 , alert_rate = 0.75 ) ,
Alert (
" promptDriverUnresponsive " ,
" TOUCH STEERING WHEEL " ,
" Driver Is Unresponsive " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarning2 , .1 , .1 , .1 ) ,
Alert (
" driverUnresponsive " ,
" DISENGAGE IMMEDIATELY " ,
" Driver Was Unresponsive " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGH , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , .1 , .1 ) ,
Alert (
" driverMonitorLowAcc " ,
" CHECK DRIVER FACE VISIBILITY " ,
" Driver Monitor Model Output Uncertain " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . steerRequired , AudibleAlert . none , .4 , 0. , 1. ) ,
Alert (
" geofence " ,
" DISENGAGEMENT REQUIRED " ,
" Not in Geofenced Area " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . HIGH , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , .1 , .1 ) ,
Alert (
" startup " ,
" Be ready to take over at any time " ,
" Always keep hands on wheel and eyes on road " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , 15. ) ,
Alert (
" startupMaster " ,
" WARNING: This branch is not tested " ,
" Always keep hands on wheel and eyes on road " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , 15. ) ,
Alert (
" startupNoControl " ,
" Dashcam mode " ,
" Always keep hands on wheel and eyes on road " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , 15. ) ,
Alert (
" startupNoCar " ,
" Dashcam mode with unsupported car " ,
" Always keep hands on wheel and eyes on road " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , 15. ) ,
Alert (
" ethicalDilemma " ,
" TAKE CONTROL IMMEDIATELY " ,
" Ethical Dilemma Detected " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , 1. , 3. , 3. ) ,
Alert (
" steerTempUnavailableNoEntry " ,
" openpilot Unavailable " ,
" Steering Temporarily Unavailable " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 0. , 3. ) ,
Alert (
" manualRestart " ,
" TAKE CONTROL " ,
" Resume Driving Manually " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" resumeRequired " ,
" STOPPED " ,
" Press Resume to Move " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" belowSteerSpeed " ,
" TAKE CONTROL " ,
" Steer Unavailable Below " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . none , 0. , 0.4 , .3 ) ,
Alert (
" debugAlert " ,
" DEBUG ALERT " ,
" " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . none , .1 , .1 , .1 ) ,
Alert (
" preLaneChangeLeft " ,
" Steer Left to Start Lane Change " ,
" Monitor Other Vehicles " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . steerRequired , AudibleAlert . none , .0 , .1 , .1 , alert_rate = 0.75 ) ,
Alert (
" preLaneChangeRight " ,
" Steer Right to Start Lane Change " ,
" Monitor Other Vehicles " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . steerRequired , AudibleAlert . none , .0 , .1 , .1 , alert_rate = 0.75 ) ,
Alert (
" laneChange " ,
" Changing Lane " ,
" Monitor Other Vehicles " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . steerRequired , AudibleAlert . none , .0 , .1 , .1 ) ,
Alert (
" posenetInvalid " ,
" TAKE CONTROL " ,
" Vision Model Output Uncertain " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . LOW , VisualAlert . steerRequired , AudibleAlert . chimeWarning1 , .4 , 2. , 3. ) ,
# Non-entry only alerts
Alert (
" wrongCarModeNoEntry " ,
" openpilot Unavailable " ,
" Main Switch Off " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 0. , 3. ) ,
Alert (
" dataNeededNoEntry " ,
" openpilot Unavailable " ,
" Data Needed for Calibration. Upload Drive, Try Again " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 0. , 3. ) ,
Alert (
" outOfSpaceNoEntry " ,
" openpilot Unavailable " ,
" Out of Storage Space " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 0. , 3. ) ,
Alert (
" pedalPressedNoEntry " ,
" openpilot Unavailable " ,
" Pedal Pressed During Attempt " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , " brakePressed " , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" speedTooLowNoEntry " ,
" openpilot Unavailable " ,
" Speed Too Low " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" brakeHoldNoEntry " ,
" openpilot Unavailable " ,
" Brake Hold Active " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" parkBrakeNoEntry " ,
" openpilot Unavailable " ,
" Park Brake Engaged " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" lowSpeedLockoutNoEntry " ,
" openpilot Unavailable " ,
" Cruise Fault: Restart the Car " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" lowBatteryNoEntry " ,
" openpilot Unavailable " ,
" Low Battery " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" sensorDataInvalidNoEntry " ,
" openpilot Unavailable " ,
" No Data from Device Sensors " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" soundsUnavailableNoEntry " ,
" openpilot Unavailable " ,
" Speaker not found " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" tooDistractedNoEntry " ,
" openpilot Unavailable " ,
" Distraction Level Too High " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
# Cancellation alerts causing soft disabling
Alert (
" overheat " ,
" TAKE CONTROL IMMEDIATELY " ,
" System Overheated " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" wrongGear " ,
" TAKE CONTROL IMMEDIATELY " ,
" Gear not D " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" calibrationInvalid " ,
" TAKE CONTROL IMMEDIATELY " ,
" Calibration Invalid: Reposition Device and Recalibrate " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" calibrationIncomplete " ,
" TAKE CONTROL IMMEDIATELY " ,
" Calibration in Progress " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" doorOpen " ,
" TAKE CONTROL IMMEDIATELY " ,
" Door Open " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" seatbeltNotLatched " ,
" TAKE CONTROL IMMEDIATELY " ,
" Seatbelt Unlatched " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" espDisabled " ,
" TAKE CONTROL IMMEDIATELY " ,
" ESP Off " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" lowBattery " ,
" TAKE CONTROL IMMEDIATELY " ,
" Low Battery " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" commIssue " ,
" TAKE CONTROL IMMEDIATELY " ,
" Communication Issue between Processes " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" radarCommIssue " ,
" TAKE CONTROL IMMEDIATELY " ,
" Radar Communication Issue " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" radarCanError " ,
" TAKE CONTROL IMMEDIATELY " ,
" Radar Error: Restart the Car " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" radarFault " ,
" TAKE CONTROL IMMEDIATELY " ,
" Radar Error: Restart the Car " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
Alert (
" lowMemory " ,
" TAKE CONTROL IMMEDIATELY " ,
" Low Memory: Reboot Your Device " ,
AlertStatus . critical , AlertSize . full ,
Priority . MID , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , .1 , 2. , 2. ) ,
# Cancellation alerts causing immediate disabling
Alert (
" controlsFailed " ,
" TAKE CONTROL IMMEDIATELY " ,
" Controls Failed " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , 2.2 , 3. , 4. ) ,
Alert (
" controlsMismatch " ,
" TAKE CONTROL IMMEDIATELY " ,
" Controls Mismatch " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , 2.2 , 3. , 4. ) ,
Alert (
" canError " ,
" TAKE CONTROL IMMEDIATELY " ,
" CAN Error: Check Connections " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , 2.2 , 3. , 4. ) ,
Alert (
" steerUnavailable " ,
" TAKE CONTROL IMMEDIATELY " ,
" LKAS Fault: Restart the Car " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , 2.2 , 3. , 4. ) ,
Alert (
" brakeUnavailable " ,
" TAKE CONTROL IMMEDIATELY " ,
" Cruise Fault: Restart the Car " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , 2.2 , 3. , 4. ) ,
Alert (
" gasUnavailable " ,
" TAKE CONTROL IMMEDIATELY " ,
" Gas Fault: Restart the Car " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , 2.2 , 3. , 4. ) ,
Alert (
" reverseGear " ,
" TAKE CONTROL IMMEDIATELY " ,
" Reverse Gear " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , 2.2 , 3. , 4. ) ,
Alert (
" cruiseDisabled " ,
" TAKE CONTROL IMMEDIATELY " ,
" Cruise Is Off " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , 2.2 , 3. , 4. ) ,
Alert (
" plannerError " ,
" TAKE CONTROL IMMEDIATELY " ,
" Planner Solution Error " ,
AlertStatus . critical , AlertSize . full ,
Priority . HIGHEST , VisualAlert . steerRequired , AudibleAlert . chimeWarningRepeat , 2.2 , 3. , 4. ) ,
# not loud cancellations (user is in control)
Alert (
" noTarget " ,
" openpilot Canceled " ,
" No close lead car " ,
AlertStatus . normal , AlertSize . mid ,
Priority . HIGH , VisualAlert . none , AudibleAlert . chimeDisengage , .4 , 2. , 3. ) ,
Alert (
" speedTooLow " ,
" openpilot Canceled " ,
" Speed too low " ,
AlertStatus . normal , AlertSize . mid ,
Priority . HIGH , VisualAlert . none , AudibleAlert . chimeDisengage , .4 , 2. , 3. ) ,
Alert (
" speedTooHigh " ,
" Speed Too High " ,
" Slow down to resume operation " ,
AlertStatus . normal , AlertSize . mid ,
Priority . HIGH , VisualAlert . none , AudibleAlert . chimeDisengage , .4 , 2. , 3. ) ,
# Cancellation alerts causing non-entry
Alert (
" overheatNoEntry " ,
" openpilot Unavailable " ,
" System overheated " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" wrongGearNoEntry " ,
" openpilot Unavailable " ,
" Gear not D " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" calibrationInvalidNoEntry " ,
" openpilot Unavailable " ,
" Calibration Invalid: Reposition Device and Recalibrate " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" calibrationIncompleteNoEntry " ,
" openpilot Unavailable " ,
" Calibration in Progress " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" doorOpenNoEntry " ,
" openpilot Unavailable " ,
" Door open " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" seatbeltNotLatchedNoEntry " ,
" openpilot Unavailable " ,
" Seatbelt unlatched " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" espDisabledNoEntry " ,
" openpilot Unavailable " ,
" ESP Off " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" geofenceNoEntry " ,
" openpilot Unavailable " ,
" Not in Geofenced Area " ,
AlertStatus . normal , AlertSize . mid ,
Priority . MID , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" radarCanErrorNoEntry " ,
" openpilot Unavailable " ,
" Radar Error: Restart the Car " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" radarFaultNoEntry " ,
" openpilot Unavailable " ,
" Radar Error: Restart the Car " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" posenetInvalidNoEntry " ,
" openpilot Unavailable " ,
" Vision Model Output Uncertain " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" controlsFailedNoEntry " ,
" openpilot Unavailable " ,
" Controls Failed " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" canErrorNoEntry " ,
" openpilot Unavailable " ,
" CAN Error: Check Connections " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" steerUnavailableNoEntry " ,
" openpilot Unavailable " ,
" LKAS Fault: Restart the Car " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" brakeUnavailableNoEntry " ,
" openpilot Unavailable " ,
" Cruise Fault: Restart the Car " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" gasUnavailableNoEntry " ,
" openpilot Unavailable " ,
" Gas Error: Restart the Car " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" reverseGearNoEntry " ,
" openpilot Unavailable " ,
" Reverse Gear " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" cruiseDisabledNoEntry " ,
" openpilot Unavailable " ,
" Cruise is Off " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" noTargetNoEntry " ,
" openpilot Unavailable " ,
" No Close Lead Car " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" plannerErrorNoEntry " ,
" openpilot Unavailable " ,
" Planner Solution Error " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
Alert (
" commIssueNoEntry " ,
" openpilot Unavailable " ,
" Communication Issue between Processes " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeDisengage , .4 , 2. , 3. ) ,
Alert (
" radarCommIssueNoEntry " ,
" openpilot Unavailable " ,
" Radar Communication Issue " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeDisengage , .4 , 2. , 3. ) ,
Alert (
" internetConnectivityNeededNoEntry " ,
" openpilot Unavailable " ,
" Please Connect to Internet " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeDisengage , .4 , 2. , 3. ) ,
Alert (
" lowMemoryNoEntry " ,
" openpilot Unavailable " ,
" Low Memory: Reboot Your Device " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeDisengage , .4 , 2. , 3. ) ,
Alert (
" speedTooHighNoEntry " ,
" Speed Too High " ,
" Slow down to engage " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . chimeError , .4 , 2. , 3. ) ,
# permanent alerts
Alert (
" steerUnavailablePermanent " ,
" LKAS Fault: Restart the car to engage " ,
" " ,
AlertStatus . normal , AlertSize . small ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" brakeUnavailablePermanent " ,
" Cruise Fault: Restart the car to engage " ,
" " ,
AlertStatus . normal , AlertSize . small ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" lowSpeedLockoutPermanent " ,
" Cruise Fault: Restart the car to engage " ,
" " ,
AlertStatus . normal , AlertSize . small ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" calibrationIncompletePermanent " ,
" Calibration in Progress: " ,
" Drive Above " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWEST , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" invalidGiraffeToyotaPermanent " ,
" Unsupported Giraffe Configuration " ,
" Visit comma.ai/tg " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" invalidLkasSettingPermanent " ,
" Stock LKAS is turned on " ,
" Turn off stock LKAS to engage " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" internetConnectivityNeededPermanent " ,
" Please connect to Internet " ,
" An Update Check Is Required to Engage " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" communityFeatureDisallowedPermanent " ,
" Community Feature Detected " ,
" Enable Community Features in Developer Settings " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOW , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) , # LOW priority to overcome Cruise Error
Alert (
" sensorDataInvalidPermanent " ,
" No Data from Device Sensors " ,
" Reboot your Device " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" soundsUnavailablePermanent " ,
" Speaker not found " ,
" Reboot your Device " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" lowMemoryPermanent " ,
" RAM Critically Low " ,
" Reboot your Device " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" carUnrecognizedPermanent " ,
" Dashcam Mode " ,
" Car Unrecognized " ,
AlertStatus . normal , AlertSize . mid ,
Priority . LOWER , VisualAlert . none , AudibleAlert . none , 0. , 0. , .2 ) ,
Alert (
" vehicleModelInvalid " ,
" Vehicle Parameter Identification Failed " ,
" " ,
AlertStatus . normal , AlertSize . small ,
Priority . LOWEST , VisualAlert . steerRequired , AudibleAlert . none , .0 , .0 , .1 ) ,
# offroad alerts
Alert (
" ldwPermanent " ,
" TAKE CONTROL " ,
" Lane Departure Detected " ,
AlertStatus . userPrompt , AlertSize . mid ,
Priority . LOW , VisualAlert . steerRequired , AudibleAlert . chimePrompt , 1. , 2. , 3. ) ,
]