Honda HRV (#1404)
* PR - Honda HRV values.py - incl. Class, FP, FW_VERSIONS, SPEED_FACTOR 1.025 carstate.py - incl. carFingerprint, doorOpen OVERRIDE (signal unknown) Safety test concludes that removal of drivers seatbelt IMMEDIATELY disengages OP interface.py - incl. HR-V vehicle parameters, tuning (tested for 100+ miles) Longitudinal tuning parameters unchanged from CAR.FIT test_car_models.py - added per request of review process *5. honda_hrv_touring_2019_can_generated.dbc will be submitted to commaai/opendbc in next PR Once *5 is approved, will need to update values.py to matching dbc Thanks, Cowan Moore 330-701-3922 * Honda HRV Door Signal BO_ 422 SCM_BUTTONS: 8 SCM SG_ DRIVERS_DOOR_OPEN : 63|1@0+ (1,0) [0|1] "" EON * Update values.py * Update test_car_models.pyalbatross
parent
3aab9facaa
commit
1d6042c5f3
|
@ -107,6 +107,9 @@ def get_can_signals(CP):
|
|||
signals += [("DRIVERS_DOOR_OPEN", "SCM_FEEDBACK", 1)]
|
||||
elif CP.carFingerprint == CAR.ODYSSEY_CHN:
|
||||
signals += [("DRIVERS_DOOR_OPEN", "SCM_BUTTONS", 1)]
|
||||
elif CP.carFingerprint == CAR.HRV:
|
||||
signals += [("DRIVERS_DOOR_OPEN", "SCM_BUTTONS", 1),
|
||||
("WHEELS_MOVING", "STANDSTILL", 1)]
|
||||
else:
|
||||
signals += [("DOOR_OPEN_FL", "DOORS_STATUS", 1),
|
||||
("DOOR_OPEN_FR", "DOORS_STATUS", 1),
|
||||
|
@ -125,7 +128,7 @@ def get_can_signals(CP):
|
|||
("MAIN_ON", "SCM_BUTTONS", 0)]
|
||||
elif CP.carFingerprint in (CAR.CRV, CAR.CRV_EU, CAR.ACURA_RDX, CAR.PILOT_2019, CAR.RIDGELINE):
|
||||
signals += [("MAIN_ON", "SCM_BUTTONS", 0)]
|
||||
elif CP.carFingerprint == CAR.FIT:
|
||||
elif CP.carFingerprint in (CAR.FIT, CAR.HRV):
|
||||
signals += [("CAR_GAS", "GAS_PEDAL_2", 0),
|
||||
("MAIN_ON", "SCM_BUTTONS", 0),
|
||||
("BRAKE_HOLD_ACTIVE", "VSA_STATUS", 0)]
|
||||
|
@ -182,6 +185,8 @@ class CarState(CarStateBase):
|
|||
elif self.CP.carFingerprint == CAR.ODYSSEY_CHN:
|
||||
ret.standstill = cp.vl["ENGINE_DATA"]['XMISSION_SPEED'] < 0.1
|
||||
ret.doorOpen = bool(cp.vl["SCM_BUTTONS"]['DRIVERS_DOOR_OPEN'])
|
||||
elif self.CP.carFingerprint == CAR.HRV:
|
||||
ret.doorOpen = bool(cp.vl["SCM_BUTTONS"]['DRIVERS_DOOR_OPEN'])
|
||||
else:
|
||||
ret.standstill = not cp.vl["STANDSTILL"]['WHEELS_MOVING']
|
||||
ret.doorOpen = any([cp.vl["DOORS_STATUS"]['DOOR_OPEN_FL'], cp.vl["DOORS_STATUS"]['DOOR_OPEN_FR'],
|
||||
|
|
|
@ -284,6 +284,20 @@ class CarInterface(CarInterfaceBase):
|
|||
ret.longitudinalTuning.kiBP = [0., 35.]
|
||||
ret.longitudinalTuning.kiV = [0.18, 0.12]
|
||||
|
||||
elif candidate == CAR.HRV:
|
||||
stop_and_go = False
|
||||
ret.mass = 3125 * CV.LB_TO_KG + STD_CARGO_KG
|
||||
ret.wheelbase = 2.61
|
||||
ret.centerToFront = ret.wheelbase * 0.41
|
||||
ret.steerRatio = 15.2
|
||||
ret.lateralParams.torqueBP, ret.lateralParams.torqueV = [[0, 4096], [0, 4096]]
|
||||
tire_stiffness_factor = 0.5
|
||||
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.16], [0.025]]
|
||||
ret.longitudinalTuning.kpBP = [0., 5., 35.]
|
||||
ret.longitudinalTuning.kpV = [1.2, 0.8, 0.5]
|
||||
ret.longitudinalTuning.kiBP = [0., 35.]
|
||||
ret.longitudinalTuning.kiV = [0.18, 0.12]
|
||||
|
||||
elif candidate == CAR.ACURA_RDX:
|
||||
stop_and_go = False
|
||||
ret.mass = 3935. * CV.LB_TO_KG + STD_CARGO_KG
|
||||
|
|
|
@ -34,6 +34,7 @@ class CAR:
|
|||
CRV_EU = "HONDA CR-V 2016 EXECUTIVE"
|
||||
CRV_HYBRID = "HONDA CR-V 2019 HYBRID"
|
||||
FIT = "HONDA FIT 2018 EX"
|
||||
HRV = "HONDA HRV 2019 TOURING"
|
||||
ODYSSEY = "HONDA ODYSSEY 2018 EX-L"
|
||||
ODYSSEY_CHN = "HONDA ODYSSEY 2019 EXCLUSIVE CHN"
|
||||
ACURA_RDX = "ACURA RDX 2018 ACURAWATCH PLUS"
|
||||
|
@ -93,6 +94,9 @@ FINGERPRINTS = {
|
|||
CAR.FIT: [{
|
||||
57: 3, 145: 8, 228: 5, 304: 8, 342: 6, 344: 8, 380: 8, 399: 7, 401: 8, 420: 8, 422: 8, 427: 3, 428: 8, 432: 7, 464: 8, 487: 4, 490: 8, 506: 8, 597: 8, 660: 8, 661: 4, 773: 7, 777: 8, 780: 8, 800: 8, 804: 8, 808: 8, 829: 5, 862: 8, 884: 7, 892: 8, 929: 8, 985: 3, 1024: 5, 1027: 5, 1029: 8, 1036: 8, 1039: 8, 1108: 8, 1322: 5, 1361: 5, 1365: 5, 1424: 5, 1600: 5, 1601: 8
|
||||
}],
|
||||
CAR.HRV: [{
|
||||
57: 3, 145: 8, 228: 5, 316: 8, 340: 8, 342: 6, 344: 8, 380: 8, 399: 7, 401: 8, 420: 8, 422: 8, 423: 2, 426: 8, 427: 3, 432: 7, 441: 5, 450: 8, 464: 8, 474: 8, 490: 8, 493: 3, 506: 8, 538: 5, 578: 2, 597: 8, 660: 8, 661: 4, 773: 7, 777: 8, 780: 8, 804: 8, 808: 8, 829: 5, 862: 8, 882: 2, 884: 7, 892: 8, 929: 8, 985: 3, 1030: 5, 1033: 5, 1108: 8, 1137: 8, 1348: 5, 1361: 5, 1365: 5, 1600: 5, 1601: 8, 1618: 5
|
||||
}],
|
||||
# 2018 Odyssey w/ Added Comma Pedal Support (512L & 513L)
|
||||
CAR.ODYSSEY: [{
|
||||
57: 3, 148: 8, 228: 5, 229: 4, 316: 8, 342: 6, 344: 8, 380: 8, 399: 7, 411: 5, 419: 8, 420: 8, 427: 3, 432: 7, 450: 8, 463: 8, 464: 8, 476: 4, 490: 8, 506: 8, 512: 6, 513: 6, 542: 7, 545: 6, 597: 8, 662: 4, 773: 7, 777: 8, 780: 8, 795: 8, 800: 8, 804: 8, 806: 8, 808: 8, 817: 4, 819: 7, 821: 5, 825: 4, 829: 5, 837: 5, 856: 7, 862: 8, 871: 8, 881: 8, 882: 4, 884: 8, 891: 8, 892: 8, 905: 8, 923: 2, 927: 8, 929: 8, 963: 8, 965: 8, 966: 8, 967: 8, 983: 8, 985: 3, 1029: 8, 1036: 8, 1052: 8, 1064: 7, 1088: 8, 1089: 8, 1092: 1, 1108: 8, 1110: 8, 1125: 8, 1296: 8, 1302: 8, 1600: 5, 1601: 8, 1612: 5, 1613: 5, 1614: 5, 1615: 8, 1616: 5, 1619: 5, 1623: 5, 1668: 5
|
||||
|
@ -131,7 +135,7 @@ FINGERPRINTS = {
|
|||
}
|
||||
|
||||
# Don't use theses fingerprints for fingerprinting, they are still needed for ECU detection
|
||||
IGNORED_FINGERPRINTS = [CAR.INSIGHT, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_EU]
|
||||
IGNORED_FINGERPRINTS = [CAR.INSIGHT, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_EU, CAR.HRV]
|
||||
|
||||
# add DIAG_MSGS to fingerprints
|
||||
for c in FINGERPRINTS:
|
||||
|
@ -681,6 +685,13 @@ FW_VERSIONS = {
|
|||
b'77959-TXM-A230\x00\x00',
|
||||
],
|
||||
},
|
||||
CAR.HRV: {
|
||||
(Ecu.gateway, 0x18daeff1, None): [b'38897-T7A-A010\x00\x00'],
|
||||
(Ecu.eps, 0x18da30f1, None): [b'39990-THX-A020\x00\x00'],
|
||||
(Ecu.fwdRadar, 0x18dab0f1, None): [b'36161-T7A-A240\x00\x00'],
|
||||
(Ecu.srs, 0x18da53f1, None): [b'77959-T7A-A230\x00\x00'],
|
||||
(Ecu.combinationMeter, 0x18da60f1, None): [b'78109-THX-A210\x00\x00'],
|
||||
},
|
||||
}
|
||||
|
||||
DBC = {
|
||||
|
@ -697,6 +708,7 @@ DBC = {
|
|||
CAR.CRV_EU: dbc_dict('honda_crv_executive_2016_can_generated', 'acura_ilx_2016_nidec'),
|
||||
CAR.CRV_HYBRID: dbc_dict('honda_crv_hybrid_2019_can_generated', None),
|
||||
CAR.FIT: dbc_dict('honda_fit_ex_2018_can_generated', 'acura_ilx_2016_nidec'),
|
||||
CAR.HRV: dbc_dict('honda_hrv_touring_2019_can_generated', 'acura_ilx_2016_nidec'),
|
||||
CAR.ODYSSEY: dbc_dict('honda_odyssey_exl_2018_generated', 'acura_ilx_2016_nidec'),
|
||||
CAR.ODYSSEY_CHN: dbc_dict('honda_odyssey_extreme_edition_2018_china_can_generated', 'acura_ilx_2016_nidec'),
|
||||
CAR.PILOT: dbc_dict('honda_pilot_touring_2017_can_generated', 'acura_ilx_2016_nidec'),
|
||||
|
@ -719,6 +731,7 @@ STEER_THRESHOLD = {
|
|||
CAR.CRV_EU: 400,
|
||||
CAR.CRV_HYBRID: 1200,
|
||||
CAR.FIT: 1200,
|
||||
CAR.HRV: 1200,
|
||||
CAR.ODYSSEY: 1200,
|
||||
CAR.ODYSSEY_CHN: 1200,
|
||||
CAR.PILOT: 1200,
|
||||
|
@ -741,6 +754,7 @@ SPEED_FACTOR = {
|
|||
CAR.CRV_EU: 1.025,
|
||||
CAR.CRV_HYBRID: 1.025,
|
||||
CAR.FIT: 1.,
|
||||
CAR.HRV: 1.025,
|
||||
CAR.ODYSSEY: 1.,
|
||||
CAR.ODYSSEY_CHN: 1.,
|
||||
CAR.PILOT: 1.,
|
||||
|
|
|
@ -106,6 +106,11 @@ routes = {
|
|||
'carFingerprint': HONDA.FIT,
|
||||
'enableCamera': True,
|
||||
},
|
||||
"03be5f2fd5c508d1|2020-04-19--18-44-15": {
|
||||
'carFingerprint': HONDA.HRV,
|
||||
'enableCamera': True,
|
||||
'fingerprintSource': 'fixed',
|
||||
},
|
||||
"2ac95059f70d76eb|2018-02-05--15-03-29": {
|
||||
'carFingerprint': HONDA.ACURA_ILX,
|
||||
'enableCamera': True,
|
||||
|
@ -344,7 +349,6 @@ routes = {
|
|||
'carFingerprint': NISSAN.LEAF,
|
||||
'enableCamera': True,
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
passive_routes = [
|
||||
|
|
Loading…
Reference in New Issue