Ya'll remember club penguin?

This commit is contained in:
firestar5683
2026-03-28 17:46:02 -05:00
parent 82619bd7db
commit 0f70d061e8
200 changed files with 792 additions and 445 deletions
+2 -1
View File
@@ -37,7 +37,8 @@ installation guides, and software configuration.
* Galaxy: StarPilot's portal to configure your comma device using your phone from anywhere.
Download models, change settings, update software, visualize live model outputs for tuning.
* Always On Lateral (full time steering assist)*
* Learning Speed Limit Controller*
* Speed Limit Controller*
* Learning Curve Speed Controller*
* Conditional Experimental Mode (CEM)*
* Driving Profiles*
* Custom themes*
+2
View File
@@ -145,6 +145,8 @@ struct StarPilotOnroadEvent @0xa5cd762cd951a455 {
vCruise69 @26;
yourFrogTriedToKillMe @27;
youveGotMail @28;
switchbackModeActive @29;
switchbackModeInactive @30;
}
}
Binary file not shown.
Binary file not shown.
+4
View File
@@ -166,6 +166,7 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"BuildMetadata", {PERSISTENT, STRING, "", "", 0}},
{"BlindSpotMetrics", {PERSISTENT, BOOL, "1", "0", 3}},
{"BlindSpotPath", {PERSISTENT, BOOL, "1", "0", 1}},
{"BelowSteerSpeedVolume", {PERSISTENT, INT, "101", "101", 2}},
{"BorderMetrics", {PERSISTENT, BOOL, "0", "0", 3}},
{"CalibratedLateralAcceleration", {PERSISTENT, FLOAT, "2.0", "2.0", 2}},
{"CalibrationProgress", {PERSISTENT, FLOAT, "0.0", "0.0", 3}},
@@ -326,6 +327,7 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"MapGears", {PERSISTENT, BOOL, "0", "0", 2}},
{"MapsSelected", {PERSISTENT, STRING, "", "", 0}},
{"MapSpeedLimit", {CLEAR_ON_MANAGER_START, FLOAT, "0.0", "0.0"}},
{"NextMapSpeedLimit", {CLEAR_ON_MANAGER_START, JSON, "{}", "{}"}},
{"MaxDesiredAcceleration", {PERSISTENT, FLOAT, "4.0", "2.0", 2}},
{"MinimumBackupSize", {PERSISTENT, INT, "0", "0"}},
{"MinimumLaneChangeSpeed", {PERSISTENT, FLOAT, "20.0", "20.0", 2}},
@@ -479,6 +481,8 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"StopDistance", {PERSISTENT, FLOAT, "6.0", "6.0", 2}},
{"StoppingDecelRate", {PERSISTENT, FLOAT, "0.0", "0.0", 3}},
{"StoppingDecelRateStock", {PERSISTENT, FLOAT, "0.0", "0.0", 3}},
{"SwitchbackModeCooldown", {PERSISTENT, INT, "5", "0", 2}},
{"SwitchbackModeEnabled", {CLEAR_ON_OFFROAD_TRANSITION, BOOL, "0", "0"}},
{"SubaruSNG", {PERSISTENT, BOOL, "1", "0", 2}},
{"TacoTune", {PERSISTENT, BOOL, "0", "0", 2}},
{"TacoTuneHacks", {PERSISTENT, BOOL, "0", "0", 2}},
Binary file not shown.
@@ -29,7 +29,6 @@ class CarState(CarStateBase):
ret.cruiseState.enabled = True
ret.cruiseState.available = True
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
+1 -3
View File
@@ -18,7 +18,6 @@ from openpilot.common.params import Params
FRAME_FINGERPRINT = 100 # 1s
# StarPilot variables
StarPilotCarParams = custom.StarPilotCarParams
@@ -46,7 +45,7 @@ def _get_interface_names() -> dict[str, list[str]]:
interface_names = _get_interface_names()
interfaces = load_interfaces(interface_names)
# Legacy StarPilot Bolt rename migration. Keep here to prevent force-fingerprint
# Legacy Bolt rename migration. Keep here to prevent force-fingerprint
# params from selecting a removed platform name and crashing detection.
LEGACY_FORCED_CANDIDATE_MAP = {
"CHEVROLET_BOLT_CC_2019_2021": "CHEVROLET_BOLT_CC_2018_2021",
@@ -300,7 +299,6 @@ def get_car(can_recv: CanRecvCallable, can_send: CanSendCallable, set_obd_multip
CP.fingerprintSource = source
CP.fuzzyFingerprint = not exact_match
# StarPilot variables
FPCP: StarPilotCarParams = CarInterface.get_starpilot_params(candidate, fingerprints, car_fw, CP, starpilot_toggles)
if CP.brand == "toyota" and FPCP.flags & ToyotaStarPilotFlags.SMART_DSU.value:
@@ -28,7 +28,6 @@ class CarState(CarStateBase):
# RealFast variables
self.button_message = "CRUISE_BUTTONS_ALT" if FPCP.flags & ChryslerStarPilotFlags.RAM_HD_ALT_BUTTONS else "CRUISE_BUTTONS"
# StarPilot variables
self.lkas_button = 0
def update(self, can_parsers, starpilot_toggles) -> structs.CarState:
@@ -104,7 +103,6 @@ class CarState(CarStateBase):
buttonEvents = create_button_events(self.distance_button, prev_distance_button, {1: ButtonType.gapAdjustCruise})
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
self.prev_lkas_button = self.lkas_button
@@ -19,7 +19,6 @@ class ChryslerFlags(IntFlag):
HIGHER_MIN_STEERING_SPEED = 1
# StarPilot variables
class ChryslerStarPilotFlags(IntFlag):
RAM_HD_ALT_BUTTONS = 1
@@ -114,7 +114,6 @@ class CarState(CarStateBase):
*create_button_events(self.lc_button, prev_lc_button, {1: ButtonType.lkas}),
]
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
+1 -4
View File
@@ -72,7 +72,6 @@ class CarController(CarControllerBase):
self.malibu_button_phase = 0
self.malibu_last_button_ts_nanos = 0
# OPGM variables
def calc_pedal_command(self, accel: float, long_active: bool, v_ego: float):
if not long_active:
self.planner_regen_hold = False
@@ -372,7 +371,7 @@ class CarController(CarControllerBase):
else:
long_pitch_enabled = bool(getattr(starpilot_toggles, "long_pitch", True))
pedal_long_path = bool(self.CP.enableGasInterceptorDEPRECATED and (self.CP.flags & GMFlags.PEDAL_LONG.value))
long_pitch_for_powertrain = long_pitch_enabled and not pedal_long_path
long_pitch_for_powertrain = long_pitch_enabled or pedal_long_path
if self.is_volt:
if long_pitch_for_powertrain and len(CC.orientationNED) == 3 and CS.out.vEgo > self.CP.vEgoStopping:
@@ -479,7 +478,6 @@ class CarController(CarControllerBase):
resume = actuators.longControlState != LongCtrlState.starting or CC.cruiseControl.resume
at_full_stop = at_full_stop and not resume
# StarPilot variables
if CC.cruiseControl.resume and CS.pcm_acc_status == AccState.STANDSTILL and starpilot_toggles.volt_sng:
acc_engaged = False
else:
@@ -592,7 +590,6 @@ class CarController(CarControllerBase):
self.prev_op_enabled = CC.enabled
self.frame += 1
# OPGM variables
new_actuators.speed = self.apply_speed
return new_actuators, can_sends
-2
View File
@@ -30,7 +30,6 @@ STANDSTILL_THRESHOLD = 10 * 0.0311
BUTTONS_DICT = {CruiseButtons.RES_ACCEL: ButtonType.accelCruise, CruiseButtons.DECEL_SET: ButtonType.decelCruise,
CruiseButtons.MAIN: ButtonType.mainCruise, CruiseButtons.CANCEL: ButtonType.cancel}
# OPGM variables
GearShifter = structs.CarState.GearShifter
BOLT_GEN1_CANCEL_PERSONALITY_CARS = {
CAR.CHEVROLET_BOLT_CC_2017,
@@ -58,7 +57,6 @@ class CarState(CarStateBase):
self.prev_distance_button = 0
self.distance_button = 0
# OPGM variables
self.single_pedal_mode = False
self.pedal_steady = 0
+7 -8
View File
@@ -99,27 +99,27 @@ FINGERPRINTS = {
{
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 288: 5, 298: 8, 304: 1, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 512: 6, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 7, 567: 5, 568: 2, 569: 3, 573: 1, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1037: 5, 1105: 5, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1268: 2, 1275: 3, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1927: 7, 2016: 8, 2024: 8
},
# Bolt EV no ACC 2018-2021 (StarPilot parity variant 1)
# Bolt EV no ACC 2018-2021 (variant 1)
{
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 257: 8, 288: 5, 298: 8, 304: 1, 308: 4, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 7, 567: 5, 568: 1, 569: 3, 573: 1, 577: 8, 578: 8, 579: 8, 592: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1037: 5, 1105: 5, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1345: 8, 1346: 8, 1347: 8, 1513: 8, 1516: 8, 1601: 8, 1616: 8, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1922: 7, 1927: 7, 2016: 8, 2017: 8, 2018: 8, 2020: 8, 2023: 8, 2024: 8, 2028: 8, 2031: 8
},
# Bolt EV no ACC 2018-2021 (StarPilot parity variant 2)
# Bolt EV no ACC 2018-2021 (variant 2)
{
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 288: 5, 298: 8, 304: 1, 308: 4, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 368: 3, 381: 8, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 512: 6, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 7, 567: 5, 568: 2, 569: 3, 573: 1, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 753: 5, 761: 7, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 872: 1, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1037: 5, 1105: 5, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1922: 7, 1927: 7
},
# Bolt EV no ACC 2018-2021 (StarPilot parity variant 3)
# Bolt EV no ACC 2018-2021 (variant 3)
{
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 288: 5, 298: 8, 304: 1, 308: 4, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 368: 3, 381: 8, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 7, 567: 5, 568: 2, 569: 3, 573: 1, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 753: 5, 761: 7, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 872: 1, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1037: 5, 1105: 5, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1922: 7, 1927: 7
},
# Bolt EV no ACC 2018-2021 (StarPilot parity variant 4)
# Bolt EV no ACC 2018-2021 (variant 4)
{
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 288: 5, 298: 8, 304: 1, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 7, 567: 5, 568: 2, 569: 3, 573: 1, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1037: 5, 1105: 5, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1268: 2, 1275: 3, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1927: 7, 2016: 8, 2024: 8
},
# Bolt EV no ACC 2023 (StarPilot parity variant 5)
# Bolt EV no ACC 2023 (variant 5)
{
170: 8, 188: 8, 189: 7, 190: 7, 193: 8, 197: 8, 201: 8, 209: 7, 211: 3, 241: 6, 257: 8, 288: 5, 289: 8, 292: 2, 298: 8, 304: 3, 308: 4, 309: 8, 311: 8, 313: 8, 320: 4, 322: 7, 328: 1, 331: 3, 352: 5, 353: 3, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 398: 8, 407: 7, 417: 8, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 458: 5, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 8, 567: 5, 568: 2, 569: 3, 573: 1, 577: 8, 579: 8, 592: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 711: 6, 715: 8, 717: 5, 753: 5, 761: 7, 789: 5, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 880: 6, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 8, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1010: 8, 1013: 6, 1015: 1, 1017: 8, 1019: 2, 1020: 8, 1037: 5, 1105: 5, 1187: 5, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1279: 4, 1280: 4, 1296: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1345: 8, 1347: 8, 1513: 8, 1516: 8, 1601: 8, 1609: 8, 1613: 8, 1616: 8, 1618: 8, 1649: 8, 1792: 8, 1793: 8, 1798: 8, 1824: 8, 1825: 8, 1840: 8, 1842: 8, 1858: 8, 1860: 8, 1863: 8, 1872: 8, 1875: 8, 1882: 8, 1888: 8, 1889: 8, 1892: 8, 1905: 7, 1906: 7, 1907: 7, 1910: 7, 1912: 7, 1913: 7, 1920: 8, 1922: 7, 1924: 8, 1927: 7, 1930: 7, 1937: 8, 1953: 8, 1968: 8, 1969: 8, 1971: 8, 1975: 8, 1984: 8, 1988: 8, 2000: 8, 2001: 8, 2002: 8, 2017: 8, 2018: 8, 2020: 8, 2023: 8, 2025: 8, 2028: 8, 2031: 8
},
# Bolt EV no ACC 2023 (StarPilot parity variant 6)
# Bolt EV no ACC 2023 (variant 6)
{
170: 8, 188: 8, 189: 7, 190: 7, 193: 8, 197: 8, 201: 8, 209: 7, 211: 3, 241: 6, 257: 8, 288: 5, 289: 8, 292: 2, 298: 8, 304: 3, 308: 4, 309: 8, 311: 8, 313: 8, 320: 4, 322: 7, 328: 1, 331: 3, 352: 5, 353: 3, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 398: 8, 407: 7, 417: 8, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 458: 5, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 8, 567: 5, 568: 2, 569: 3, 573: 1, 577: 8, 592: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 711: 6, 715: 8, 717: 5, 753: 5, 761: 7, 789: 5, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 880: 6, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 8, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1010: 8, 1013: 6, 1015: 1, 1017: 8, 1019: 2, 1020: 8, 1037: 5, 1105: 5, 1187: 5, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1279: 4, 1280: 4, 1296: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1601: 8, 1616: 8, 1618: 8, 1905: 7, 1906: 7, 1907: 7, 1910: 7, 1912: 7, 1913: 7, 1922: 7, 1927: 7, 1930: 7, 2016: 8, 2020: 8, 2023: 8, 2024: 8, 2028: 8, 2031: 8
}],
@@ -191,14 +191,13 @@ FINGERPRINTS = {
{
190: 6, 193: 8, 197: 8, 199: 4, 201: 8, 208: 8, 209: 7, 211: 2, 241: 6, 249: 8, 288: 5, 298: 8, 304: 1, 309: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 381: 6, 384: 4, 386: 8, 388: 8, 393: 7, 398: 8, 407: 7, 413: 8, 417: 7, 419: 1, 422: 4, 426: 7, 431: 8, 442: 8, 451: 8, 452: 8, 453: 6, 454: 8, 455: 7, 462: 4, 463: 3, 479: 3, 481: 7, 485: 8, 487: 8, 489: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 1, 508: 8, 510: 8, 532: 6, 554: 3, 560: 8, 562: 8, 563: 5, 564: 5, 567: 5, 647: 3, 707: 8, 717: 5, 723: 2, 753: 5, 761: 7, 800: 6, 840: 5, 842: 5, 844: 8, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 977: 8, 979: 8, 985: 5, 1001: 8, 1005: 6, 1009: 8, 1011: 6, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1105: 6, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1233: 8, 1243: 3, 1249: 8, 1257: 6, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1280: 4, 1300: 8, 1322: 6, 1328: 4, 1417: 8, 1904: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1914: 7, 1919: 7, 1920: 7
}],
# StarPilot variables
CAR.CHEVROLET_TRAX: [
{
190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 249: 8, 288: 5, 298: 8, 304: 3, 309: 8, 311: 8, 313: 8, 320: 4, 322: 7, 328: 1, 352: 5, 381: 8, 384: 4, 386: 8, 388: 8, 413: 8, 451: 8, 452: 8, 453: 6, 455: 7, 479: 3, 481: 7, 485: 8, 489: 8, 497: 8, 500: 6, 501: 8, 532: 6, 560: 8, 562: 8, 563: 5, 565: 5, 587: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 707: 8, 715: 8, 717: 5, 761: 7, 789: 5, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 869: 4, 880: 6, 977: 8, 1001: 8, 1011: 6, 1017: 8, 1020: 8, 1217: 8, 1221: 5, 1233: 8, 1249: 8, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1271: 8, 1280: 4, 1296: 4, 1300: 8, 1611: 8, 1930: 7
}],
}
# StarPilot parity: keep explicit GM platform fingerprints.
# Keep explicit GM platform fingerprints.
FINGERPRINTS.update({
CAR.CHEVROLET_VOLT_ASCM: FINGERPRINTS[CAR.CHEVROLET_VOLT],
+1 -1
View File
@@ -136,7 +136,7 @@ def create_gas_regen_command(packer, bus, throttle, idx, enabled, at_full_stop,
return packer.make_can_msg("ASCMGasRegenCmd", bus, values)
# Keep GM Global A camera-long GasRegen bytes aligned with StarPilot's legacy layout.
# Use the legacy GM Global A camera-long GasRegen byte layout.
# The regenerated DBC shape does not expose the same wire-format helper fields.
throttle = int(throttle)
dat = bytearray(8)
+10 -4
View File
@@ -59,7 +59,6 @@ NON_LINEAR_TORQUE_PARAMS = {
},
}
# OPGM variables
PEDAL_MSG = 0x201
CAM_MSG = 0x320
ACCELERATOR_POS_MSG = 0xBE
@@ -348,6 +347,15 @@ class CarInterface(CarInterfaceBase):
ret.steerLimitTimer = 0.4
ret.longitudinalActuatorDelay = 0.5 # large delay to initially start braking
if candidate in (
CAR.CHEVROLET_VOLT,
CAR.CHEVROLET_VOLT_2019,
CAR.CHEVROLET_VOLT_ASCM,
CAR.CHEVROLET_VOLT_CAMERA,
CAR.CHEVROLET_VOLT_CC,
):
ret.minSteerSpeed = 7 * CV.MPH_TO_MS
if candidate in (CAR.CHEVROLET_VOLT, CAR.CHEVROLET_VOLT_CC, CAR.CHEVROLET_VOLT_CAMERA):
ret.minEnableSpeed = -1
@@ -486,7 +494,6 @@ class CarInterface(CarInterfaceBase):
ret.steerActuatorDelay = 0.5
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
# OPGM variables
elif candidate in (CAR.CHEVROLET_MALIBU, CAR.CHEVROLET_MALIBU_CC, CAR.CHEVROLET_MALIBU_HYBRID_CC):
ret.steerActuatorDelay = 0.2
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
@@ -524,7 +531,7 @@ class CarInterface(CarInterfaceBase):
ret.longitudinalTuning.kfDEPRECATED = 0.25
if is_bolt_2022_2023_pedal:
# Gen2 Bolt pedal-long should follow the no-ACC panda path like StarPilot.
# Gen2 Bolt pedal-long should follow the no-ACC panda path.
ret.safetyConfigs[0].safetyParam |= GMSafetyFlags.FLAG_GM_NO_ACC.value
if candidate in (CAR.CHEVROLET_BOLT_ACC_2022_2023_PEDAL, CAR.CHEVROLET_MALIBU_HYBRID_CC):
@@ -627,7 +634,6 @@ class CarInterface(CarInterfaceBase):
if remap_cancel_to_distance or malibu_cancel_passthrough:
ret.alternativeExperience |= ALTERNATIVE_EXPERIENCE.GM_REMAP_CANCEL_TO_DISTANCE
# StarPilot variables
if candidate == CAR.CHEVROLET_TRAX:
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
+24 -1
View File
@@ -1,9 +1,23 @@
import pytest
from parameterized import parameterized
from opendbc.car.car_helpers import interfaces
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.gm.fingerprints import FINGERPRINTS
from opendbc.car.gm.values import CAMERA_ACC_CAR, CC_ONLY_CAR, GM_RX_OFFSET
from opendbc.car.gm.values import CAMERA_ACC_CAR, CAR, CC_ONLY_CAR, GM_RX_OFFSET
CAMERA_DIAGNOSTIC_ADDRESS = 0x24b
VOLT_CARS = (
CAR.CHEVROLET_VOLT,
CAR.CHEVROLET_VOLT_2019,
CAR.CHEVROLET_VOLT_ASCM,
CAR.CHEVROLET_VOLT_CAMERA,
CAR.CHEVROLET_VOLT_CC,
)
def _empty_fingerprint():
return {bus: {} for bus in range(8)}
class TestGMFingerprint:
@@ -18,3 +32,12 @@ class TestGMFingerprint:
for finger in fingerprints:
for required_addr in (CAMERA_DIAGNOSTIC_ADDRESS, CAMERA_DIAGNOSTIC_ADDRESS + GM_RX_OFFSET):
assert finger.get(required_addr) == 8, required_addr
class TestGMInterface:
@parameterized.expand(VOLT_CARS)
def test_volt_min_steer_speed_is_7_mph(self, car_model):
CarInterface = interfaces[car_model]
car_params = CarInterface.get_params(car_model, _empty_fingerprint(), [], alpha_long=False, is_release=False, docs=False)
assert car_params.minSteerSpeed == pytest.approx(7 * CV.MPH_TO_MS)
+1 -4
View File
@@ -159,14 +159,13 @@ class GMSafetyFlags(IntFlag):
HW_CAM_LONG = 2
EV = 4
# OPGM variables
FLAG_GM_CC_LONG = 8
FLAG_GM_GAS_INTERCEPTOR = 16
FLAG_GM_NO_ACC = 32
FLAG_GM_PEDAL_LONG = 64
HW_ASCM_LONG = 128
# StarPilot parity variables
# Additional GM hardware and flag values
HW_ASCM_INT = 256
FLAG_GM_FORCE_BRAKE_C9 = 512
HW_SDGM = 1024
@@ -437,7 +436,6 @@ class CanBus:
DROPPED = 192
# OPGM variables
class GMFlags(IntFlag):
PEDAL_LONG = 1
CC_LONG = 2
@@ -567,5 +565,4 @@ STEER_THRESHOLD = 1.0
DBC = CAR.create_dbc_map()
# StarPilot variables
CAMERA_ACC_CAR.update({CAR.CHEVROLET_TRAX})
@@ -220,7 +220,6 @@ class CarState(CarStateBase):
*create_button_events(self.cruise_setting, prev_cruise_setting, SETTINGS_BUTTONS_DICT),
]
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
@@ -203,7 +203,6 @@ class CarState(CarStateBase):
self.low_speed_alert = False
ret.lowSpeedAlert = self.low_speed_alert
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
@@ -301,7 +300,6 @@ class CarState(CarStateBase):
ret.blockPcmEnable = not self.recent_button_interaction()
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
@@ -68,7 +68,6 @@ class HyundaiSafetyFlags(IntFlag):
ALT_LIMITS_2 = 512
# StarPilot variables
class HyundaiStarPilotSafetyFlags(IntFlag):
HAS_LDA_BUTTON = 1024
-6
View File
@@ -30,7 +30,6 @@ from openpilot.common.params import Params
GearShifter = structs.CarState.GearShifter
ButtonType = structs.CarState.ButtonEvent.Type
# StarPilot variables
Ecu = structs.CarParams.Ecu
V_CRUISE_MAX = 145
@@ -133,7 +132,6 @@ class CarInterfaceBase(ABC):
dbc_names = {bus: cp.dbc_name for bus, cp in self.can_parsers.items()}
self.CC: CarControllerBase = self.CarController(dbc_names, CP)
# StarPilot variables
self.FPCP = FPCP
self.params_memory = Params(memory=True)
@@ -181,14 +179,12 @@ class CarInterfaceBase(ABC):
ret.rotationalInertia = scale_rot_inertia(ret.mass, ret.wheelbase)
ret.tireStiffnessFront, ret.tireStiffnessRear = scale_tire_stiffness(ret.mass, ret.wheelbase, ret.centerToFront, ret.tireStiffnessFactor)
# StarPilot variables
toggles_to_check = ("force_torque_controller", "nnff", "nnff_lite")
if ret.steerControlType != structs.CarParams.SteerControlType.angle and any(getattr(starpilot_toggles, toggle, False) for toggle in toggles_to_check):
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
return ret
# StarPilot variables
@classmethod
def get_starpilot_params(cls, candidate: str, fingerprint: dict[int, dict[int, int]], car_fw: list[structs.CarParams.CarFw], CP: structs.CarParams, starpilot_toggles: SimpleNamespace):
fp_ret = custom.StarPilotCarParams.new_message()
@@ -343,7 +339,6 @@ class CarInterfaceBase(ABC):
# save for next iteration
self.CS.out = ret
# StarPilot variables
prev_distance_button = self.distance_button
self.distance_button = self.params_memory.get_bool("OnroadDistanceButtonPressed")
if self.distance_button != prev_distance_button:
@@ -383,7 +378,6 @@ class CarStateBase(ABC):
K = get_kalman_gain(DT_CTRL, np.array(A), np.array(C), np.array(Q), R)
self.v_ego_kf = KF1D(x0=x0, A=A, C=C[0], K=K)
# StarPilot variables
self.FPCP = FPCP
self.CC: structs.CarControl = structs.CarControl.new_message()
@@ -116,7 +116,6 @@ class CarState(CarStateBase):
# TODO: add button types for inc and dec
ret.buttonEvents = create_button_events(self.distance_button, prev_distance_button, {1: ButtonType.gapAdjustCruise})
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
@@ -29,7 +29,6 @@ class CarInterface(CarInterfaceBase):
ret.centerToFront = ret.wheelbase * 0.41
# StarPilot variables
ret.enableBsm = True
return ret
@@ -25,7 +25,6 @@ class CarState(CarStateBase):
self.distance_button = 0
# StarPilot variables
self.lkas_button = 0
def update(self, can_parsers, starpilot_toggles) -> structs.CarState:
@@ -132,7 +131,6 @@ class CarState(CarStateBase):
buttonEvents = create_button_events(self.distance_button, prev_distance_button, {1: ButtonType.gapAdjustCruise})
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
self.prev_lkas_button = self.lkas_button
-1
View File
@@ -64,7 +64,6 @@ class CarState(CarStateBase):
ret.doorOpen = any((cp_cam.vl['Dat_BSI']['DRIVER_DOOR'], cp_cam.vl['Dat_BSI']['PASSENGER_DOOR']))
ret.seatbeltUnlatched = cp_cam.vl['RESTRAINTS']['DRIVER_SEATBELT'] != 2
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
@@ -93,7 +93,6 @@ class CarState(CarStateBase):
self.sccm_wheel_touch = copy.copy(cp.vl["SCCM_WheelTouch"])
self.vdm_adas_status = copy.copy(cp.vl["VDM_AdasSts"])
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
@@ -11,7 +11,6 @@ from opendbc.car.subaru.values import DBC, GLOBAL_ES_ADDR, CanBus, CarController
MAX_STEER_RATE = 25 # deg/s
MAX_STEER_RATE_FRAMES = 7 # tx control frames needed before torque can be cut
# StarPilot variables
_SNG_ACC_MIN_DIST = 3
_SNG_ACC_MAX_DIST = 4.5
@@ -27,7 +26,6 @@ class CarController(CarControllerBase):
self.p = CarControllerParams(CP)
self.packer = CANPacker(DBC[CP.carFingerprint][Bus.pt])
# StarPilot variables
self.manual_hold = False
self.prev_standstill = False
self.sng_acc_resume = False
@@ -71,7 +69,6 @@ class CarController(CarControllerBase):
self.apply_torque_last = apply_torque
# StarPilot variables
# *** stop and go ***
if starpilot_toggles.subaru_sng:
throttle_cmd, speed_cmd = self.stop_and_go(CC, CS)
@@ -112,7 +109,6 @@ class CarController(CarControllerBase):
can_sends.append(subarucan.create_preglobal_es_distance(self.packer, cruise_button, CS.es_distance_msg))
# StarPilot variables
if starpilot_toggles.subaru_sng:
can_sends.append(subarucan.create_preglobal_throttle(self.packer, CS.throttle_msg["COUNTER"] + 1, CS.throttle_msg, throttle_cmd))
else:
@@ -127,7 +123,6 @@ class CarController(CarControllerBase):
if self.CP.flags & SubaruFlags.SEND_INFOTAINMENT:
can_sends.append(subarucan.create_es_infotainment(self.packer, self.frame // 10, CS.es_infotainment_msg, hud_control.visualAlert))
# StarPilot variables
if starpilot_toggles.subaru_sng:
can_sends.append(subarucan.create_throttle(self.packer, CS.throttle_msg["COUNTER"] + 1, CS.throttle_msg, throttle_cmd))
if self.frame % 2 == 0:
@@ -171,7 +166,6 @@ class CarController(CarControllerBase):
self.frame += 1
return new_actuators, can_sends
# StarPilot variables
def stop_and_go(self, CC, CS, speed_cmd=False, throttle_cmd=False):
if self.CP.flags & SubaruFlags.PREGLOBAL:
trigger_resume = CC.enabled
@@ -124,7 +124,6 @@ class CarState(CarStateBase):
if self.CP.flags & SubaruFlags.SEND_INFOTAINMENT:
self.es_infotainment_msg = copy.copy(cp_cam.vl["ES_Infotainment"])
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
if starpilot_toggles.subaru_sng:
@@ -336,7 +336,6 @@ def subaru_checksum(address: int, sig, d: bytearray) -> int:
return s & 0xFF
# StarPilot variables
def create_brake_pedal(packer, frame, brake_pedal_msg, speed_cmd, brake_cmd):
values = {s: brake_pedal_msg[s] for s in sorted([
"Brake_Lights",
@@ -26,7 +26,6 @@ class CarControllerParams:
elif CP.carFingerprint == CAR.SUBARU_IMPREZA_2020:
self.STEER_DELTA_UP = 35
self.STEER_MAX = 1439
# StarPilot variables
elif CP.carFingerprint == CAR.SUBARU_IMPREZA:
self.STEER_MAX = 3071
else:
@@ -118,7 +118,6 @@ class CarState(CarStateBase):
# Messages needed by carcontroller
self.das_control = copy.copy(cp_ap_party.vl["DAS_control"])
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
-1
View File
@@ -41,7 +41,6 @@ non_tested_cars = [
]
# OPGM variables
non_tested_cars.extend(CC_ONLY_CAR)
@@ -104,5 +104,4 @@ legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
"HONDA_CIVIC_2022" = [2.5, 1.2, 0.15]
"HONDA_HRV_3G" = [2.5, 1.2, 0.2]
# OPGM variables
"CHEVROLET_MALIBU_CC" = [1.85, 1.85, 0.075]
@@ -80,5 +80,3 @@ legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
"VOLKSWAGEN_JETTA_MK7" = [1.2271623034089392, 1.216955117387, 0.19437384688370712]
"VOLKSWAGEN_PASSAT_MK8" = [1.3432120736752917, 1.7087275587362314, 0.19444383787326647]
"VOLKSWAGEN_TIGUAN_MK2" = [0.9711965500094828, 1.0001565939459098, 0.1465626137072916]
# StarPilot variables
@@ -94,7 +94,6 @@ legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
"SUBARU_LEGACY_PREGLOBAL" = "SUBARU_IMPREZA"
"SUBARU_ASCENT" = "SUBARU_FORESTER"
# OPGM variables
"CADILLAC_CT6_CC" = "CHEVROLET_VOLT"
"CADILLAC_XT5_CC" = "GMC_ACADIA"
"CHEVROLET_EQUINOX_CC" = "CHEVROLET_EQUINOX"
@@ -103,5 +102,4 @@ legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
"GMC_YUKON_CC" = "CHEVROLET_SILVERADO"
"CHEVROLET_TRAILBLAZER_CC" = "CHEVROLET_TRAILBLAZER"
# StarPilot variables
"CHEVROLET_TRAX" = "CHEVROLET_VOLT"
@@ -35,7 +35,6 @@ MAX_STEER_RATE_FRAMES = 18 # tx control frames needed before torque can be cut
# EPS allows user torque above threshold for 50 frames before permanently faulting
MAX_USER_TORQUE = 500
# StarPilot variables
PARK = structs.CarState.GearShifter.park
# Lock / unlock door commands - Credit goes to AlexandreSato!
@@ -86,7 +85,6 @@ class CarController(CarControllerBase):
self.secoc_acc_message_counter = 0
self.secoc_prev_reset_counter = 0
# StarPilot variables
self.doors_locked = False
def update(self, CC, CS, now_nanos, starpilot_toggles):
@@ -334,7 +332,6 @@ class CarController(CarControllerBase):
self.frame += 1
# StarPilot variables
if not self.doors_locked and CS.out.gearShifter != PARK:
if starpilot_toggles.lock_doors:
can_sends.append(CanData(0x750, LOCK_CMD, 0))
@@ -67,7 +67,6 @@ class CarState(CarStateBase):
self.gvc = 0.0
self.secoc_synchronization = None
# StarPilot variables
self.latActive_previous = False
self.needs_angle_offset_zss = False
@@ -222,7 +221,6 @@ class CarState(CarStateBase):
buttonEvents += create_button_events(self.distance_button, prev_distance_button, {1: ButtonType.gapAdjustCruise})
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
if self.has_SDSU and not self.has_can_filter:
@@ -80,7 +80,6 @@ class ToyotaFlags(IntFlag):
SNG_WITHOUT_DSU_DEPRECATED = 512
# StarPilot variables
class ToyotaStarPilotFlags(IntFlag):
RADAR_CAN_FILTER = 1
SMART_DSU = 2
@@ -139,7 +139,6 @@ class CarState(CarStateBase):
self.frame += 1
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
@@ -234,7 +233,6 @@ class CarState(CarStateBase):
self.frame += 1
# StarPilot variables
fp_ret = custom.StarPilotCarState.new_message()
return ret, fp_ret
-1
View File
@@ -9,6 +9,5 @@ class ALTERNATIVE_EXPERIENCE:
RAISE_LONGITUDINAL_LIMITS_TO_ISO_MAX = 8
ALLOW_AEB = 16
# StarPilot variables
ALWAYS_ON_LATERAL = 32
GM_REMAP_CANCEL_TO_DISTANCE = 64
@@ -247,7 +247,6 @@ void speed_mismatch_check(const float speed_2);
void safety_tick(const safety_config *safety_config);
// OPGM variables
bool longitudinal_interceptor_checks(const CANPacket_t *to_send);
// This can be set by the safety hooks
@@ -268,7 +267,6 @@ extern bool acc_main_on; // referred to as "ACC off" in ISO 15622:2018
extern int cruise_button_prev;
extern bool safety_rx_checks_invalid;
// StarPilot variables
extern bool aol_allowed;
extern bool lkas_button_prev;
extern bool lkas_on;
@@ -294,7 +292,6 @@ extern uint32_t ts_angle_check_last;
extern int desired_angle_last;
extern struct sample_t angle_meas; // last 6 steer angles/curvatures
// OPGM variables
extern bool enable_gas_interceptor;
extern int gas_interceptor_prev;
extern bool gm_remote_start_boots_comma;
@@ -317,7 +314,6 @@ extern bool gm_remote_start_boots_comma;
// This flag allows AEB to be commanded from openpilot.
#define ALT_EXP_ALLOW_AEB 16
// StarPilot variables
#define ALT_EXP_ALWAYS_ON_LATERAL 32
#define ALT_EXP_GM_REMAP_CANCEL_TO_DISTANCE 64
@@ -34,7 +34,6 @@ bool longitudinal_brake_checks(int desired_brake, const LongitudinalLimits limit
return violation;
}
// OPGM variables
bool longitudinal_interceptor_checks(const CANPacket_t *msg) {
return (!get_longitudinal_allowed() || brake_pressed_prev) && (msg->data[0] || msg->data[1]);
}
@@ -79,7 +79,6 @@ static void chrysler_rx_hook(const CANPacket_t *msg) {
bool cruise_engaged = GET_BIT(msg, 21U);
pcm_cruise_check(cruise_engaged);
// StarPilot variables
acc_main_on = GET_BIT(msg, 20U);
}
-1
View File
@@ -159,7 +159,6 @@ static void ford_rx_hook(const CANPacket_t *msg) {
bool cruise_engaged = (cruise_state == 4U) || (cruise_state == 5U);
pcm_cruise_check(cruise_engaged);
// StarPilot variables
acc_main_on = (cruise_state == 3U) || cruise_engaged;
}
}
+2 -14
View File
@@ -61,12 +61,11 @@ static bool gm_panda_3d1_sched = false;
static bool gm_panda_paddle_sched = false;
static bool gm_bolt_2022_pedal = false;
// OPGM variables
static bool gm_cc_long = false;
static bool gm_has_acc = true;
static bool gm_pedal_long = false;
// StarPilot parity scheduler state
// 3D1 spoof scheduler state
static bool gm_3d1_spoof_valid = false;
static bool gm_3d1_internal_tx = false;
static uint8_t gm_3d1_spoof_data[8] = {0U};
@@ -199,7 +198,6 @@ static void gm_try_send_3d1_spoof(uint32_t now_us) {
static void gm_rx_hook(const CANPacket_t *msg) {
const int GM_STANDSTILL_THRSLD = 10; // 0.311kph
// OPGM variables
// Keep panda threshold aligned with carstate to avoid pedal pre-enable mismatches.
const int GM_GAS_INTERCEPTOR_THRESHOLD = 595;
@@ -275,7 +273,6 @@ static void gm_rx_hook(const CANPacket_t *msg) {
cruise_engaged_prev = false;
}
// OPGM variables
// Cruise check for CC only cars
if ((msg->addr == 0x3D1U) && !gm_has_acc) {
uint32_t now_us = microsecond_timer_get();
@@ -338,7 +335,7 @@ static void gm_rx_hook(const CANPacket_t *msg) {
}
}
// Keep camera-bus ACC status behavior aligned with StarPilot camera/SDGM paths.
// Keep camera-bus ACC status behavior consistent across camera and SDGM paths.
if ((msg->addr == 0x370U) && (msg->bus == 2U)) {
bool cruise_engaged = (msg->data[2] >> 7) != 0U; // ACCCmdActive
if (gm_bolt_2022_pedal) {
@@ -350,7 +347,6 @@ static void gm_rx_hook(const CANPacket_t *msg) {
}
}
// StarPilot variables
if (msg->addr == 0xC9U) {
acc_main_on = GET_BIT(msg, 29U);
}
@@ -440,7 +436,6 @@ static bool gm_tx_hook(const CANPacket_t *msg) {
}
}
// OPGM variables
// GAS: safety check (interceptor)
if (msg->addr == 0x200U) {
if (longitudinal_interceptor_checks(msg)) {
@@ -556,7 +551,6 @@ static safety_config gm_init(uint16_t param) {
static const CanMsg GM_ASCM_TX_MSGS[] = {{0x180, 0, 4, .check_relay = true}, {0x409, 0, 7, .check_relay = false}, {0x40A, 0, 7, .check_relay = false}, {0x2CB, 0, 8, .check_relay = true}, {0x370, 0, 6, .check_relay = false}, // pt bus
{0xA1, 1, 7, .check_relay = false}, {0x306, 1, 8, .check_relay = false}, {0x308, 1, 7, .check_relay = false}, {0x310, 1, 2, .check_relay = false}, // obs bus
{0x315, 2, 5, .check_relay = false}, // ch bus
// OPGM Variables
{0x200, 0, 6, .check_relay = false},
{0x1E1, 0, 7, .check_relay = false},
{0xBD, 0, 7, .check_relay = false},
@@ -573,7 +567,6 @@ static safety_config gm_init(uint16_t param) {
// block PSCMStatus (0x184); forwarded through openpilot to hide an alert from the camera
static const CanMsg GM_CAM_LONG_TX_MSGS[] = {{0x180, 0, 4, .check_relay = true}, {0x315, 0, 5, .check_relay = true}, {0x2CB, 0, 8, .check_relay = true}, {0x370, 0, 6, .check_relay = true}, {0x3D1, 0, 8, .check_relay = false}, // pt bus
{0x184, 2, 8, .check_relay = true}, // camera bus
// OPGM Variables
{0x200, 0, 6, .check_relay = false}, {0x1E1, 0, 7, .check_relay = false},
{0xBD, 0, 7, .check_relay = false}, {0x1F5, 0, 8, .check_relay = false}}; // pt bus
@@ -581,7 +574,6 @@ static safety_config gm_init(uint16_t param) {
static RxCheck gm_rx_checks[] = {
GM_COMMON_RX_CHECKS
// OPGM Variables
GM_ACC_RX_CHECKS
};
@@ -589,7 +581,6 @@ static safety_config gm_init(uint16_t param) {
GM_COMMON_RX_CHECKS
{.msg = {{0xBD, 0, 7, 40U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}},
// OPGM Variables
GM_ACC_RX_CHECKS
};
@@ -600,12 +591,10 @@ static safety_config gm_init(uint16_t param) {
static const CanMsg GM_CAM_TX_MSGS[] = {{0x180, 0, 4, .check_relay = true}, {0x370, 0, 6, .check_relay = false}, {0x3D1, 0, 8, .check_relay = false}, // pt bus
{0x1E1, 2, 7, .check_relay = false}, {0x184, 2, 8, .check_relay = true}, // camera bus
// OPGM Variables
{0x200, 0, 6, .check_relay = false},
{0x1E1, 0, 7, .check_relay = false},
{0xBD, 0, 7, .check_relay = false}, {0x1F5, 0, 8, .check_relay = false}}; // pt bus
// OPGM Variables
static RxCheck gm_no_acc_ev_rx_checks[] = {
GM_COMMON_RX_CHECKS
{.msg = {{0xBD, 0, 7, 40U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}},
@@ -646,7 +635,6 @@ static safety_config gm_init(uint16_t param) {
gm_sdgm = GET_FLAG(param, GM_PARAM_HW_SDGM);
gm_ascm_int = GET_FLAG(param, GM_PARAM_HW_ASCM_INT);
// OPGM Variables
gm_cc_long = GET_FLAG(param, GM_PARAM_CC_LONG);
gm_has_acc = !GET_FLAG(param, GM_PARAM_NO_ACC);
gm_pedal_long = GET_FLAG(param, GM_PARAM_PEDAL_LONG);
@@ -52,7 +52,6 @@ const LongitudinalLimits HYUNDAI_LONG_LIMITS = {
#define HYUNDAI_FCEV_GAS_ADDR_CHECK \
{.msg = {{0x91, 0, 8, 100U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}}, \
// StarPilot variables
#define HYUNDAI_LDA_BUTTON_ADDR_CHECK \
{.msg = {{0x391, 0, 8, 100U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}}, \
@@ -178,7 +177,6 @@ static void hyundai_rx_hook(const CANPacket_t *msg) {
brake_pressed = ((msg->data[5] >> 5U) & 0x3U) == 0x2U;
}
// StarPilot variables
if (msg->addr == 0x391U) {
hyundai_lkas_button_check(GET_BIT(msg, 4U));
}
@@ -288,7 +286,6 @@ static safety_config hyundai_init(uint16_t param) {
HYUNDAI_FCEV_GAS_ADDR_CHECK
};
// StarPilot variables
static RxCheck hyundai_long_rx_checks_lda[] = {
HYUNDAI_COMMON_RX_CHECKS(false)
HYUNDAI_LDA_BUTTON_ADDR_CHECK
@@ -325,7 +322,6 @@ static safety_config hyundai_init(uint16_t param) {
HYUNDAI_SCC12_ADDR_CHECK(2)
};
// StarPilot variables
static RxCheck hyundai_cam_scc_rx_checks_lda[] = {
HYUNDAI_COMMON_RX_CHECKS(false)
HYUNDAI_SCC12_ADDR_CHECK(2)
@@ -349,7 +345,6 @@ static safety_config hyundai_init(uint16_t param) {
HYUNDAI_FCEV_GAS_ADDR_CHECK
};
// StarPilot variables
static RxCheck hyundai_rx_checks_lda[] = {
HYUNDAI_COMMON_RX_CHECKS(false)
HYUNDAI_SCC12_ADDR_CHECK(0)
@@ -89,13 +89,11 @@ static void hyundai_canfd_rx_hook(const CANPacket_t *msg) {
cruise_button = msg->data[2] & 0x7U;
main_button = GET_BIT(msg, 19U);
// StarPilot variables
hyundai_lkas_button_check(GET_BIT(msg, 23U));
} else {
cruise_button = (msg->data[4] >> 4) & 0x7U;
main_button = GET_BIT(msg, 34U);
// StarPilot variables
hyundai_lkas_button_check(GET_BIT(msg, 39U));
}
hyundai_common_cruise_buttons_check(cruise_button, main_button);
@@ -42,7 +42,6 @@ bool hyundai_fcev_gas_signal = false;
extern bool hyundai_alt_limits_2;
bool hyundai_alt_limits_2 = false;
// StarPilot variables
extern bool hyundai_has_lda_button;
bool hyundai_has_lda_button = false;
@@ -57,7 +56,6 @@ void hyundai_common_init(uint16_t param) {
const uint16_t HYUNDAI_PARAM_FCEV_GAS = 256;
const uint16_t HYUNDAI_PARAM_ALT_LIMITS_2 = 512;
// StarPilot variables
const int HYUNDAI_PARAM_HAS_LDA_BUTTON = 1024;
hyundai_ev_gas_signal = GET_FLAG(param, HYUNDAI_PARAM_EV_GAS);
@@ -68,7 +66,6 @@ void hyundai_common_init(uint16_t param) {
hyundai_fcev_gas_signal = GET_FLAG(param, HYUNDAI_PARAM_FCEV_GAS);
hyundai_alt_limits_2 = GET_FLAG(param, HYUNDAI_PARAM_ALT_LIMITS_2);
// StarPilot variables
hyundai_has_lda_button = GET_FLAG(param, HYUNDAI_PARAM_HAS_LDA_BUTTON);
hyundai_last_button_interaction = HYUNDAI_PREV_BUTTON_SAMPLES;
@@ -121,7 +118,6 @@ void hyundai_common_cruise_buttons_check(const int cruise_button, const bool mai
cruise_button_prev = cruise_button;
}
// StarPilot variables
if (main_button && !main_button_prev) {
acc_main_on = !acc_main_on;
}
@@ -155,7 +151,6 @@ uint32_t hyundai_common_canfd_compute_checksum(const CANPacket_t *msg) {
}
#endif
// StarPilot variables
void hyundai_lkas_button_check(const bool lkas_button) {
if (lkas_button && !lkas_button_prev) {
lkas_on = !lkas_on;
@@ -35,7 +35,6 @@ static void mazda_rx_hook(const CANPacket_t *msg) {
bool cruise_engaged = msg->data[0] & 0x8U;
pcm_cruise_check(cruise_engaged);
// StarPilot variables
acc_main_on = GET_BIT(msg, 17U);
}
@@ -51,7 +51,6 @@ static void nissan_rx_hook(const CANPacket_t *msg) {
pcm_cruise_check(cruise_engaged);
}
// StarPilot variables
if ((msg->addr == 0x1B6U) && (msg->bus == (nissan_alt_eps ? 2U : 1U))) {
acc_main_on = GET_BIT(msg, 36U);
}
-6
View File
@@ -10,7 +10,6 @@
#define PSA_DAT_BSI 1042U // RX from BSI, brake
#define PSA_LANE_KEEP_ASSIST 1010U // TX from OP, EPS
// StarPilot variables
#define PSA_HS2_DYN1_MDD_ETAT_2B6 694U // RX from BSI, ACC status
// CAN bus
@@ -24,7 +23,6 @@ static uint8_t psa_get_counter(const CANPacket_t *msg) {
cnt = (msg->data[3] >> 4) & 0xFU;
} else if (msg->addr == PSA_HS2_DYN_ABR_38D) {
cnt = (msg->data[5] >> 4) & 0xFU;
// StarPilot variables
} else if (msg->addr == PSA_HS2_DYN1_MDD_ETAT_2B6) {
cnt = (msg->data[7] >> 4) & 0xFU;
} else {
@@ -38,7 +36,6 @@ static uint32_t psa_get_checksum(const CANPacket_t *msg) {
chksum = msg->data[5] & 0xFU;
} else if (msg->addr == PSA_HS2_DYN_ABR_38D) {
chksum = msg->data[5] & 0xFU;
// StarPilot variables
} else if (msg->addr == PSA_HS2_DYN1_MDD_ETAT_2B6) {
chksum = msg->data[7] & 0xFU;
} else {
@@ -68,7 +65,6 @@ static uint32_t psa_compute_checksum(const CANPacket_t *msg) {
chk = _psa_compute_checksum(msg, 0x4, 5);
} else if (msg->addr == PSA_HS2_DYN_ABR_38D) {
chk = _psa_compute_checksum(msg, 0x7, 5);
// StarPilot variables
} else if (msg->addr == PSA_HS2_DYN1_MDD_ETAT_2B6) {
chk = _psa_compute_checksum(msg, 0x3, 7);
} else {
@@ -96,7 +92,6 @@ static void psa_rx_hook(const CANPacket_t *msg) {
if (msg->addr == PSA_HS2_DAT_MDD_CMD_452) {
pcm_cruise_check((msg->data[2U] >> 7U) & 1U); // RVV_ACC_ACTIVATION_REQ
}
// StarPilot variables
if (msg->addr == PSA_HS2_DYN1_MDD_ETAT_2B6) {
acc_main_on = (msg->data[3] & 0x0FU) > 2;
}
@@ -153,7 +148,6 @@ static safety_config psa_init(uint16_t param) {
{.msg = {{PSA_DYN_CMM, PSA_MAIN_BUS, 8, 100U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}}, // gas pedal
{.msg = {{PSA_DAT_BSI, PSA_CAM_BUS, 8, 20U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}}, // brake
// StarPilot variables
{.msg = {{PSA_HS2_DYN1_MDD_ETAT_2B6, PSA_ADAS_BUS, 8, 20U, .max_counter = 15U, .ignore_quality_flag = true}, { 0 }, { 0 }}}, // ACC status
};
@@ -98,7 +98,6 @@ static void rivian_rx_hook(const CANPacket_t *msg) {
const int feature_status = msg->data[2] >> 5U;
pcm_cruise_check(feature_status == 1);
// StarPilot variables
acc_main_on = (feature_status == 0) || (feature_status == 1);
}
}
@@ -110,7 +110,6 @@ static void subaru_rx_hook(const CANPacket_t *msg) {
bool cruise_engaged = (msg->data[5] >> 1) & 1U;
pcm_cruise_check(cruise_engaged);
// StarPilot variables
acc_main_on = GET_BIT(msg, 40U);
}
@@ -34,7 +34,6 @@ static void subaru_preglobal_rx_hook(const CANPacket_t *msg) {
bool cruise_engaged = (msg->data[6] >> 1) & 1U;
pcm_cruise_check(cruise_engaged);
// StarPilot variables
acc_main_on = GET_BIT(msg, 48U);
}
@@ -160,7 +160,6 @@ static void tesla_rx_hook(const CANPacket_t *msg) {
pcm_cruise_check(cruise_engaged);
// StarPilot variables
acc_main_on = ((cruise_state == 1) || cruise_engaged) && !tesla_autopark;
}
@@ -162,7 +162,6 @@ static void toyota_rx_hook(const CANPacket_t *msg) {
UPDATE_VEHICLE_SPEED(speed / 4.0 * 0.01 * KPH_TO_MS);
}
// StarPilot variables
if (msg->addr == 0x1D3U) {
acc_main_on = GET_BIT(msg, 15U);
}
-5
View File
@@ -60,7 +60,6 @@ bool acc_main_on = false; // referred to as "ACC off" in ISO 15622:2018
int cruise_button_prev = 0;
bool safety_rx_checks_invalid = false;
// StarPilot variables
bool aol_allowed = false;
bool lkas_button_prev = false;
bool lkas_on = false;
@@ -97,7 +96,6 @@ uint16_t current_safety_param = 0;
static const safety_hooks *current_hooks = &nooutput_hooks;
safety_config current_safety_config;
// OPGM variables
bool enable_gas_interceptor = false;
int gas_interceptor_prev = 0;
bool gm_remote_start_boots_comma = false;
@@ -375,7 +373,6 @@ static void generic_rx_checks(void) {
}
steering_disengage_prev = steering_disengage;
// StarPilot variables
aol_allowed = (acc_main_on || lkas_on) && (alternative_experience & ALT_EXP_ALWAYS_ON_LATERAL);
}
@@ -497,11 +494,9 @@ int set_safety_hooks(uint16_t mode, uint16_t param) {
}
}
// OPGM variables
enable_gas_interceptor = false;
gas_interceptor_prev = 0;
// StarPilot variables
aol_allowed = false;
lkas_button_prev = false;
lkas_on = false;
@@ -310,7 +310,6 @@ class TorqueSteeringSafetyTestBase(SafetyTestBase, abc.ABC):
for _ in range(10):
self.assertFalse(self._tx(self._torque_cmd_msg(self.MAX_TORQUE, 1)))
# StarPilot variables
def _toggle_aol(self, toggle_on):
"""Toggles "Always On Lateral" On/Off"""
pass
@@ -851,7 +850,6 @@ class AngleSteeringSafetyTest(VehicleSpeedSafetyTest):
for _ in range(5):
self.assertTrue(self._tx(self._angle_cmd_msg(0, True, increment_timer=False)))
# StarPilot variables
def _toggle_aol(self, toggle_on):
"""Toggles "Always On Lateral" on/off"""
pass
@@ -1216,7 +1214,6 @@ class CarSafetyTest(SafetyTest):
self.assertFalse(self.safety.safety_config_valid())
# OPGM variables
class GasInterceptorSafetyTest(PandaSafetyTestBase):
INTERCEPTOR_THRESHOLD = 0
@@ -71,7 +71,6 @@ class HyundaiButtonBase:
self.assertEqual(controls_allowed, self.safety.get_controls_allowed())
self._rx(self._button_msg(Buttons.NONE))
# StarPilot variables
def _toggle_aol(self, toggle_on):
"""
Simulates toggling the main cruise button. The safety model requires a
@@ -71,7 +71,6 @@ class TestChryslerSafety(common.CarSafetyTest, common.MotorTorqueSteeringSafetyT
self.assertFalse(self._tx(self._button_msg(cancel=True, resume=True)))
self.assertFalse(self._tx(self._button_msg(cancel=False, resume=False)))
# StarPilot variables
def _toggle_aol(self, toggle_on):
# DAS_3, bit 20 is ACC_AVAILABLE
values = {"ACC_AVAILABLE": 1 if toggle_on else 0}
@@ -378,7 +378,6 @@ class TestFordSafetyBase(common.CarSafetyTest):
for bus in (0, 2):
self.assertEqual(enabled, self._tx(self._acc_button_msg(Buttons.CANCEL, bus)))
# StarPilot variables
def _toggle_aol(self, toggle_on):
# EngBrakeData, CcStat_D_Actl is the cruise state
# 3 is standby (main on), 5 is active (engaged)
@@ -132,7 +132,6 @@ class TestGmSafetyBase(common.CarSafetyTest, common.DriverTorqueSteeringSafetyTe
values = {"ACCButtons": buttons}
return self.packer.make_can_msg_safety("ASCMSteeringButton", self.BUTTONS_BUS, values)
# StarPilot variables
def _toggle_aol(self, toggle_on):
# ECMEngineStatus, bit 29 is CruiseMainOn
values = {"CruiseMainOn": 1 if toggle_on else 0}
@@ -289,7 +288,6 @@ class TestGmCameraLongitudinalEVSafety(GmCameraAccEVRegenMixin, TestGmCameraLong
pass
# OPGM variables
def interceptor_msg(gas, addr):
to_send = common.make_msg(0, addr, 6)
to_send[0].data[0] = (gas & 0xFF00) >> 8
@@ -237,7 +237,6 @@ class HondaBase(common.CarSafetyTest):
self.assertTrue(self._tx(self._send_steer_msg(0x0000)))
self.assertFalse(self._tx(self._send_steer_msg(0x1000)))
# StarPilot variables
def _toggle_aol(self, toggle_on):
# SCM_FEEDBACK, bit 28 is MAIN_ON
values = {"MAIN_ON": 1 if toggle_on else 0, "COUNTER": self.cnt_acc_state % 4}
@@ -81,7 +81,6 @@ class TestHyundaiCanfdBase(HyundaiButtonBase, common.CarSafetyTest, common.Drive
}
return self.packer.make_can_msg_safety("CRUISE_BUTTONS", bus, values)
# StarPilot variables
def _toggle_aol(self, toggle_on):
if not hasattr(self, "_aol_state"):
self._aol_state = False
@@ -172,7 +171,6 @@ class TestHyundaiCanfdLFASteeringAltButtonsBase(TestHyundaiCanfdLFASteeringBase)
self.assertFalse(self._tx(self._acc_cancel_msg(True, accel=1)))
self.assertFalse(self._tx(self._acc_cancel_msg(False)))
# StarPilot variables
def _toggle_aol(self, toggle_on):
if not hasattr(self, "_aol_state"):
self._aol_state = False
@@ -80,7 +80,6 @@ class TestMazdaSafety(common.CarSafetyTest, common.DriverTorqueSteeringSafetyTes
self.assertTrue(self._tx(self._button_msg(cancel=True)))
self.assertTrue(self._tx(self._button_msg(resume=True)))
# StarPilot variables
def _toggle_aol(self, toggle_on):
# CRZ_CTRL, CRZ_AVAILABLE is the main on button
values = {"CRZ_AVAILABLE": 1 if toggle_on else 0}
@@ -79,7 +79,6 @@ class TestNissanSafety(common.CarSafetyTest, common.AngleSteeringSafetyTest):
tx = self._tx(self._acc_button_cmd(**args))
self.assertEqual(tx, should_tx)
# StarPilot variables
def _toggle_aol(self, toggle_on):
# PRO_PILOT, CRUISE_ON is the main on button for X-Trail/Rogue/Altima
values = {"CRUISE_ON": 1 if toggle_on else 0}
@@ -119,7 +118,6 @@ class TestNissanLeafSafety(TestNissanSafety):
def test_acc_buttons(self):
pass
# StarPilot variables
def _toggle_aol(self, toggle_on):
# CRUISE_THROTTLE, CRUISE_AVAILABLE is the main on button for Leaf
values = {"CRUISE_AVAILABLE": 1 if toggle_on else 0}
@@ -111,7 +111,6 @@ class TestSubaruSafetyBase(common.CarSafetyTest):
values = {"Cruise_Activated": enable}
return self.packer.make_can_msg_safety("CruiseControl", self.ALT_MAIN_BUS, values)
# StarPilot variables
def _toggle_aol(self, toggle_on):
# CruiseControl, Cruise_On is the main on button
values = {"Cruise_On": 1 if toggle_on else 0}
@@ -59,7 +59,6 @@ class TestSubaruPreglobalSafety(common.CarSafetyTest, common.DriverTorqueSteerin
values = {"Cruise_Activated": enable}
return self.packer.make_can_msg_safety("CruiseControl", 0, values)
# StarPilot variables
def _toggle_aol(self, toggle_on):
# CruiseControl, Cruise_On is the main on button
values = {"Cruise_On": 1 if toggle_on else 0}
@@ -353,7 +353,6 @@ class TestTeslaSafetyBase(common.CarSafetyTest, common.AngleSteeringSafetyTest,
# Recover
self.assertTrue(self._tx(self._angle_cmd_msg(0, True)))
# StarPilot variables
def _toggle_aol(self, toggle_on):
# DI_state, DI_cruiseState is the cruise state, 1 is standby
values = {"DI_cruiseState": 1 if toggle_on else 0}
@@ -122,7 +122,6 @@ class TestToyotaSafetyBase(common.CarSafetyTest, common.LongitudinalAccelSafetyT
self.assertFalse(self._rx(msg))
self.assertFalse(self.safety.get_controls_allowed())
# StarPilot variables
def _toggle_aol(self, toggle_on):
# pcm_cruise_2, bit 15 is toggle_on
values = {"MAIN_ON": 1 if toggle_on else 0}
@@ -126,7 +126,6 @@ class TestVolkswagenMqbSafetyBase(common.CarSafetyTest, common.DriverTorqueSteer
self.assertEqual(0, self.safety.get_torque_driver_max())
self.assertEqual(0, self.safety.get_torque_driver_min())
# StarPilot variables
def _toggle_aol(self, toggle_on):
# TSK_06, TSK_Status is the cruise state, 2 is standby
return self._tsk_status_msg(False, main_switch=toggle_on)
@@ -108,7 +108,6 @@ class TestVolkswagenPqSafetyBase(common.CarSafetyTest, common.DriverTorqueSteeri
self.assertEqual(0, self.safety.get_torque_driver_max())
self.assertEqual(0, self.safety.get_torque_driver_min())
# StarPilot variables
def _toggle_aol(self, toggle_on):
# Motor_5, GRA_Hauptschalter is the main cruise switch
return self._motor_5_msg(main_switch=toggle_on)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1,2 +1,2 @@
extern const uint8_t gitversion[19];
const uint8_t gitversion[19] = "DEV-a97a59be-DEBUG";
const uint8_t gitversion[19] = "DEV-82619bd7-DEBUG";
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More