parent
81cdecd7da
commit
f60101314d
@ -72,7 +72,7 @@ class CarState(CarStateBase):
|
|||||||
self.tcs_info_373 = None
|
self.tcs_info_373 = None
|
||||||
self.mdps_info = {}
|
self.mdps_info = {}
|
||||||
self.steer_touch_info = {}
|
self.steer_touch_info = {}
|
||||||
|
|
||||||
self.cruise_buttons_msg = None
|
self.cruise_buttons_msg = None
|
||||||
self.hda2_lfa_block_msg = None
|
self.hda2_lfa_block_msg = None
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ class CarState(CarStateBase):
|
|||||||
|
|
||||||
self.main_enabled = True if Params().get_int("AutoEngage") == 2 else False
|
self.main_enabled = True if Params().get_int("AutoEngage") == 2 else False
|
||||||
self.gear_shifter = GearShifter.drive # Gear_init for Nexo ?? unknown 21.02.23.LSW
|
self.gear_shifter = GearShifter.drive # Gear_init for Nexo ?? unknown 21.02.23.LSW
|
||||||
|
|
||||||
self.totalDistance = 0.0
|
self.totalDistance = 0.0
|
||||||
self.speedLimitDistance = 0
|
self.speedLimitDistance = 0
|
||||||
self.pcmCruiseGap = 0
|
self.pcmCruiseGap = 0
|
||||||
@ -94,6 +94,11 @@ class CarState(CarStateBase):
|
|||||||
self.LFA_ICON = 0
|
self.LFA_ICON = 0
|
||||||
self.paddle_button_prev = 0
|
self.paddle_button_prev = 0
|
||||||
|
|
||||||
|
self.lf_distance = 0
|
||||||
|
self.rf_distance = 0
|
||||||
|
self.lr_distance = 0
|
||||||
|
self.rr_distance = 0
|
||||||
|
|
||||||
def update(self, can_parsers) -> structs.CarState:
|
def update(self, can_parsers) -> structs.CarState:
|
||||||
cp = can_parsers[Bus.pt]
|
cp = can_parsers[Bus.pt]
|
||||||
cp_cam = can_parsers[Bus.cam]
|
cp_cam = can_parsers[Bus.cam]
|
||||||
@ -292,16 +297,16 @@ class CarState(CarStateBase):
|
|||||||
else:
|
else:
|
||||||
ret.speedLimit = 0
|
ret.speedLimit = 0
|
||||||
ret.speedLimitDistance = 0
|
ret.speedLimitDistance = 0
|
||||||
|
|
||||||
self.update_speed_limit(ret)
|
self.update_speed_limit(ret)
|
||||||
|
|
||||||
if prev_main_buttons == 0 and self.main_buttons[-1] != 0:
|
if prev_main_buttons == 0 and self.main_buttons[-1] != 0:
|
||||||
self.main_enabled = not self.main_enabled
|
self.main_enabled = not self.main_enabled
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def update_speed_limit(self, ret):
|
def update_speed_limit(self, ret):
|
||||||
self.totalDistance += ret.vEgo * DT_CTRL
|
self.totalDistance += ret.vEgo * DT_CTRL
|
||||||
if ret.speedLimit > 0 and not ret.gasPressed:
|
if ret.speedLimit > 0 and not ret.gasPressed:
|
||||||
if self.speedLimitDistance <= self.totalDistance:
|
if self.speedLimitDistance <= self.totalDistance:
|
||||||
self.speedLimitDistance = self.totalDistance + ret.speedLimit * 6
|
self.speedLimitDistance = self.totalDistance + ret.speedLimit * 6
|
||||||
@ -309,7 +314,7 @@ class CarState(CarStateBase):
|
|||||||
else:
|
else:
|
||||||
self.speedLimitDistance = self.totalDistance
|
self.speedLimitDistance = self.totalDistance
|
||||||
ret.speedLimitDistance = self.speedLimitDistance - self.totalDistance
|
ret.speedLimitDistance = self.speedLimitDistance - self.totalDistance
|
||||||
|
|
||||||
def update_canfd(self, can_parsers) -> structs.CarState:
|
def update_canfd(self, can_parsers) -> structs.CarState:
|
||||||
cp = can_parsers[Bus.pt]
|
cp = can_parsers[Bus.pt]
|
||||||
cp_cam = can_parsers[Bus.cam]
|
cp_cam = can_parsers[Bus.cam]
|
||||||
@ -367,8 +372,8 @@ class CarState(CarStateBase):
|
|||||||
self.steer_touch_info = copy.copy(cp.vl["STEER_TOUCH_2AF"])
|
self.steer_touch_info = copy.copy(cp.vl["STEER_TOUCH_2AF"])
|
||||||
|
|
||||||
# carrot test
|
# carrot test
|
||||||
left_blinker_lamp = cp.vl["BLINKERS"]["LEFT_LAMP"] or cp.vl["BLINKERS"]["LEFT_LAMP_ALT"]
|
left_blinker_lamp = cp.vl["BLINKERS"]["LEFT_LAMP"] or cp.vl["BLINKERS"]["LEFT_LAMP_ALT"]
|
||||||
right_blinker_lamp = cp.vl["BLINKERS"]["RIGHT_LAMP"] or cp.vl["BLINKERS"]["RIGHT_LAMP_ALT"]
|
right_blinker_lamp = cp.vl["BLINKERS"]["RIGHT_LAMP"] or cp.vl["BLINKERS"]["RIGHT_LAMP_ALT"]
|
||||||
ret.leftBlinker, ret.rightBlinker = self.update_blinker_from_lamp(50, left_blinker_lamp, right_blinker_lamp)
|
ret.leftBlinker, ret.rightBlinker = self.update_blinker_from_lamp(50, left_blinker_lamp, right_blinker_lamp)
|
||||||
|
|
||||||
# TODO: alt signal usage may be described by cp.vl['BLINKERS']['USE_ALT_LAMP']
|
# TODO: alt signal usage may be described by cp.vl['BLINKERS']['USE_ALT_LAMP']
|
||||||
@ -424,6 +429,10 @@ class CarState(CarStateBase):
|
|||||||
self.adrv_info_161 = copy.copy(cp_cam.vl.get("ADRV_0x161", {}))
|
self.adrv_info_161 = copy.copy(cp_cam.vl.get("ADRV_0x161", {}))
|
||||||
if "ADRV_0x162" in cp_cam.vl:
|
if "ADRV_0x162" in cp_cam.vl:
|
||||||
self.adrv_info_162 = copy.copy(cp_cam.vl.get("ADRV_0x162", {}))
|
self.adrv_info_162 = copy.copy(cp_cam.vl.get("ADRV_0x162", {}))
|
||||||
|
self.lf_distance = cp_cam.vl["CCNC_0x162"]["LF_DETECT_DISTANCE"]
|
||||||
|
self.rf_distance = cp_cam.vl["CCNC_0x162"]["RF_DETECT_DISTANCE"]
|
||||||
|
self.lr_distance = cp_cam.vl["CCNC_0x162"]["LR_DETECT_DISTANCE"]
|
||||||
|
self.rr_distance = cp_cam.vl["CCNC_0x162"]["RR_DETECT_DISTANCE"]
|
||||||
if "ADRV_0x200" in cp_cam.vl:
|
if "ADRV_0x200" in cp_cam.vl:
|
||||||
self.adrv_info_200 = copy.copy(cp_cam.vl.get("ADRV_0x200", {}))
|
self.adrv_info_200 = copy.copy(cp_cam.vl.get("ADRV_0x200", {}))
|
||||||
if "ADRV_0x1ea" in cp_cam.vl:
|
if "ADRV_0x1ea" in cp_cam.vl:
|
||||||
@ -436,7 +445,7 @@ class CarState(CarStateBase):
|
|||||||
if int(self.hda_info_4a3["NEW_SIGNAL_4"]) == 17:
|
if int(self.hda_info_4a3["NEW_SIGNAL_4"]) == 17:
|
||||||
speedLimit = self.hda_info_4a3["SPEED_LIMIT"]
|
speedLimit = self.hda_info_4a3["SPEED_LIMIT"]
|
||||||
ret.speedLimit = speedLimit if speedLimit < 255 else 0 # 안됨.. 고속화도로나 고속도로는....
|
ret.speedLimit = speedLimit if speedLimit < 255 else 0 # 안됨.. 고속화도로나 고속도로는....
|
||||||
|
|
||||||
if "NEW_MSG_4B4" in cp.vl:
|
if "NEW_MSG_4B4" in cp.vl:
|
||||||
self.new_msg_4b4 = copy.copy(cp.vl.get("NEW_MSG_4B4", {}))
|
self.new_msg_4b4 = copy.copy(cp.vl.get("NEW_MSG_4B4", {}))
|
||||||
|
|
||||||
@ -466,7 +475,7 @@ class CarState(CarStateBase):
|
|||||||
|
|
||||||
self.cruise_buttons.extend(cruise_button)
|
self.cruise_buttons.extend(cruise_button)
|
||||||
# }} carrot
|
# }} carrot
|
||||||
|
|
||||||
|
|
||||||
if self.cruise_btns_msg_canfd in cp.vl:
|
if self.cruise_btns_msg_canfd in cp.vl:
|
||||||
self.cruise_buttons_msg = copy.copy(cp.vl[self.cruise_btns_msg_canfd])
|
self.cruise_buttons_msg = copy.copy(cp.vl[self.cruise_btns_msg_canfd])
|
||||||
@ -547,7 +556,7 @@ class CarState(CarStateBase):
|
|||||||
pt_messages += [
|
pt_messages += [
|
||||||
("CRUISE_BUTTONS", 50)
|
("CRUISE_BUTTONS", 50)
|
||||||
]
|
]
|
||||||
|
|
||||||
if CP.extFlags & HyundaiExtFlags.STEER_TOUCH:
|
if CP.extFlags & HyundaiExtFlags.STEER_TOUCH:
|
||||||
pt_messages += [
|
pt_messages += [
|
||||||
("STEER_TOUCH_2AF", 10),
|
("STEER_TOUCH_2AF", 10),
|
||||||
@ -576,7 +585,7 @@ class CarState(CarStateBase):
|
|||||||
#("NEW_MSG_4B4", 10), # G80 hda2개조차량은 안나옴. 원래그런건지.. 어짜피 안쓰는데이터이니깐...
|
#("NEW_MSG_4B4", 10), # G80 hda2개조차량은 안나옴. 원래그런건지.. 어짜피 안쓰는데이터이니깐...
|
||||||
]
|
]
|
||||||
#if CP.flags & HyundaiFlags.CANFD_HDA2 and CP.extFlags & HyundaiExtFlags.NAVI_CLUSTER.value and not (CP.extFlags & HyundaiExtFlags.SCC_BUS2.value):
|
#if CP.flags & HyundaiFlags.CANFD_HDA2 and CP.extFlags & HyundaiExtFlags.NAVI_CLUSTER.value and not (CP.extFlags & HyundaiExtFlags.SCC_BUS2.value):
|
||||||
# 어떤차는 bus2에 있음, 내차는 bus0에 있는데.... 이건 옆두부와 관련이 없나?
|
# 어떤차는 bus2에 있음, 내차는 bus0에 있는데.... 이건 옆두부와 관련이 없나?
|
||||||
#if CP.flags & HyundaiFlags.CANFD_HDA2:
|
#if CP.flags & HyundaiFlags.CANFD_HDA2:
|
||||||
# pt_messages.append(("CLUSTER_SPEED_LIMIT", 10))
|
# pt_messages.append(("CLUSTER_SPEED_LIMIT", 10))
|
||||||
|
|
||||||
@ -641,7 +650,7 @@ class CarState(CarStateBase):
|
|||||||
("CGW4", 5),
|
("CGW4", 5),
|
||||||
("WHL_SPD11", 50),
|
("WHL_SPD11", 50),
|
||||||
("SAS11", 100),
|
("SAS11", 100),
|
||||||
("TPMS11", 5),
|
("TPMS11", 5),
|
||||||
]
|
]
|
||||||
if CP.flags & HyundaiFlags.CC_ONLY_CAR:
|
if CP.flags & HyundaiFlags.CC_ONLY_CAR:
|
||||||
pt_messages.remove(("TCS11", 100))
|
pt_messages.remove(("TCS11", 100))
|
||||||
@ -682,7 +691,7 @@ class CarState(CarStateBase):
|
|||||||
else:
|
else:
|
||||||
pt_messages.append(("LVR12", 100))
|
pt_messages.append(("LVR12", 100))
|
||||||
pt_messages.append(("LVR11", 100))
|
pt_messages.append(("LVR11", 100))
|
||||||
|
|
||||||
if CP.extFlags & HyundaiExtFlags.HAS_LFA_BUTTON.value:
|
if CP.extFlags & HyundaiExtFlags.HAS_LFA_BUTTON.value:
|
||||||
pt_messages.append(("BCM_PO_11", 50))
|
pt_messages.append(("BCM_PO_11", 50))
|
||||||
|
|
||||||
@ -709,7 +718,7 @@ class CarState(CarStateBase):
|
|||||||
if CP.extFlags & HyundaiExtFlags.HAS_SCC14.value:
|
if CP.extFlags & HyundaiExtFlags.HAS_SCC14.value:
|
||||||
cam_messages += [
|
cam_messages += [
|
||||||
("SCC14", 50),
|
("SCC14", 50),
|
||||||
]
|
]
|
||||||
if CP.flags & HyundaiFlags.USE_FCA.value:
|
if CP.flags & HyundaiFlags.USE_FCA.value:
|
||||||
cam_messages += [
|
cam_messages += [
|
||||||
("FCA11", 50),
|
("FCA11", 50),
|
||||||
|
@ -95,7 +95,7 @@ def create_steering_messages_camera_scc(frame, packer, CP, CAN, CC, lat_active,
|
|||||||
else:
|
else:
|
||||||
if CS.lfa_info is not None:
|
if CS.lfa_info is not None:
|
||||||
values["LKA_ACTIVE"] = 1 if CS.lfa_info["STEER_REQ"] == 1 else 0
|
values["LKA_ACTIVE"] = 1 if CS.lfa_info["STEER_REQ"] == 1 else 0
|
||||||
|
|
||||||
if frame % 1000 < 40:
|
if frame % 1000 < 40:
|
||||||
values["STEERING_COL_TORQUE"] += 100
|
values["STEERING_COL_TORQUE"] += 100
|
||||||
ret.append(packer.make_can_msg("MDPS", CAN.CAM, values))
|
ret.append(packer.make_can_msg("MDPS", CAN.CAM, values))
|
||||||
@ -436,7 +436,7 @@ def create_ccnc_messages(CP, packer, CAN, frame, CC, CS, hud_control, disp_angle
|
|||||||
#ret.append(packer.make_can_msg(CS.cruise_btns_msg_canfd, CAN.ECAN, values))
|
#ret.append(packer.make_can_msg(CS.cruise_btns_msg_canfd, CAN.ECAN, values))
|
||||||
ret.append(packer.make_can_msg(CS.cruise_btns_msg_canfd, CAN.CAM, values))
|
ret.append(packer.make_can_msg(CS.cruise_btns_msg_canfd, CAN.CAM, values))
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
if frame % 5 == 0:
|
if frame % 5 == 0:
|
||||||
if CP.extFlags & HyundaiExtFlags.CANFD_161.value:
|
if CP.extFlags & HyundaiExtFlags.CANFD_161.value:
|
||||||
@ -445,7 +445,7 @@ def create_ccnc_messages(CP, packer, CAN, frame, CC, CS, hud_control, disp_angle
|
|||||||
cruise_enabled = CC.enabled
|
cruise_enabled = CC.enabled
|
||||||
lat_active = CC.latActive
|
lat_active = CC.latActive
|
||||||
nav_active = hud_control.activeCarrot > 1
|
nav_active = hud_control.activeCarrot > 1
|
||||||
|
|
||||||
# hdpuse carrot
|
# hdpuse carrot
|
||||||
hdp_use = int(Params().get("HDPuse"))
|
hdp_use = int(Params().get("HDPuse"))
|
||||||
hdp_active = False
|
hdp_active = False
|
||||||
@ -483,7 +483,7 @@ def create_ccnc_messages(CP, packer, CAN, frame, CC, CS, hud_control, disp_angle
|
|||||||
if values["ALERTS_2"] in [1, 2, 5]:
|
if values["ALERTS_2"] in [1, 2, 5]:
|
||||||
values["ALERTS_2"] = 0
|
values["ALERTS_2"] = 0
|
||||||
values["DAW_ICON"] = 0
|
values["DAW_ICON"] = 0
|
||||||
|
|
||||||
values["SOUNDS_2"] = 0 # 2: STEER중지 경고후에도 사운드가 나옴.
|
values["SOUNDS_2"] = 0 # 2: STEER중지 경고후에도 사운드가 나옴.
|
||||||
values["SOUNDS_4"] = 0 # 차선변경알림? 에이 그냥0으로..
|
values["SOUNDS_4"] = 0 # 차선변경알림? 에이 그냥0으로..
|
||||||
|
|
||||||
@ -537,13 +537,24 @@ def create_ccnc_messages(CP, packer, CAN, frame, CC, CS, hud_control, disp_angle
|
|||||||
if CS.adrv_info_162 is not None:
|
if CS.adrv_info_162 is not None:
|
||||||
values = CS.adrv_info_162
|
values = CS.adrv_info_162
|
||||||
if hud_control.leadDistance > 0:
|
if hud_control.leadDistance > 0:
|
||||||
values["FF_DETECT_POS"] = hud_control.leadDistance
|
values["FF_DISTANCE"] = hud_control.leadDistance
|
||||||
#values["FF_DETECT"] = 11 if hud_control.leadRelSpeed > -0.1 else 12 # bicycle
|
#values["FF_DETECT"] = 11 if hud_control.leadRelSpeed > -0.1 else 12 # bicycle
|
||||||
#values["FF_DETECT"] = 5 if hud_control.leadRelSpeed > -0.1 else 6 # truck
|
#values["FF_DETECT"] = 5 if hud_control.leadRelSpeed > -0.1 else 6 # truck
|
||||||
ff_type = 3 if hud_control.leadRadar == 1 else 13
|
ff_type = 3 if hud_control.leadRadar == 1 else 13
|
||||||
values["FF_DETECT"] = ff_type if hud_control.leadRelSpeed > -0.1 else ff_type + 1
|
values["FF_DETECT"] = ff_type if hud_control.leadRelSpeed > -0.1 else ff_type + 1
|
||||||
#values["FF_DETECT_LAT"] = - hud_control.leadDPath
|
#values["FF_DETECT_LAT"] = - hud_control.leadDPath
|
||||||
|
|
||||||
|
sensors = [
|
||||||
|
('lf', 'LF_DETECT'),
|
||||||
|
('rf', 'RF_DETECT'),
|
||||||
|
('lr', 'LR_DETECT'),
|
||||||
|
('rr', 'RR_DETECT')
|
||||||
|
]
|
||||||
|
|
||||||
|
for sensor_key, detect_key in sensors:
|
||||||
|
distance = getattr(CS, f"{sensor_key}_distance")
|
||||||
|
if distance > 0:
|
||||||
|
values[detect_key] = 3 if distance > 30 else 4
|
||||||
|
|
||||||
"""
|
"""
|
||||||
values["FAULT_FCA"] = 0
|
values["FAULT_FCA"] = 0
|
||||||
@ -575,9 +586,9 @@ def create_ccnc_messages(CP, packer, CAN, frame, CC, CS, hud_control, disp_angle
|
|||||||
# ADAS 콤마연결하면.. 0번에서.. (카메라혹은 다른곳에서)
|
# ADAS 콤마연결하면.. 0번에서.. (카메라혹은 다른곳에서)
|
||||||
# 카메라 콤마연결+롱컨개조 하면.. 2번에서 데이터가 나옴..(카메라혹은 ADAS)
|
# 카메라 콤마연결+롱컨개조 하면.. 2번에서 데이터가 나옴..(카메라혹은 ADAS)
|
||||||
if frame % 10 == 0:
|
if frame % 10 == 0:
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def create_adrv_messages(CP, packer, CAN, frame):
|
def create_adrv_messages(CP, packer, CAN, frame):
|
||||||
|
@ -316,20 +316,23 @@ BO_ 354 ADRV_0x162: 32 CCNC
|
|||||||
SG_ SPEEDLIMIT_WEATHER : 48|4@1+ (1,0) [0|15] "" XXX
|
SG_ SPEEDLIMIT_WEATHER : 48|4@1+ (1,0) [0|15] "" XXX
|
||||||
SG_ VIBRATE : 52|1@0+ (1,0) [0|1] "" XXX
|
SG_ VIBRATE : 52|1@0+ (1,0) [0|1] "" XXX
|
||||||
SG_ FF_DETECT : 64|5@1+ (1,0) [0|31] "" XXX
|
SG_ FF_DETECT : 64|5@1+ (1,0) [0|31] "" XXX
|
||||||
SG_ FF_DETECT_POS : 69|11@1+ (0.1,0) [0|2047] "m" XXX
|
SG_ FF_DISTANCE : 69|11@1+ (0.1,0) [0|204.7] "m" XXX
|
||||||
SG_ FF_DETECT_LAT : 80|7@1- (0.1,0) [0|127] "" XXX
|
SG_ FF_LATERAL : 80|7@1+ (0.1,0) [0|127] "m" XXX
|
||||||
|
SG_ FF_DETECT_ALT : 88|5@1+ (1,0) [0|31] "" XXX
|
||||||
|
SG_ FF_DISTANCE_ALT : 93|11@1+ (0.1,0) [0|204.7] "m" XXX
|
||||||
|
SG_ FF_LATERAL_ALT : 104|7@1+ (0.1,0) [0|127] "m" XXX
|
||||||
SG_ LF_DETECT : 112|5@1+ (1,0) [0|31] "" XXX
|
SG_ LF_DETECT : 112|5@1+ (1,0) [0|31] "" XXX
|
||||||
SG_ LF_DETECT_POS : 117|10@1+ (0.1,0) [0|1023] "m" XXX
|
SG_ LF_DETECT_DISTANCE : 117|11@1+ (0.1,0) [0|204.7] "m" XXX
|
||||||
SG_ LF_DETECT_LAT : 128|7@1+ (1,0) [0|127] "" XXX
|
SG_ LF_DETECT_LATERAL : 128|7@1+ (0.1,0) [0|127] "m" XXX
|
||||||
SG_ RF_DETECT : 136|5@1+ (1,0) [0|31] "" XXX
|
SG_ RF_DETECT : 136|5@1+ (1,0) [0|31] "" XXX
|
||||||
SG_ RF_DETECT_POS : 141|10@1+ (0.1,0) [0|1023] "m" XXX
|
SG_ RF_DETECT_DISTANCE : 141|11@1+ (0.1,0) [0|204.7] "m" XXX
|
||||||
SG_ RF_DETECT_LAT : 152|7@1+ (1,0) [0|127] "" XXX
|
SG_ RF_DETECT_LATERAL : 152|7@1+ (0.1,0) [0|127] "m" XXX
|
||||||
SG_ LR_DETECT : 163|5@1+ (1,0) [0|31] "" XXX
|
SG_ LR_DETECT : 163|5@1+ (1,0) [0|31] "" XXX
|
||||||
SG_ LR_DETECT_POS : 168|9@1+ (1,0) [0|511] "" XXX
|
SG_ LR_DETECT_DISTANCE : 168|9@1+ (0.1,0) [0|204.7] "m" XXX
|
||||||
SG_ LR_DETECT_LAT : 177|7@1+ (1,0) [0|127] "" XXX
|
SG_ LR_DETECT_LATERAL : 177|7@1+ (0.1,0) [0|127] "m" XXX
|
||||||
SG_ RR_DETECT : 192|5@1+ (1,0) [0|31] "" XXX
|
SG_ RR_DETECT : 192|5@1+ (1,0) [0|31] "" XXX
|
||||||
SG_ RR_DETECT_POS : 197|9@1+ (0.1,0) [0|511] "m" XXX
|
SG_ RR_DETECT_DISTANCE : 197|9@1+ (0.1,0) [0|204.7] "m" XXX
|
||||||
SG_ RR_DETECT_LAT : 206|7@1+ (1,0) [0|127] "" XXX
|
SG_ RR_DETECT_LATERAL : 206|7@1+ (0.1,0) [0|127] "m" XXX
|
||||||
SG_ FAULT_FSS : 213|3@1+ (1,0) [0|7] "" XXX
|
SG_ FAULT_FSS : 213|3@1+ (1,0) [0|7] "" XXX
|
||||||
SG_ FAULT_FCA : 216|3@1+ (1,0) [0|7] "" XXX
|
SG_ FAULT_FCA : 216|3@1+ (1,0) [0|7] "" XXX
|
||||||
SG_ FAULT_LSS : 219|3@1+ (1,0) [0|7] "" XXX
|
SG_ FAULT_LSS : 219|3@1+ (1,0) [0|7] "" XXX
|
||||||
@ -945,10 +948,12 @@ VAL_ 354 SIGNS 0 "HIDDEN" 1 "PEDESTRIAN_CROSSING" 2 "SCHOOL_CROSSWALK" 8 "STOP"
|
|||||||
VAL_ 354 SPEEDLIMIT_FLASH 0 "HIDDEN" 1 "ERROR" 2 "NORMAL" 4 "RED";
|
VAL_ 354 SPEEDLIMIT_FLASH 0 "HIDDEN" 1 "ERROR" 2 "NORMAL" 4 "RED";
|
||||||
VAL_ 354 SPEEDLIMIT_WEATHER 0 "HIDDEN" 1 "RAIN" 2 "SNOW" 3 "RAIN+SNOW" 4 "TRAILER";
|
VAL_ 354 SPEEDLIMIT_WEATHER 0 "HIDDEN" 1 "RAIN" 2 "SNOW" 3 "RAIN+SNOW" 4 "TRAILER";
|
||||||
VAL_ 354 VIBRATE 0 "NONE" 1 "VIBRATE";
|
VAL_ 354 VIBRATE 0 "NONE" 1 "VIBRATE";
|
||||||
VAL_ 354 LEAD 0 "HIDDEN" 1 "GRAY BOX" 2 "WHITE BOX" 3 "GRAY CAR" 4 "WHITE CAR" 5 "GRAY TRUCK" 6 "WHITE TRUCK" 7 "GRAY PERSON" 8 "WHITE PERSON" 9 "GRAY BICYCLE" 10 "WHITE BICYCLE" 11 "GRAY MOTORCYCLE" 12 "WHITE MOTORCYCLE" 13 "DARK CONE" 14 "ORANGE CONE";
|
VAL_ 354 FF_DETECT 0 "HIDDEN" 1 "GRAY BOX" 2 "WHITE BOX" 3 "GRAY CAR" 4 "WHITE CAR" 5 "GRAY TRUCK" 6 "WHITE TRUCK" 7 "GRAY PERSON" 8 "WHITE PERSON" 9 "GRAY BICYCLE" 10 "WHITE BICYCLE" 11 "GRAY MOTORCYCLE" 12 "WHITE MOTORCYCLE" 13 "DARK CONE" 14 "ORANGE CONE";
|
||||||
VAL_ 354 LEAD_ALT 0 "HIDDEN" 1 "GRAY BOX" 2 "WHITE BOX" 3 "DIM CONE" 4 "ORANGE CONE";
|
VAL_ 354 FF_DETECT_ALT 0 "HIDDEN" 1 "GRAY BOX" 2 "WHITE BOX" 3 "DIM CONE" 4 "ORANGE CONE";
|
||||||
VAL_ 354 LEAD_LEFT 0 "HIDDEN" 1 "GRAY BOX" 2 "WHITE BOX" 3 "GRAY CAR" 4 "WHITE CAR" 5 "GRAY TRUCK" 6 "WHITE TRUCK" 7 "GRAY PERSON" 8 "WHITE PERSON" 9 "GRAY BICYCLE" 10 "WHITE BICYCLE" 11 "GRAY MOTORCYCLE" 12 "WHITE MOTORCYCLE" 13 "DARK CONE" 14 "ORANGE CONE";
|
VAL_ 354 LF_DETECT 0 "HIDDEN" 1 "GRAY BOX" 2 "WHITE BOX" 3 "GRAY CAR" 4 "WHITE CAR" 5 "GRAY TRUCK" 6 "WHITE TRUCK" 7 "GRAY PERSON" 8 "WHITE PERSON" 9 "GRAY BICYCLE" 10 "WHITE BICYCLE" 11 "GRAY MOTORCYCLE" 12 "WHITE MOTORCYCLE" 13 "DARK CONE" 14 "ORANGE CONE";
|
||||||
VAL_ 354 LEAD_RIGHT 0 "HIDDEN" 1 "GRAY BOX" 2 "WHITE BOX" 3 "GRAY CAR" 4 "WHITE CAR" 5 "GRAY TRUCK" 6 "WHITE TRUCK" 7 "GRAY PERSON" 8 "WHITE PERSON" 9 "GRAY BICYCLE" 10 "WHITE BICYCLE" 11 "GRAY MOTORCYCLE" 12 "WHITE MOTORCYCLE" 13 "DARK CONE" 14 "ORANGE CONE";
|
VAL_ 354 LR_DETECT 0 "HIDDEN" 1 "GRAY BOX" 2 "WHITE BOX" 3 "GRAY CAR" 4 "WHITE CAR" 5 "GRAY TRUCK" 6 "WHITE TRUCK" 7 "GRAY PERSON" 8 "WHITE PERSON" 9 "GRAY BICYCLE" 10 "WHITE BICYCLE" 11 "GRAY MOTORCYCLE" 12 "WHITE MOTORCYCLE" 13 "DARK CONE" 14 "ORANGE CONE";
|
||||||
|
VAL_ 354 RF_DETECT 0 "HIDDEN" 1 "GRAY BOX" 2 "WHITE BOX" 3 "GRAY CAR" 4 "WHITE CAR" 5 "GRAY TRUCK" 6 "WHITE TRUCK" 7 "GRAY PERSON" 8 "WHITE PERSON" 9 "GRAY BICYCLE" 10 "WHITE BICYCLE" 11 "GRAY MOTORCYCLE" 12 "WHITE MOTORCYCLE" 13 "DARK CONE" 14 "ORANGE CONE";
|
||||||
|
VAL_ 354 RR_DETECT 0 "HIDDEN" 1 "GRAY BOX" 2 "WHITE BOX" 3 "GRAY CAR" 4 "WHITE CAR" 5 "GRAY TRUCK" 6 "WHITE TRUCK" 7 "GRAY PERSON" 8 "WHITE PERSON" 9 "GRAY BICYCLE" 10 "WHITE BICYCLE" 11 "GRAY MOTORCYCLE" 12 "WHITE MOTORCYCLE" 13 "DARK CONE" 14 "ORANGE CONE";
|
||||||
VAL_ 354 FAULT_FSS 0 "HIDDEN" 1 "CHECK_FORWARD_SAFETY_SYSTEM" 2 "FORWARD_SAFETY_SYSTEM_LIMITED_CAMERA_OBSCURED" 3 "FORWARD_SAFETY_SYSTEM_LIMITED_RADAR_BLOCKED";
|
VAL_ 354 FAULT_FSS 0 "HIDDEN" 1 "CHECK_FORWARD_SAFETY_SYSTEM" 2 "FORWARD_SAFETY_SYSTEM_LIMITED_CAMERA_OBSCURED" 3 "FORWARD_SAFETY_SYSTEM_LIMITED_RADAR_BLOCKED";
|
||||||
VAL_ 354 FAULT_FCA 0 "HIDDEN" 1 "CHECK_FORWARD_SIDE_SAFETY_SYSTEM" 2 "FORWARD_SIDE_SAFETY_SYSTEM_LIMITED_CAMERA_OBSCURED" 3 "FORWARD_SIDE_SAFETY_SYSTEM_LIMITED_RADAR_BLOCKED";
|
VAL_ 354 FAULT_FCA 0 "HIDDEN" 1 "CHECK_FORWARD_SIDE_SAFETY_SYSTEM" 2 "FORWARD_SIDE_SAFETY_SYSTEM_LIMITED_CAMERA_OBSCURED" 3 "FORWARD_SIDE_SAFETY_SYSTEM_LIMITED_RADAR_BLOCKED";
|
||||||
VAL_ 354 FAULT_LSS 0 "HIDDEN" 1 "CHECK_LANE_SAFETY_SYSTEM" 2 "LANE_SAFETY_SYSTEM_DISABLED_CAMERA_OBSCURED";
|
VAL_ 354 FAULT_LSS 0 "HIDDEN" 1 "CHECK_LANE_SAFETY_SYSTEM" 2 "LANE_SAFETY_SYSTEM_DISABLED_CAMERA_OBSCURED";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user