mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-07-21 04:42:33 +08:00
831 lines
26 KiB
Python
831 lines
26 KiB
Python
# This Python file uses the following encoding: utf-8
|
|
# -*- coding: utf-8 -*-
|
|
from cereal import car, log
|
|
|
|
# Priority
|
|
class Priority:
|
|
LOWEST = 0
|
|
LOW_LOWEST = 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",
|
|
"剎車!",
|
|
"有碰撞的風險",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.fcw, AudibleAlert.chimeWarningRepeat, 1., 2., 2.),
|
|
|
|
Alert(
|
|
"fcwStock",
|
|
"馬上剎車!",
|
|
"有碰撞風險",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.fcw, AudibleAlert.none, 1., 2., 2.), # no EON chime for stock FCW
|
|
|
|
Alert(
|
|
"steerSaturated",
|
|
"接管控制",
|
|
"彎道超過方向盤轉向限制",
|
|
AlertStatus.userPrompt, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.chimePrompt, 1., 2., 3.),
|
|
|
|
Alert(
|
|
"steerTempUnavailable",
|
|
"接管控制",
|
|
"轉向控制暫時失效",
|
|
AlertStatus.userPrompt, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.chimeWarning1, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"steerTempUnavailableMute",
|
|
"接管控制",
|
|
"轉向控制暫時失效",
|
|
AlertStatus.userPrompt, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.none, .2, .2, .2),
|
|
|
|
Alert(
|
|
"preDriverDistracted",
|
|
"注意路況:駕駛分心",
|
|
"",
|
|
AlertStatus.normal, AlertSize.small,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.none, .0, .1, .1, alert_rate=0.75),
|
|
|
|
Alert(
|
|
"promptDriverDistracted",
|
|
"注意路況",
|
|
"駕駛分心",
|
|
AlertStatus.userPrompt, AlertSize.mid,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarning2, .1, .1, .1),
|
|
|
|
Alert(
|
|
"driverDistracted",
|
|
"立即解除",
|
|
"駕駛分心",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGH, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, .1, .1),
|
|
|
|
Alert(
|
|
"preDriverUnresponsive",
|
|
"請觸碰方向盤:無駕駛監控",
|
|
"",
|
|
AlertStatus.normal, AlertSize.small,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.none, .0, .1, .1, alert_rate=0.75),
|
|
|
|
Alert(
|
|
"promptDriverUnresponsive",
|
|
"觸碰方向盤",
|
|
"駕駛沒有反應",
|
|
AlertStatus.userPrompt, AlertSize.mid,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarning2, .1, .1, .1),
|
|
|
|
Alert(
|
|
"driverUnresponsive",
|
|
"立即解除",
|
|
"駕駛沒有反應",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGH, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, .1, .1),
|
|
|
|
Alert(
|
|
"driverMonitorOff",
|
|
"駕駛監控暫時停用",
|
|
"監控準確率:低",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.none, .4, 0., 4.),
|
|
|
|
Alert(
|
|
"driverMonitorOn",
|
|
"駕駛監控已啟用",
|
|
"監控準確率:高",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.none, .4, 0., 4.),
|
|
|
|
Alert(
|
|
"geofence",
|
|
"DISENGAGEMENT REQUIRED",
|
|
"不在地理圍欄區域之內",
|
|
AlertStatus.userPrompt, AlertSize.mid,
|
|
Priority.HIGH, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, .1, .1),
|
|
|
|
Alert(
|
|
"startup",
|
|
"隨時準備好接管",
|
|
"請您將手放在方向盤上並持續注意路況",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., 15.),
|
|
|
|
Alert(
|
|
"startupNoControl",
|
|
"行車記錄模式",
|
|
"請您將手放在方向盤上並持續注意路況",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., 15.),
|
|
|
|
Alert(
|
|
"startupNoCar",
|
|
"行車記錄模式 (尚未支援車種)",
|
|
"請您將手放在方向盤上並持續注意路況",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., 15.),
|
|
|
|
Alert(
|
|
"ethicalDilemma",
|
|
"即刻接管控制",
|
|
"Ethical Dilemma Detected",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, 1., 3., 3.),
|
|
|
|
Alert(
|
|
"steerTempUnavailableNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"轉向控制暫時失效",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 0., 3.),
|
|
|
|
Alert(
|
|
"manualRestart",
|
|
"接管控制",
|
|
"請自行恢復駕駛",
|
|
AlertStatus.userPrompt, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"resumeRequired",
|
|
"已停止",
|
|
"請按 RES 繼續",
|
|
AlertStatus.userPrompt, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"belowSteerSpeed",
|
|
"接管控制",
|
|
"轉向控制暫時失效,車速低於 ",
|
|
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",
|
|
"請往左打方向盤切換車道",
|
|
"請注意其它車輛",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.none, .0, .1, .1, alert_rate=0.75),
|
|
|
|
Alert(
|
|
"preLaneChangeRight",
|
|
"請往右打方向盤切換車道",
|
|
"請注意其它車輛",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.none, .0, .1, .1, alert_rate=0.75),
|
|
|
|
Alert(
|
|
"laneChange",
|
|
"切換車道中",
|
|
"請注意其它車輛",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.none, .0, .1, .1),
|
|
|
|
Alert(
|
|
"posenetInvalid",
|
|
"接管控制",
|
|
"視覺模型輸出不明確",
|
|
AlertStatus.userPrompt, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.chimeWarning1, .4, 2., 3.),
|
|
|
|
# Non-entry only alerts
|
|
Alert(
|
|
"wrongCarModeNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"主開關關閉",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 0., 3.),
|
|
|
|
Alert(
|
|
"dataNeededNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"需要更多的數據來協助校準,請將行車記錄上傳後再試",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 0., 3.),
|
|
|
|
Alert(
|
|
"outOfSpaceNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"儲存空間不足",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 0., 3.),
|
|
|
|
Alert(
|
|
"pedalPressedNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"Pedal Pressed During Attempt",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, "brakePressed", AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"speedTooLowNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"車速過慢",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"brakeHoldNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"駐車煞車已啟用",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"parkBrakeNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"電子駐車已啟動",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"lowSpeedLockoutNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"巡航系統錯誤:請重新發動車子",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"lowBatteryNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"電池電量過低",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"sensorDataInvalidNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"沒有收到任何來自 EON 傳感器的資料",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"soundsUnavailableNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"找不到音效裝置",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"tooDistractedNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"駕駛分心次數過高",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
# Cancellation alerts causing soft disabling
|
|
Alert(
|
|
"overheat",
|
|
"即刻接管控制",
|
|
"系統過熱",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"wrongGear",
|
|
"即刻接管控制",
|
|
"檔位不在 D 檔",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"calibrationInvalid",
|
|
"即刻接管控制",
|
|
"校準無效:請將 EON 放於新的位置並重新校準",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"calibrationIncomplete",
|
|
"即刻接管控制",
|
|
"正在校準相機中",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"doorOpen",
|
|
"即刻接管控制",
|
|
"車門開啟",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"seatbeltNotLatched",
|
|
"即刻接管控制",
|
|
"安全帶未繫",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"espDisabled",
|
|
"即刻接管控制",
|
|
"ESP 關閉",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"lowBattery",
|
|
"即刻接管控制",
|
|
"電池電量過低",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"commIssue",
|
|
"即刻接管控制",
|
|
"雷達訊號錯誤:請重新發動車子",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"radarCommIssue",
|
|
"即刻接管控制",
|
|
"雷達通訊出現問題",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"radarCanError",
|
|
"即刻接管控制",
|
|
"雷達訊號錯誤:請重新發動車子",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
Alert(
|
|
"radarFault",
|
|
"即刻接管控制",
|
|
"AI 模型錯誤:請檢查網路連線",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
|
|
Alert(
|
|
"lowMemory",
|
|
"即刻接管控制",
|
|
"記憶體不足:請重啟您的 EON",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.MID, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, .1, 2., 2.),
|
|
|
|
# Cancellation alerts causing immediate disabling
|
|
Alert(
|
|
"controlsFailed",
|
|
"即刻接管控制",
|
|
"控制發生錯誤",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, 2.2, 3., 4.),
|
|
|
|
Alert(
|
|
"controlsMismatch",
|
|
"即刻接管控制",
|
|
"控制不匹配",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, 2.2, 3., 4.),
|
|
|
|
Alert(
|
|
"canError",
|
|
"即刻接管控制",
|
|
"CAN 訊號錯誤:請檢查接線",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, 2.2, 3., 4.),
|
|
|
|
Alert(
|
|
"steerUnavailable",
|
|
"即刻接管控制",
|
|
"LKAS 錯誤:請重新發動車子",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, 2.2, 3., 4.),
|
|
|
|
Alert(
|
|
"brakeUnavailable",
|
|
"即刻接管控制",
|
|
"巡航系統錯誤:請重新發動車子",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, 2.2, 3., 4.),
|
|
|
|
Alert(
|
|
"gasUnavailable",
|
|
"即刻接管控制",
|
|
"油門錯誤:請重新發動車子",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, 2.2, 3., 4.),
|
|
|
|
Alert(
|
|
"reverseGear",
|
|
"即刻接管控制",
|
|
"切換至倒車檔",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, 2.2, 3., 4.),
|
|
|
|
Alert(
|
|
"cruiseDisabled",
|
|
"即刻接管控制",
|
|
"巡航系統關閉",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, 2.2, 3., 4.),
|
|
|
|
Alert(
|
|
"plannerError",
|
|
"即刻接管控制",
|
|
"Planner Solution 錯誤",
|
|
AlertStatus.critical, AlertSize.full,
|
|
Priority.HIGHEST, VisualAlert.steerRequired, AudibleAlert.chimeWarningRepeat, 2.2, 3., 4.),
|
|
|
|
# not loud cancellations (user is in control)
|
|
Alert(
|
|
"noTarget",
|
|
"dragonpilot 已取消",
|
|
"沒有偵測到前車",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.HIGH, VisualAlert.none, AudibleAlert.chimeDisengage, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"speedTooLow",
|
|
"dragonpilot 已取消",
|
|
"車速過慢",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.HIGH, VisualAlert.none, AudibleAlert.chimeDisengage, .4, 2., 3.),
|
|
|
|
# Cancellation alerts causing non-entry
|
|
Alert(
|
|
"overheatNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"系統過熱",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"wrongGearNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"車子不在 D 檔",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"calibrationInvalidNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"校準無效:請將 EON 放於新的位置並重新校準",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"calibrationIncompleteNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"正在校準相機中",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"doorOpenNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"車門未關",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"seatbeltNotLatchedNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"安全帶未繫",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"espDisabledNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"ESP 關閉",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"geofenceNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"不在地理圍欄區域之內",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.MID, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"radarCanErrorNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"雷達訊號錯誤:請重新發動車子",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"radarFaultNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"雷達訊號錯誤:請重新發動車子",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"posenetInvalidNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"視覺模型輸出不明確",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"controlsFailedNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"控制發生錯誤",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"canErrorNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"CAN 訊號錯誤:請檢查接線",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"steerUnavailableNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"LKAS 錯誤:請重新發動車子",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"brakeUnavailableNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"巡航系統錯誤:請重新發動車子",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"gasUnavailableNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"油門錯誤:請重新發動車子",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"reverseGearNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"切換至倒車檔",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"cruiseDisabledNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"巡航系統關閉",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"noTargetNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"沒有偵測到前車",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"plannerErrorNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"Planner Solution 錯誤",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeError, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"commIssueNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"行程出現通訊問題",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeDisengage, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"radarCommIssueNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"雷達通訊出現問題",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeDisengage, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"internetConnectivityNeededNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"請連接網路",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeDisengage, .4, 2., 3.),
|
|
|
|
Alert(
|
|
"lowMemoryNoEntry",
|
|
"無法使用 dragonpilot",
|
|
"記憶體不足:請重啟您的 EON",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.chimeDisengage, .4, 2., 3.),
|
|
|
|
# permanent alerts
|
|
Alert(
|
|
"steerUnavailablePermanent",
|
|
"LKAS 錯誤:請重新發動車子",
|
|
"",
|
|
AlertStatus.normal, AlertSize.small,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"brakeUnavailablePermanent",
|
|
"巡航系統錯誤:請重新發動車子",
|
|
"",
|
|
AlertStatus.normal, AlertSize.small,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"lowSpeedLockoutPermanent",
|
|
"巡航系統錯誤:請重新發動車子",
|
|
"",
|
|
AlertStatus.normal, AlertSize.small,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"calibrationIncompletePermanent",
|
|
"正在校準相機中:",
|
|
"車速請高於 ",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"invalidGiraffeToyotaPermanent",
|
|
"未支援的 Giraffe 設置",
|
|
"請查閱 comma.ai/tg",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"internetConnectivityNeededPermanent",
|
|
"請連接網路",
|
|
"需檢查更新後才能啟用",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"communityFeatureDisallowedPermanent",
|
|
"偵測到社群開發功能",
|
|
"請至開發人員設定裡啟用社群開發功能",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.none, 0., 0., .2), # LOW priority to overcome Cruise Error
|
|
|
|
Alert(
|
|
"sensorDataInvalidPermanent",
|
|
"沒有收到任何來自 EON 傳感器的資料",
|
|
"請重啟您的 EON",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"soundsUnavailablePermanent",
|
|
"找不到音效裝置",
|
|
"請重啟您的 EON",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"lowMemoryPermanent",
|
|
"記憶體嚴重不足",
|
|
"請重啟您的 EON",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"carUnrecognizedPermanent",
|
|
"行車記錄模式",
|
|
"無法辨識您的車款",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW_LOWEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2),
|
|
|
|
Alert(
|
|
"vehicleModelInvalid",
|
|
"車子參數識別失敗",
|
|
"",
|
|
AlertStatus.normal, AlertSize.small,
|
|
Priority.LOWEST, VisualAlert.steerRequired, AudibleAlert.none, .0, .0, .1),
|
|
|
|
# offroad alerts
|
|
Alert(
|
|
"ldwPermanent",
|
|
"接管控制",
|
|
"偵測到已偏離車道",
|
|
AlertStatus.userPrompt, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.chimePrompt, 1., 2., 3.),
|
|
# dragonpilot
|
|
Alert(
|
|
"manualSteeringRequired",
|
|
"請接管方向盤:車道維持關閉",
|
|
"",
|
|
AlertStatus.normal, AlertSize.small,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.none, .0, .1, .1, alert_rate=0.25),
|
|
|
|
Alert(
|
|
"manualSteeringRequiredBlinkersOn",
|
|
"請接管方向盤:方向燈開啟",
|
|
"",
|
|
AlertStatus.normal, AlertSize.small,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.none, .0, .1, .1, alert_rate=0.25),
|
|
Alert(
|
|
"leadCarMoving",
|
|
"前車移動中,請開始加速",
|
|
"",
|
|
AlertStatus.userPrompt, AlertSize.small,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.chimeWarning2, .1, .1, .1),
|
|
Alert(
|
|
"leadCarDetected",
|
|
"偵測到前車,等待中",
|
|
"",
|
|
AlertStatus.normal, AlertSize.small,
|
|
Priority.LOW, VisualAlert.none, AudibleAlert.none, .0, .1, .1, alert_rate=0.25),
|
|
Alert(
|
|
"preAutoLaneChangeLeft",
|
|
"將在三秒後自動切至左車道",
|
|
"請注意其它車輛",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.chimeWarning2, .1, .1, .1, alert_rate=0.75),
|
|
|
|
Alert(
|
|
"preAutoLaneChangeRight",
|
|
"將在三秒後自動切至右車道",
|
|
"請注意其它車輛",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.chimeWarning2, .1, .1, .1, alert_rate=0.75),
|
|
|
|
Alert(
|
|
"autoLaneChange",
|
|
"切換車道中",
|
|
"請注意其它車輛",
|
|
AlertStatus.normal, AlertSize.mid,
|
|
Priority.LOW, VisualAlert.steerRequired, AudibleAlert.chimeWarning2, .1, .1, .1),
|
|
]
|