diff --git a/opendbc/mazda_2017.dbc b/opendbc/mazda_2017.dbc index 2a25aa035..12255328c 100644 --- a/opendbc/mazda_2017.dbc +++ b/opendbc/mazda_2017.dbc @@ -537,48 +537,34 @@ BO_ 539 CRZ_INFO: 8 XXX SG_ CHECKSUM : 56|8@1+ (1,0) [0|255] "" XXX BO_ 865 RADAR_361: 8 XXX + SG_ MSGS_1 : 7|32@0+ (1,0) [0|4294967295] "" XXX + SG_ MSGS_2 : 39|28@0+ (1,0) [0|268435455] "" XXX SG_ CTR : 59|4@0+ (1,0) [0|15] "" XXX - SG_ DISTANCE_RELATED : 33|4@0+ (1,0) [0|15] "" XXX - SG_ DISTANCE_LEAD : 7|24@0+ (1,0) [0|16777215] "" XXX - SG_ RELATIVE_VEL_LEAD : 31|11@0- (1,0) [0|2047] "" XXX - SG_ STATIC_1 : 36|3@0+ (1,0) [0|7] "" XXX - SG_ STATIC_2 : 63|1@0+ (1,0) [0|1] "" XXX - SG_ SPEED_INVERSE : 40|9@0+ (1,0) [0|4095] "" XXX - SG_ IS_MOVING : 41|3@1+ (1,0) [0|7] "" XXX BO_ 870 RADAR_366: 8 XXX - SG_ STATIC_1 : 7|32@0+ (1,0) [0|4294967295] "" XXX - SG_ STATIC_2 : 39|28@0+ (1,0) [0|268435455] "" XXX + SG_ MSGS_1 : 7|32@0+ (1,0) [0|4294967295] "" XXX + SG_ MSGS_2 : 39|28@0+ (1,0) [0|268435455] "" XXX SG_ CTR : 59|4@0+ (1,0) [0|15] "" XXX BO_ 867 RADAR_363: 8 XXX - SG_ CTR : 59|4@0+ (1,0) [0|255] "" XXX - SG_ STATIC_1 : 43|16@0+ (1,0) [0|255] "" XXX - SG_ OBJ_DIST : 7|12@0+ (1,0) [0|255] "" XXX - SG_ OBJ_ANG : 11|12@0- (1,0) [0|255] "" XXX - SG_ OBJ_RELV : 31|12@0- (1,0) [0|255] "" XXX - SG_ NEW_SIGNAL_1 : 35|8@0+ (1,0) [0|15] "" XXX + SG_ MSGS_1 : 7|32@0+ (1,0) [0|4294967295] "" XXX + SG_ MSGS_2 : 39|28@0+ (1,0) [0|268435455] "" XXX + SG_ CTR : 59|4@0+ (1,0) [0|15] "" XXX BO_ 868 RADAR_364: 8 XXX - SG_ STATIC_1 : 7|32@0+ (1,0) [0|4294967295] "" XXX - SG_ STATIC_2 : 39|7@0+ (1,0) [0|127] "" XXX + SG_ MSGS_1 : 7|32@0+ (1,0) [0|4294967295] "" XXX + SG_ MSGS_2 : 39|28@0+ (1,0) [0|268435455] "" XXX SG_ CTR : 59|4@0+ (1,0) [0|15] "" XXX BO_ 869 RADAR_365: 8 XXX - SG_ STATIC_1 : 7|32@0+ (1,0) [0|4294967295] "" XXX - SG_ STATIC_2 : 39|28@0+ (1,0) [0|268435455] "" XXX + SG_ MSGS_1 : 7|32@0+ (1,0) [0|4294967295] "" XXX + SG_ MSGS_2 : 39|28@0+ (1,0) [0|268435455] "" XXX SG_ CTR : 59|4@0+ (1,0) [0|15] "" XXX BO_ 866 RADAR_362: 8 XXX + SG_ MSGS_1 : 7|32@0+ (1,0) [0|4294967295] "" XXX + SG_ MSGS_2 : 39|28@0+ (1,0) [0|268435455] "" XXX SG_ CTR : 59|4@0+ (1,0) [0|15] "" XXX - SG_ STEER_ANGLE : 43|12@0+ (-1,2048) [0|7] "" XXX - SG_ STATIC_1 : 63|4@0+ (1,0) [0|15] "" XXX - SG_ FLIPPY_1 : 44|1@0+ (1,0) [0|15] "" XXX - SG_ NEW_SIGNAL_1 : 34|3@1+ (1,0) [0|3] "" XXX - SG_ NEW_SIGNAL_2 : 33|4@0+ (1,0) [0|3] "" XXX - SG_ OBJ_DIST : 7|12@0+ (1,0) [0|131071] "" XXX - SG_ OBJ_ANG : 11|12@0- (1,0) [0|127] "" XXX - SG_ OBJ_RVEL : 31|11@0- (1,0) [0|63] "" XXX BO_ 121 EPB: 8 XXX SG_ NEW_SIGNAL_1 : 4|4@0+ (1,0) [0|255] "" XXX diff --git a/opendbc/mazda_radar.dbc b/opendbc/mazda_radar.dbc index 2bd1088b8..584c6f66c 100644 --- a/opendbc/mazda_radar.dbc +++ b/opendbc/mazda_radar.dbc @@ -62,7 +62,7 @@ BO_ 539 CRZ_INFO: 8 XXX SG_ STATUS : 7|8@0+ (1,0) [0|255] "" XXX SG_ CHECKSUM : 56|8@1+ (1,0) [0|255] "" XXX -BO_ 865 RADAR_361: 8 XXX +BO_ 865 RADAR_TRACK_361: 8 XXX SG_ DIST_OBJ : 7|12@0+ (1,0) [0|31] "" XXX SG_ ANG_OBJ : 11|12@0- (1,0) [0|255] "" XXX SG_ RELV_OBJ : 31|11@0- (1,0) [0|255] "" XXX @@ -71,7 +71,7 @@ BO_ 865 RADAR_361: 8 XXX SG_ NEW_SIGNAL_2 : 63|4@0+ (1,0) [0|15] "" XXX SG_ CTR : 56|4@1+ (1,0) [0|15] "" XXX -BO_ 866 RADAR_362: 8 XXX +BO_ 866 RADAR_TRACK_362: 8 XXX SG_ DIST_OBJ : 7|12@0+ (1,0) [0|255] "" XXX SG_ RELV_OBJ : 31|11@0- (1,0) [0|63] "" XXX SG_ NEW_SIGNAL_1 : 36|9@0+ (1,0) [0|3] "" XXX @@ -80,7 +80,7 @@ BO_ 866 RADAR_362: 8 XXX SG_ CTR : 59|4@0+ (1,0) [0|15] "" XXX SG_ ANG_OBJ : 11|12@0- (1,0) [0|7] "" XXX -BO_ 867 RADAR_363: 8 XXX +BO_ 867 RADAR_TRACK_363: 8 XXX SG_ CTR : 59|4@0+ (1,0) [0|255] "" XXX SG_ NEW_SIGNAL_1 : 36|13@0+ (1,0) [0|7] "" XXX SG_ NEW_SIGNAL_2 : 55|12@0+ (1,0) [0|7] "" XXX @@ -88,7 +88,7 @@ BO_ 867 RADAR_363: 8 XXX SG_ ANG_OBJ : 11|12@0- (1,0) [0|127] "" XXX SG_ RELV_OBJ : 31|11@0- (1,0) [0|63] "" XXX -BO_ 868 RADAR_364: 8 XXX +BO_ 868 RADAR_TRACK_364: 8 XXX SG_ DIST_OBJ : 7|12@0+ (1,0) [0|131071] "" XXX SG_ ANG_OBJ : 11|12@0- (1,0) [0|127] "" XXX SG_ RELV_OBJ : 31|11@0- (1,0) [0|63] "" XXX @@ -96,7 +96,7 @@ BO_ 868 RADAR_364: 8 XXX SG_ NEW_SIGNAL_2 : 55|12@0+ (1,0) [0|7] "" XXX SG_ CTR : 59|4@0+ (1,0) [0|255] "" XXX -BO_ 869 RADAR_365: 8 XXX +BO_ 869 RADAR_TRACK_365: 8 XXX SG_ DIST_OBJ : 7|12@0+ (1,0) [0|131071] "" XXX SG_ ANG_OBJ : 11|12@0- (1,0) [0|127] "" XXX SG_ RELV_OBJ : 31|11@0- (1,0) [0|63] "" XXX @@ -104,7 +104,7 @@ BO_ 869 RADAR_365: 8 XXX SG_ NEW_SIGNAL_2 : 55|12@0+ (1,0) [0|7] "" XXX SG_ CTR : 59|4@0+ (1,0) [0|255] "" XXX -BO_ 870 RADAR_366: 8 XXX +BO_ 870 RADAR_TRACK_366: 8 XXX SG_ DIST_OBJ : 7|12@0+ (1,0) [0|131071] "" XXX SG_ ANG_OBJ : 11|12@0- (1,0) [0|127] "" XXX SG_ RELV_OBJ : 31|11@0- (1,0) [0|63] "" XXX diff --git a/selfdrive/car/mazda/carstate.py b/selfdrive/car/mazda/carstate.py index 82a6e5638..dbafee91c 100644 --- a/selfdrive/car/mazda/carstate.py +++ b/selfdrive/car/mazda/carstate.py @@ -253,55 +253,14 @@ class CarState(CarStateBase): ("CTR1", "CRZ_INFO", 0), ("CHECKSUM", "CRZ_INFO", 0), ] - signals += [ - ("DISTANCE_LEAD", "RADAR_361", 0), - ("RELATIVE_VEL_LEAD", "RADAR_361", 0), - ("STATIC_1", "RADAR_361", 0), - ("DISTANCE_RELATED", "RADAR_361", 0), - ("STATIC_2", "RADAR_361", 0), - ("SPEED_INVERSE", "RADAR_361", 0), - ("IS_MOVING", "RADAR_361", 0), - ("CTR", "RADAR_361", 0), - ] - signals += [ - ("STEER_ANGLE", "RADAR_362", 0), - ("FLIPPY_1","RADAR_362", 0), - ("STATIC_1", "RADAR_362", 0), - ("NEW_SIGNAL_2","RADAR_362", 0), - ("NEW_SIGNAL_1","RADAR_362", 0), - ("OBJ_DIST","RADAR_362", 0), - ("OBJ_ANG","RADAR_362", 0), - ("OBJ_RVEL","RADAR_362", 0), - ] - signals += [ - ("STATIC_1", "RADAR_363", 0), - ("OBJ_DIST", "RADAR_363", 0), - ("OBJ_ANG", "RADAR_363", 0), - ("OBJ_RELV", "RADAR_363", 0), - ("NEW_SIGNAL_1", "RADAR_363", 0), - ] - signals += [ - ("STATIC_1", "RADAR_364", 0), - ("STATIC_2", "RADAR_364", 0), - ] - signals += [ - ("STATIC_1", "RADAR_365", 0), - ("STATIC_2", "RADAR_365", 0), - ] - signals += [ - ("STATIC_1", "RADAR_366", 0), - ("STATIC_2", "RADAR_366", 0), - ] - checks += [ - ("CRZ_CTRL", 50), # Not blocked in panda 0x21BC - ("CRZ_INFO", 50), # Blocked in panda 0x21B - ("RADAR_361", 10), # 0x361 - ("RADAR_362", 10), # 0x362 - ("RADAR_363", 10), # Likely containes radar tracks 0x363 - ("RADAR_364", 10), # Likely containes radar tracks 0x364 - ("RADAR_365", 10), # 0x365 - ("RADAR_366", 10), # 0x366 - #("RADAR_499_STATIC", 10), # 0x499 - ] + + for addr in range(361,367): + msg = f"RADAR_{addr}" + signals += [ + ("MSGS_1", msg), + ("MSGS_2", msg), + ("CTR", msg), + ] + checks += [(msg, 10)] return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, 2) diff --git a/selfdrive/car/mazda/interface.py b/selfdrive/car/mazda/interface.py index 252cc52ae..879bc0449 100755 --- a/selfdrive/car/mazda/interface.py +++ b/selfdrive/car/mazda/interface.py @@ -24,7 +24,7 @@ class CarInterface(CarInterfaceBase): ret.carName = "mazda" ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.mazda)] - ret.radarOffCan = True + ret.radarOffCan = False ret.dashcamOnly = False # candidate not in [CAR.CX9_2021] diff --git a/selfdrive/car/mazda/mazdacan.py b/selfdrive/car/mazda/mazdacan.py index f3b8fcca6..0ec36a359 100644 --- a/selfdrive/car/mazda/mazdacan.py +++ b/selfdrive/car/mazda/mazdacan.py @@ -186,58 +186,16 @@ def create_radar_command(packer, car_fingerprint, frame, c, CS): ret.append(packer.make_can_msg("CRZ_INFO", 0, values_21B)) ret.append(packer.make_can_msg("CRZ_CTRL", 0, values_21C)) - + if (frame % 10 == 0): - values_361 = { - "CTR" : int(CS.cp_cam.vl["RADAR_361"]["CTR"]), - "SPEED_INVERSE" : int(CS.cp_cam.vl["RADAR_361"]["SPEED_INVERSE"]), - "IS_MOVING" : int(CS.cp_cam.vl["RADAR_361"]["IS_MOVING"]), - "DISTANCE_LEAD" : int(CS.cp_cam.vl["RADAR_361"]["DISTANCE_LEAD"]), - "DISTANCE_RELATED" : int(CS.cp_cam.vl["RADAR_361"]["DISTANCE_RELATED"]), - "RELATIVE_VEL_LEAD" : int(CS.cp_cam.vl["RADAR_361"]["RELATIVE_VEL_LEAD"]), - "STATIC_1" : int(CS.cp_cam.vl["RADAR_361"]["STATIC_1"]), - "STATIC_2" : int(CS.cp_cam.vl["RADAR_361"]["STATIC_2"]) - } - values_362 = { - "CTR" : int(CS.cp_cam.vl["RADAR_361"]["CTR"]), - "STEER_ANGLE" : int(CS.cp_cam.vl["RADAR_362"]["STEER_ANGLE"]), - "STATIC_1" : int(CS.cp_cam.vl["RADAR_362"]["STATIC_1"]), - "FLIPPY_1" : int(CS.cp_cam.vl["RADAR_362"]["FLIPPY_1"]), - "NEW_SIGNAL_1" : int(CS.cp_cam.vl["RADAR_362"]["NEW_SIGNAL_1"]), - "NEW_SIGNAL_2" : int(CS.cp_cam.vl["RADAR_362"]["NEW_SIGNAL_2"]), - "OBJ_DIST" : int(CS.cp_cam.vl["RADAR_362"]["OBJ_DIST"]), - "OBJ_ANG" : int(CS.cp_cam.vl["RADAR_362"]["OBJ_ANG"]), - "OBJ_RVEL" : int(CS.cp_cam.vl["RADAR_362"]["OBJ_RVEL"]), - } - values_363 = { - "CTR" : int(CS.cp_cam.vl["RADAR_361"]["CTR"]), - "STATIC_1" : int(CS.cp_cam.vl["RADAR_363"]["STATIC_1"]), - "OBJ_DIST" : int(CS.cp_cam.vl["RADAR_363"]["OBJ_DIST"]), - "OBJ_ANG" : int(CS.cp_cam.vl["RADAR_363"]["OBJ_ANG"]), - "OBJ_RELV" : int(CS.cp_cam.vl["RADAR_363"]["OBJ_RELV"]), - "NEW_SIGNAL_1" : int(CS.cp_cam.vl["RADAR_363"]["NEW_SIGNAL_1"]), - } - values_364 = { - "CTR" : int(CS.cp_cam.vl["RADAR_361"]["CTR"]), - "STATIC_1" : int(CS.cp_cam.vl["RADAR_364"]["STATIC_1"]), - "STATIC_2" : int(CS.cp_cam.vl["RADAR_364"]["STATIC_2"]) - } - values_365 = { - "CTR" : int(CS.cp_cam.vl["RADAR_361"]["CTR"]), - "STATIC_1" : int(CS.cp_cam.vl["RADAR_365"]["STATIC_1"]), - "STATIC_2" : int(CS.cp_cam.vl["RADAR_365"]["STATIC_2"]) - } - values_366 = { - "CTR" : int(CS.cp_cam.vl["RADAR_361"]["CTR"]), - "STATIC_1" : int(CS.cp_cam.vl["RADAR_366"]["STATIC_1"]), - "STATIC_2" : int(CS.cp_cam.vl["RADAR_366"]["STATIC_2"]) - } - - ret.append(packer.make_can_msg("RADAR_361", 0, values_361)) - ret.append(packer.make_can_msg("RADAR_362", 0, values_362)) - ret.append(packer.make_can_msg("RADAR_363", 0, values_363)) - ret.append(packer.make_can_msg("RADAR_364", 0, values_364)) - ret.append(packer.make_can_msg("RADAR_365", 0, values_365)) - ret.append(packer.make_can_msg("RADAR_366", 0, values_366)) + for addr in range(361,367): + addr_name = f"RADAR_{addr}" + msg = CS.cp_cam.vl[addr_name] + values = { + "MSGS" : int(msg["MSGS"]), + "MSGS" : int(msg["MSGS"]), + "CTR" : int(msg["CTR"]) + } + ret.append(packer.make_can_msg(addr_name, 0, values)) return ret diff --git a/selfdrive/car/mazda/radar_interface.py b/selfdrive/car/mazda/radar_interface.py index ef0d8ecd5..774aa2c19 100755 --- a/selfdrive/car/mazda/radar_interface.py +++ b/selfdrive/car/mazda/radar_interface.py @@ -53,7 +53,7 @@ class RadarInterface(RadarInterfaceBase): ret.errors = errors for addr in range(361,367): - msg = self.rcp.vl[f"RADAR_{addr}"] + msg = self.rcp.vl[f"RADAR_TRACK_{addr}"] if addr not in self.pts: self.pts[addr] = car.RadarData.RadarPoint.new_message() self.pts[addr].trackId = self.track_id