|
|
|
@ -85,8 +85,8 @@ class CAR: |
|
|
|
|
KIA_NIRO_EV = "KIA NIRO EV 2020" |
|
|
|
|
KIA_NIRO_PHEV = "KIA NIRO HYBRID 2019" |
|
|
|
|
KIA_NIRO_HEV_2021 = "KIA NIRO HYBRID 2021" |
|
|
|
|
KIA_OPTIMA = "KIA OPTIMA 2016" |
|
|
|
|
KIA_OPTIMA_2019 = "KIA OPTIMA 2019" |
|
|
|
|
KIA_OPTIMA_G4 = "KIA OPTIMA 4TH GEN" |
|
|
|
|
KIA_OPTIMA_G4_FL = "KIA OPTIMA 4TH GEN FACELIFT" |
|
|
|
|
KIA_OPTIMA_H = "KIA OPTIMA HYBRID 2017 & SPORTS 2019" |
|
|
|
|
KIA_SELTOS = "KIA SELTOS 2021" |
|
|
|
|
KIA_SORENTO = "KIA SORENTO GT LINE 2018" |
|
|
|
@ -155,8 +155,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", "Advanced Smart Cruise Control", harness=Harness.hyundai_b), # TODO: may support 2016, 2018 |
|
|
|
|
CAR.KIA_OPTIMA_2019: HyundaiCarInfo("Kia Optima 2019-20", harness=Harness.hyundai_g), |
|
|
|
|
CAR.KIA_OPTIMA_G4: HyundaiCarInfo("Kia Optima 2017", "Advanced Smart Cruise Control", harness=Harness.hyundai_b), # TODO: may support 2016, 2018 |
|
|
|
|
CAR.KIA_OPTIMA_G4_FL: HyundaiCarInfo("Kia Optima 2019-20", harness=Harness.hyundai_g), |
|
|
|
|
CAR.KIA_OPTIMA_H: [ |
|
|
|
|
HyundaiCarInfo("Kia Optima Hybrid 2017", "Advanced Smart Cruise Control"), # TODO: may support adjacent years |
|
|
|
|
HyundaiCarInfo("Kia Optima Hybrid 2019"), |
|
|
|
@ -1136,7 +1136,7 @@ FW_VERSIONS = { |
|
|
|
|
b'\xf1\x87954A22D200\xf1\x81T01950A1 \xf1\000T0190XBL T01950A1 DSP2T16X4X950NS8\r\xfe\x9c\x8b', |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
CAR.KIA_OPTIMA: { |
|
|
|
|
CAR.KIA_OPTIMA_G4: { |
|
|
|
|
(Ecu.fwdRadar, 0x7d0, None): [ |
|
|
|
|
b'\xf1\x00JF__ SCC F-CUP 1.00 1.00 96400-D4100 ', |
|
|
|
|
], |
|
|
|
@ -1150,7 +1150,7 @@ FW_VERSIONS = { |
|
|
|
|
b'\xf1\x87\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf1\x816T6J0051\x00\x00\xf1\x006T6J0_C2\x00\x006T6J0051\x00\x00TJF0T20NSB\x00\x00\x00\x00', |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
CAR.KIA_OPTIMA_2019: { |
|
|
|
|
CAR.KIA_OPTIMA_G4_FL: { |
|
|
|
|
(Ecu.fwdRadar, 0x7d0, None): [ |
|
|
|
|
b'\xf1\x00JF__ SCC F-CUP 1.00 1.00 96400-D4110 ', |
|
|
|
|
], |
|
|
|
@ -1367,7 +1367,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.KIA_OPTIMA_2019, CAR.SONATA_LF, CAR.VELOSTER, CAR.TUCSON}, |
|
|
|
|
"use_tcu_gears": {CAR.KIA_OPTIMA_G4, CAR.KIA_OPTIMA_G4_FL, CAR.SONATA_LF, CAR.VELOSTER, CAR.TUCSON}, |
|
|
|
|
"use_elect_gears": {CAR.KIA_NIRO_EV, CAR.KIA_NIRO_PHEV, 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, CAR.KONA_EV_2022}, |
|
|
|
|
|
|
|
|
|
# these cars use the FCA11 message for the AEB and FCW signals, all others use SCC12 |
|
|
|
@ -1383,7 +1383,7 @@ HYBRID_CAR = {CAR.IONIQ_PHEV, CAR.ELANTRA_HEV_2021, CAR.KIA_NIRO_PHEV, CAR.KIA_N |
|
|
|
|
EV_CAR = {CAR.IONIQ_EV_2020, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.KIA_NIRO_EV, CAR.KONA_EV_2022} |
|
|
|
|
|
|
|
|
|
# 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.KIA_OPTIMA_2019, 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_G4, CAR.KIA_OPTIMA_G4_FL, 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 |
|
|
|
@ -1408,8 +1408,8 @@ DBC = { |
|
|
|
|
CAR.KIA_NIRO_EV: dbc_dict('hyundai_kia_generic', 'hyundai_kia_mando_front_radar_generated'), |
|
|
|
|
CAR.KIA_NIRO_PHEV: dbc_dict('hyundai_kia_generic', 'hyundai_kia_mando_front_radar_generated'), |
|
|
|
|
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_G4: dbc_dict('hyundai_kia_generic', None), |
|
|
|
|
CAR.KIA_OPTIMA_G4_FL: 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 |
|
|
|
|