|
|
|
@ -63,7 +63,8 @@ class CAR: |
|
|
|
|
KIA_NIRO_EV = "KIA NIRO EV 2020" |
|
|
|
|
KIA_NIRO_HEV = "KIA NIRO HYBRID 2019" |
|
|
|
|
KIA_NIRO_HEV_2021 = "KIA NIRO HYBRID 2021" |
|
|
|
|
KIA_OPTIMA = "KIA OPTIMA SX 2019 & 2016" |
|
|
|
|
KIA_OPTIMA = "KIA OPTIMA 2016" |
|
|
|
|
KIA_OPTIMA_2019 = "KIA OPTIMA 2019" |
|
|
|
|
KIA_OPTIMA_H = "KIA OPTIMA HYBRID 2017 & SPORTS 2019" |
|
|
|
|
KIA_SELTOS = "KIA SELTOS 2021" |
|
|
|
|
KIA_SORENTO = "KIA SORENTO GT LINE 2018" |
|
|
|
@ -132,10 +133,8 @@ CAR_INFO: Dict[str, Optional[Union[HyundaiCarInfo, List[HyundaiCarInfo]]]] = { |
|
|
|
|
HyundaiCarInfo("Kia Niro Hybrid 2021", harness=Harness.hyundai_f), # TODO: could be hyundai_d, verify |
|
|
|
|
HyundaiCarInfo("Kia Niro Hybrid 2022", harness=Harness.hyundai_h), |
|
|
|
|
], |
|
|
|
|
CAR.KIA_OPTIMA: [ |
|
|
|
|
HyundaiCarInfo("Kia Optima 2017", min_steer_speed=32. * CV.MPH_TO_MS, harness=Harness.hyundai_b), |
|
|
|
|
HyundaiCarInfo("Kia Optima 2019", harness=Harness.hyundai_g), |
|
|
|
|
], |
|
|
|
|
CAR.KIA_OPTIMA: HyundaiCarInfo("Kia Optima 2016-17", min_steer_speed=32. * CV.MPH_TO_MS, harness=Harness.hyundai_b), |
|
|
|
|
CAR.KIA_OPTIMA_2019: HyundaiCarInfo("Kia Optima 2019", harness=Harness.hyundai_g), |
|
|
|
|
CAR.KIA_OPTIMA_H: HyundaiCarInfo("Kia Optima 2017, 2019"), # TODO: info may be incorrect |
|
|
|
|
CAR.KIA_SELTOS: HyundaiCarInfo("Kia Seltos 2021", harness=Harness.hyundai_a), |
|
|
|
|
CAR.KIA_SORENTO: [ |
|
|
|
@ -1036,24 +1035,24 @@ FW_VERSIONS = { |
|
|
|
|
}, |
|
|
|
|
CAR.KIA_OPTIMA: { |
|
|
|
|
(Ecu.fwdRadar, 0x7d0, None): [b'\xf1\x00JF__ SCC F-CUP 1.00 1.00 96400-D4110 '], |
|
|
|
|
(Ecu.esp, 0x7d1, None): [ |
|
|
|
|
b'\xf1\x00JF ESC \v 11 \x18\x030 58920-D5180', |
|
|
|
|
b'\xf1\x00JF ESC \x0b 11 \x18\x030 58920-D5180', |
|
|
|
|
], |
|
|
|
|
(Ecu.esp, 0x7d1, None): [b'\xf1\x00JF ESC \v 11 \x18\x030 58920-D5180',], |
|
|
|
|
(Ecu.engine, 0x7e0, None): [ |
|
|
|
|
b'\x01TJFAJNU06F201H03', |
|
|
|
|
b'\xf1\x89F1JF600AISEIU702\xf1\x82F1JF600AISEIU702', |
|
|
|
|
b'0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', |
|
|
|
|
], |
|
|
|
|
(Ecu.eps, 0x7d4, None): [b'\xf1\x00TM MDPS C 1.00 1.00 56340-S2000 8409'], |
|
|
|
|
(Ecu.fwdCamera, 0x7c4, None): [ |
|
|
|
|
b'\xf1\x00JFA LKAS AT USA LHD 1.00 1.00 95895-D5001 h32', |
|
|
|
|
b'\xf1\x00JFA LKAS AT USA LHD 1.00 1.02 95895-D5000 h31', |
|
|
|
|
], |
|
|
|
|
(Ecu.transmission, 0x7e1, None): [ |
|
|
|
|
b'\xf1\x816U2V8051\x00\x00\xf1\x006U2V0_C2\x00\x006U2V8051\x00\x00DJF0T16NL0\t\xd2GW', |
|
|
|
|
b'\xf1\x816U2VA051\x00\x00\xf1\x006U2V0_C2\x00\x006U2VA051\x00\x00DJF0T16NL1\x00\x00\x00\x00', |
|
|
|
|
], |
|
|
|
|
(Ecu.transmission, 0x7e1, None): [b'\xf1\x816U2V8051\x00\x00\xf1\x006U2V0_C2\x00\x006U2V8051\x00\x00DJF0T16NL0\t\xd2GW'], |
|
|
|
|
}, |
|
|
|
|
CAR.KIA_OPTIMA_2019: { |
|
|
|
|
(Ecu.esp, 0x7d1, None): [b'\xf1\x00JF ESC \x0b 11 \x18\x030 58920-D5180',], |
|
|
|
|
(Ecu.engine, 0x7e0, None): [b'0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',], # FIXME: engine does not look quite right |
|
|
|
|
(Ecu.eps, 0x7d4, None): [b'\xf1\x00TM MDPS C 1.00 1.00 56340-S2000 8409',], |
|
|
|
|
(Ecu.fwdCamera, 0x7c4, None): [b'\xf1\x00JFA LKAS AT USA LHD 1.00 1.00 95895-D5001 h32',], |
|
|
|
|
(Ecu.transmission, 0x7e1, None): [b'\xf1\x816U2VA051\x00\x00\xf1\x006U2V0_C2\x00\x006U2VA051\x00\x00DJF0T16NL1\x00\x00\x00\x00',], |
|
|
|
|
}, |
|
|
|
|
CAR.ELANTRA_2021: { |
|
|
|
|
(Ecu.fwdRadar, 0x7d0, None): [ |
|
|
|
@ -1212,7 +1211,7 @@ CHECKSUM = { |
|
|
|
|
FEATURES = { |
|
|
|
|
# which message has the gear |
|
|
|
|
"use_cluster_gears": {CAR.ELANTRA, CAR.ELANTRA_GT_I30, CAR.KONA}, |
|
|
|
|
"use_tcu_gears": {CAR.KIA_OPTIMA, CAR.SONATA_LF, CAR.VELOSTER, CAR.TUCSON}, |
|
|
|
|
"use_tcu_gears": {CAR.KIA_OPTIMA, CAR.KIA_OPTIMA_2019, CAR.SONATA_LF, CAR.VELOSTER, CAR.TUCSON}, |
|
|
|
|
"use_elect_gears": {CAR.KIA_NIRO_EV, CAR.KIA_NIRO_HEV, CAR.KIA_NIRO_HEV_2021, CAR.KIA_OPTIMA_H, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.IONIQ, CAR.IONIQ_EV_2020, CAR.IONIQ_PHEV, CAR.ELANTRA_HEV_2021, CAR.SONATA_HYBRID, CAR.KONA_HEV, CAR.IONIQ_HEV_2022, CAR.SANTA_FE_HEV_2022, CAR.SANTA_FE_PHEV_2022, CAR.IONIQ_PHEV_2019}, |
|
|
|
|
|
|
|
|
|
# these cars use the FCA11 message for the AEB and FCW signals, all others use SCC12 |
|
|
|
@ -1225,7 +1224,7 @@ HYBRID_CAR = {CAR.IONIQ_PHEV, CAR.ELANTRA_HEV_2021, CAR.KIA_NIRO_HEV, CAR.KIA_NI |
|
|
|
|
EV_CAR = {CAR.IONIQ_EV_2020, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.KIA_NIRO_EV} |
|
|
|
|
|
|
|
|
|
# these cars require a special panda safety mode due to missing counters and checksums in the messages |
|
|
|
|
LEGACY_SAFETY_MODE_CAR = {CAR.HYUNDAI_GENESIS, CAR.IONIQ_EV_2020, CAR.IONIQ_EV_LTD, CAR.IONIQ_PHEV, CAR.IONIQ, CAR.KONA_EV, CAR.KIA_SORENTO, CAR.SONATA_LF, CAR.KIA_OPTIMA, CAR.VELOSTER, CAR.KIA_STINGER, CAR.GENESIS_G70, CAR.GENESIS_G80, CAR.KIA_CEED, CAR.ELANTRA, CAR.IONIQ_HEV_2022} |
|
|
|
|
LEGACY_SAFETY_MODE_CAR = {CAR.HYUNDAI_GENESIS, CAR.IONIQ_EV_2020, CAR.IONIQ_EV_LTD, CAR.IONIQ_PHEV, CAR.IONIQ, CAR.KONA_EV, CAR.KIA_SORENTO, CAR.SONATA_LF, CAR.KIA_OPTIMA, CAR.KIA_OPTIMA_2019, CAR.VELOSTER, CAR.KIA_STINGER, CAR.GENESIS_G70, CAR.GENESIS_G80, CAR.KIA_CEED, CAR.ELANTRA, CAR.IONIQ_HEV_2022} |
|
|
|
|
|
|
|
|
|
# If 0x500 is present on bus 1 it probably has a Mando radar outputting radar points. |
|
|
|
|
# If no points are outputted by default it might be possible to turn it on using selfdrive/debug/hyundai_enable_radar_points.py |
|
|
|
@ -1251,6 +1250,7 @@ DBC = { |
|
|
|
|
CAR.KIA_NIRO_HEV: dbc_dict('hyundai_kia_generic', 'hyundai_kia_mando_front_radar'), |
|
|
|
|
CAR.KIA_NIRO_HEV_2021: dbc_dict('hyundai_kia_generic', None), |
|
|
|
|
CAR.KIA_OPTIMA: dbc_dict('hyundai_kia_generic', None), |
|
|
|
|
CAR.KIA_OPTIMA_2019: dbc_dict('hyundai_kia_generic', None), |
|
|
|
|
CAR.KIA_OPTIMA_H: dbc_dict('hyundai_kia_generic', None), |
|
|
|
|
CAR.KIA_SELTOS: dbc_dict('hyundai_kia_generic', None), |
|
|
|
|
CAR.KIA_SORENTO: dbc_dict('hyundai_kia_generic', None), # Has 0x5XX messages, but different format |
|
|
|
|