|
|
@ -1,4 +1,3 @@ |
|
|
|
import copy |
|
|
|
|
|
|
|
import crcmod |
|
|
|
import crcmod |
|
|
|
from selfdrive.car.nissan.values import CAR |
|
|
|
from selfdrive.car.nissan.values import CAR |
|
|
|
|
|
|
|
|
|
|
@ -23,7 +22,23 @@ def create_steering_control(packer, apply_steer, frame, steer_on, lkas_max_torqu |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def create_acc_cancel_cmd(packer, car_fingerprint, cruise_throttle_msg): |
|
|
|
def create_acc_cancel_cmd(packer, car_fingerprint, cruise_throttle_msg): |
|
|
|
values = copy.copy(cruise_throttle_msg) |
|
|
|
values = {s: cruise_throttle_msg[s] for s in [ |
|
|
|
|
|
|
|
"COUNTER", |
|
|
|
|
|
|
|
"PROPILOT_BUTTON", |
|
|
|
|
|
|
|
"CANCEL_BUTTON", |
|
|
|
|
|
|
|
"GAS_PEDAL_INVERTED", |
|
|
|
|
|
|
|
"SET_BUTTON", |
|
|
|
|
|
|
|
"RES_BUTTON", |
|
|
|
|
|
|
|
"FOLLOW_DISTANCE_BUTTON", |
|
|
|
|
|
|
|
"NO_BUTTON_PRESSED", |
|
|
|
|
|
|
|
"GAS_PEDAL", |
|
|
|
|
|
|
|
"USER_BRAKE_PRESSED", |
|
|
|
|
|
|
|
"NEW_SIGNAL_2", |
|
|
|
|
|
|
|
"GAS_PRESSED_INVERTED", |
|
|
|
|
|
|
|
"unsure1", |
|
|
|
|
|
|
|
"unsure2", |
|
|
|
|
|
|
|
"unsure3", |
|
|
|
|
|
|
|
]} |
|
|
|
can_bus = 1 if car_fingerprint == CAR.ALTIMA else 2 |
|
|
|
can_bus = 1 if car_fingerprint == CAR.ALTIMA else 2 |
|
|
|
|
|
|
|
|
|
|
|
values["CANCEL_BUTTON"] = 1 |
|
|
|
values["CANCEL_BUTTON"] = 1 |
|
|
@ -37,7 +52,12 @@ def create_acc_cancel_cmd(packer, car_fingerprint, cruise_throttle_msg): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def create_cancel_msg(packer, cancel_msg, cruise_cancel): |
|
|
|
def create_cancel_msg(packer, cancel_msg, cruise_cancel): |
|
|
|
values = copy.copy(cancel_msg) |
|
|
|
values = {s: cancel_msg[s] for s in [ |
|
|
|
|
|
|
|
"CANCEL_SEATBELT", |
|
|
|
|
|
|
|
"NEW_SIGNAL_1", |
|
|
|
|
|
|
|
"NEW_SIGNAL_2", |
|
|
|
|
|
|
|
"NEW_SIGNAL_3", |
|
|
|
|
|
|
|
]} |
|
|
|
|
|
|
|
|
|
|
|
if cruise_cancel: |
|
|
|
if cruise_cancel: |
|
|
|
values["CANCEL_SEATBELT"] = 1 |
|
|
|
values["CANCEL_SEATBELT"] = 1 |
|
|
@ -46,7 +66,34 @@ def create_cancel_msg(packer, cancel_msg, cruise_cancel): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def create_lkas_hud_msg(packer, lkas_hud_msg, enabled, left_line, right_line, left_lane_depart, right_lane_depart): |
|
|
|
def create_lkas_hud_msg(packer, lkas_hud_msg, enabled, left_line, right_line, left_lane_depart, right_lane_depart): |
|
|
|
values = lkas_hud_msg |
|
|
|
values = {s: lkas_hud_msg[s] for s in [ |
|
|
|
|
|
|
|
"LARGE_WARNING_FLASHING", |
|
|
|
|
|
|
|
"SIDE_RADAR_ERROR_FLASHING1", |
|
|
|
|
|
|
|
"SIDE_RADAR_ERROR_FLASHING2", |
|
|
|
|
|
|
|
"LEAD_CAR", |
|
|
|
|
|
|
|
"LEAD_CAR_ERROR", |
|
|
|
|
|
|
|
"FRONT_RADAR_ERROR", |
|
|
|
|
|
|
|
"FRONT_RADAR_ERROR_FLASHING", |
|
|
|
|
|
|
|
"SIDE_RADAR_ERROR_FLASHING3", |
|
|
|
|
|
|
|
"LKAS_ERROR_FLASHING", |
|
|
|
|
|
|
|
"SAFETY_SHIELD_ACTIVE", |
|
|
|
|
|
|
|
"RIGHT_LANE_GREEN_FLASH", |
|
|
|
|
|
|
|
"LEFT_LANE_GREEN_FLASH", |
|
|
|
|
|
|
|
"FOLLOW_DISTANCE", |
|
|
|
|
|
|
|
"AUDIBLE_TONE", |
|
|
|
|
|
|
|
"SPEED_SET_ICON", |
|
|
|
|
|
|
|
"SMALL_STEERING_WHEEL_ICON", |
|
|
|
|
|
|
|
"unknown59", |
|
|
|
|
|
|
|
"unknown55", |
|
|
|
|
|
|
|
"unknown26", |
|
|
|
|
|
|
|
"unknown28", |
|
|
|
|
|
|
|
"unknown31", |
|
|
|
|
|
|
|
"SET_SPEED", |
|
|
|
|
|
|
|
"unknown43", |
|
|
|
|
|
|
|
"unknown08", |
|
|
|
|
|
|
|
"unknown05", |
|
|
|
|
|
|
|
"unknown02", |
|
|
|
|
|
|
|
]} |
|
|
|
|
|
|
|
|
|
|
|
values["RIGHT_LANE_YELLOW_FLASH"] = 1 if right_lane_depart else 0 |
|
|
|
values["RIGHT_LANE_YELLOW_FLASH"] = 1 if right_lane_depart else 0 |
|
|
|
values["LEFT_LANE_YELLOW_FLASH"] = 1 if left_lane_depart else 0 |
|
|
|
values["LEFT_LANE_YELLOW_FLASH"] = 1 if left_lane_depart else 0 |
|
|
@ -59,7 +106,47 @@ def create_lkas_hud_msg(packer, lkas_hud_msg, enabled, left_line, right_line, le |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def create_lkas_hud_info_msg(packer, lkas_hud_info_msg, steer_hud_alert): |
|
|
|
def create_lkas_hud_info_msg(packer, lkas_hud_info_msg, steer_hud_alert): |
|
|
|
values = lkas_hud_info_msg |
|
|
|
values = {s: lkas_hud_info_msg[s] for s in [ |
|
|
|
|
|
|
|
"NA_HIGH_ACCEL_TEMP", |
|
|
|
|
|
|
|
"SIDE_RADAR_NA_HIGH_CABIN_TEMP", |
|
|
|
|
|
|
|
"SIDE_RADAR_MALFUNCTION", |
|
|
|
|
|
|
|
"LKAS_MALFUNCTION", |
|
|
|
|
|
|
|
"FRONT_RADAR_MALFUNCTION", |
|
|
|
|
|
|
|
"SIDE_RADAR_NA_CLEAN_REAR_CAMERA", |
|
|
|
|
|
|
|
"NA_POOR_ROAD_CONDITIONS", |
|
|
|
|
|
|
|
"CURRENTLY_UNAVAILABLE", |
|
|
|
|
|
|
|
"SAFETY_SHIELD_OFF", |
|
|
|
|
|
|
|
"FRONT_COLLISION_NA_FRONT_RADAR_OBSTRUCTION", |
|
|
|
|
|
|
|
"PEDAL_MISSAPPLICATION_SYSTEM_ACTIVATED", |
|
|
|
|
|
|
|
"SIDE_IMPACT_NA_RADAR_OBSTRUCTION", |
|
|
|
|
|
|
|
"WARNING_DO_NOT_ENTER", |
|
|
|
|
|
|
|
"SIDE_IMPACT_SYSTEM_OFF", |
|
|
|
|
|
|
|
"SIDE_IMPACT_MALFUNCTION", |
|
|
|
|
|
|
|
"FRONT_COLLISION_MALFUNCTION", |
|
|
|
|
|
|
|
"SIDE_RADAR_MALFUNCTION2", |
|
|
|
|
|
|
|
"LKAS_MALFUNCTION2", |
|
|
|
|
|
|
|
"FRONT_RADAR_MALFUNCTION2", |
|
|
|
|
|
|
|
"PROPILOT_NA_MSGS", |
|
|
|
|
|
|
|
"BOTTOM_MSG", |
|
|
|
|
|
|
|
"HANDS_ON_WHEEL_WARNING", |
|
|
|
|
|
|
|
"WARNING_STEP_ON_BRAKE_NOW", |
|
|
|
|
|
|
|
"PROPILOT_NA_FRONT_CAMERA_OBSTRUCTED", |
|
|
|
|
|
|
|
"PROPILOT_NA_HIGH_CABIN_TEMP", |
|
|
|
|
|
|
|
"WARNING_PROPILOT_MALFUNCTION", |
|
|
|
|
|
|
|
"ACC_UNAVAILABLE_HIGH_CABIN_TEMP", |
|
|
|
|
|
|
|
"ACC_NA_FRONT_CAMERA_IMPARED", |
|
|
|
|
|
|
|
"unknown07", |
|
|
|
|
|
|
|
"unknown10", |
|
|
|
|
|
|
|
"unknown15", |
|
|
|
|
|
|
|
"unknown23", |
|
|
|
|
|
|
|
"unknown19", |
|
|
|
|
|
|
|
"unknown31", |
|
|
|
|
|
|
|
"unknown32", |
|
|
|
|
|
|
|
"unknown46", |
|
|
|
|
|
|
|
"unknown61", |
|
|
|
|
|
|
|
"unknown55", |
|
|
|
|
|
|
|
"unknown50", |
|
|
|
|
|
|
|
]} |
|
|
|
|
|
|
|
|
|
|
|
if steer_hud_alert: |
|
|
|
if steer_hud_alert: |
|
|
|
values["HANDS_ON_WHEEL_WARNING"] = 1 |
|
|
|
values["HANDS_ON_WHEEL_WARNING"] = 1 |
|
|
|