Split Avalon 2016-18 and Avalon 2019+ (#21058)

* start to separate Avalon 2019+

* reverts #20824 (2020)...

and removes fw from a 2020 avalon

* revert 2020 fw from #20241

* revert 2021 fw from #19790

* bump opendbc, add smartDsu

* Add only removed fw from listed PRs above and from jryan's 2020

* bump opendbc to master

* comment out any non-original avalon fw

* new fw

* these 2016 (5 byte EPS_STATUS msg) Avalon fws are correct. comment out any 2019+ fw I haven't seen yet

* Add to release files

* these are good too

* nothing on 7e0 yet

* both have their engines on one address

* validated remaining fws! some from adeeb's, chris's, and kumar's PRs

* Add test route for Avalon 2019

* horrible

* Duplicate

* use nodsu dbc. Only difference is the addition of some signals that don't work, and max of BRAKE_PRESSURE is different

* Enablem 2019 Avalon test route
pull/21082/head^2
ShaneSmiskol 4 years ago committed by GitHub
parent b12637d782
commit 07e4129edc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      selfdrive/car/fw_versions.py
  2. 2
      selfdrive/car/toyota/interface.py
  3. 40
      selfdrive/car/toyota/values.py
  4. 1
      selfdrive/test/test_routes.py

@ -221,7 +221,7 @@ def match_fw_to_car_exact(fw_versions_dict):
continue continue
# On some Toyota models, the engine can show on two different addresses # On some Toyota models, the engine can show on two different addresses
if ecu_type == Ecu.engine and candidate in [TOYOTA.CAMRY, TOYOTA.COROLLA_TSS2, TOYOTA.CHR, TOYOTA.LEXUS_IS, TOYOTA.AVALON] and found_version is None: if ecu_type == Ecu.engine and candidate in [TOYOTA.CAMRY, TOYOTA.COROLLA_TSS2, TOYOTA.CHR, TOYOTA.LEXUS_IS] and found_version is None:
continue continue
# Ignore non essential ecus # Ignore non essential ecus

@ -176,7 +176,7 @@ class CarInterface(CarInterfaceBase):
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.18], [0.015]] # community tuning ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.18], [0.015]] # community tuning
ret.lateralTuning.pid.kf = 0.00012 # community tuning ret.lateralTuning.pid.kf = 0.00012 # community tuning
elif candidate == CAR.AVALON: elif candidate in [CAR.AVALON, CAR.AVALON_2019]:
stop_and_go = False stop_and_go = False
ret.safetyParam = 73 ret.safetyParam = 73
ret.wheelbase = 2.82 ret.wheelbase = 2.82

@ -36,6 +36,7 @@ class CAR:
HIGHLANDERH = "TOYOTA HIGHLANDER HYBRID 2018" HIGHLANDERH = "TOYOTA HIGHLANDER HYBRID 2018"
HIGHLANDERH_TSS2 = "TOYOTA HIGHLANDER HYBRID 2020" HIGHLANDERH_TSS2 = "TOYOTA HIGHLANDER HYBRID 2020"
AVALON = "TOYOTA AVALON 2016" AVALON = "TOYOTA AVALON 2016"
AVALON_2019 = "TOYOTA AVALON 2019"
RAV4_TSS2 = "TOYOTA RAV4 2019" RAV4_TSS2 = "TOYOTA RAV4 2019"
COROLLA_TSS2 = "TOYOTA COROLLA TSS2 2019" COROLLA_TSS2 = "TOYOTA COROLLA TSS2 2019"
COROLLAH_TSS2 = "TOYOTA COROLLA HYBRID TSS2 2019" COROLLAH_TSS2 = "TOYOTA COROLLA HYBRID TSS2 2019"
@ -265,39 +266,53 @@ FW_VERSIONS = {
CAR.AVALON: { CAR.AVALON: {
(Ecu.esp, 0x7b0, None): [ (Ecu.esp, 0x7b0, None): [
b'F152607060\x00\x00\x00\x00\x00\x00', b'F152607060\x00\x00\x00\x00\x00\x00',
b'F152607110\x00\x00\x00\x00\x00\x00',
b'F152607140\x00\x00\x00\x00\x00\x00',
b'F152607171\x00\x00\x00\x00\x00\x00',
b'F152607180\x00\x00\x00\x00\x00\x00',
], ],
(Ecu.dsu, 0x791, None): [ (Ecu.dsu, 0x791, None): [
b'881510701300\x00\x00\x00\x00', b'881510701300\x00\x00\x00\x00',
b'881510703200\x00\x00\x00\x00',
b'881510705100\x00\x00\x00\x00', b'881510705100\x00\x00\x00\x00',
b'881510705200\x00\x00\x00\x00', b'881510705200\x00\x00\x00\x00',
], ],
(Ecu.eps, 0x7a1, None): [ (Ecu.eps, 0x7a1, None): [
b'8965B41051\x00\x00\x00\x00\x00\x00', b'8965B41051\x00\x00\x00\x00\x00\x00',
b'8965B41080\x00\x00\x00\x00\x00\x00',
b'8965B41090\x00\x00\x00\x00\x00\x00',
], ],
(Ecu.engine, 0x7e0, None): [ (Ecu.engine, 0x7e0, None): [
b'\x0230721100\x00\x00\x00\x00\x00\x00\x00\x00A0C01000\x00\x00\x00\x00\x00\x00\x00\x00', b'\x0230721100\x00\x00\x00\x00\x00\x00\x00\x00A0C01000\x00\x00\x00\x00\x00\x00\x00\x00',
b'\x0230721200\x00\x00\x00\x00\x00\x00\x00\x00A0C01000\x00\x00\x00\x00\x00\x00\x00\x00', b'\x0230721200\x00\x00\x00\x00\x00\x00\x00\x00A0C01000\x00\x00\x00\x00\x00\x00\x00\x00',
], ],
(Ecu.fwdRadar, 0x750, 0xf): [
b'8821F4702000\x00\x00\x00\x00',
b'8821F4702100\x00\x00\x00\x00',
],
(Ecu.fwdCamera, 0x750, 0x6d): [
b'8646F0701100\x00\x00\x00\x00',
b'8646F0703000\x00\x00\x00\x00',
],
},
CAR.AVALON_2019: {
(Ecu.esp, 0x7b0, None): [
b'F152607140\x00\x00\x00\x00\x00\x00',
b'F152607171\x00\x00\x00\x00\x00\x00',
b'F152607110\x00\x00\x00\x00\x00\x00',
b'F152607180\x00\x00\x00\x00\x00\x00',
],
(Ecu.dsu, 0x791, None): [
b'881510703200\x00\x00\x00\x00',
],
(Ecu.eps, 0x7a1, None): [
b'8965B41080\x00\x00\x00\x00\x00\x00',
b'8965B07010\x00\x00\x00\x00\x00\x00',
b'8965B41090\x00\x00\x00\x00\x00\x00',
],
(Ecu.engine, 0x700, None): [ (Ecu.engine, 0x700, None): [
b'\x01896630735100\x00\x00\x00\x00', b'\x01896630735100\x00\x00\x00\x00',
b'\x01896630725300\x00\x00\x00\x00',
b'\x01896630738000\x00\x00\x00\x00', b'\x01896630738000\x00\x00\x00\x00',
], ],
(Ecu.fwdRadar, 0x750, 0xf): [ (Ecu.fwdRadar, 0x750, 0xf): [
b'8821F4702000\x00\x00\x00\x00',
b'8821F4702100\x00\x00\x00\x00',
b'8821F4702300\x00\x00\x00\x00', b'8821F4702300\x00\x00\x00\x00',
], ],
(Ecu.fwdCamera, 0x750, 0x6d): [ (Ecu.fwdCamera, 0x750, 0x6d): [
b'8646F0701100\x00\x00\x00\x00',
b'8646F0702100\x00\x00\x00\x00', b'8646F0702100\x00\x00\x00\x00',
b'8646F0703000\x00\x00\x00\x00',
], ],
}, },
CAR.CAMRY: { CAR.CAMRY: {
@ -810,7 +825,7 @@ FW_VERSIONS = {
}, },
CAR.HIGHLANDERH: { CAR.HIGHLANDERH: {
(Ecu.eps, 0x7a1, None): [ (Ecu.eps, 0x7a1, None): [
b'8965B48160\x00\x00\x00\x00\x00\x00' b'8965B48160\x00\x00\x00\x00\x00\x00',
], ],
(Ecu.esp, 0x7b0, None): [ (Ecu.esp, 0x7b0, None): [
b'F152648541\x00\x00\x00\x00\x00\x00', b'F152648541\x00\x00\x00\x00\x00\x00',
@ -1639,6 +1654,7 @@ DBC = {
CAR.HIGHLANDERH: dbc_dict('toyota_highlander_hybrid_2018_pt_generated', 'toyota_adas'), CAR.HIGHLANDERH: dbc_dict('toyota_highlander_hybrid_2018_pt_generated', 'toyota_adas'),
CAR.HIGHLANDERH_TSS2: dbc_dict('toyota_nodsu_hybrid_pt_generated', 'toyota_tss2_adas'), CAR.HIGHLANDERH_TSS2: dbc_dict('toyota_nodsu_hybrid_pt_generated', 'toyota_tss2_adas'),
CAR.AVALON: dbc_dict('toyota_avalon_2017_pt_generated', 'toyota_adas'), CAR.AVALON: dbc_dict('toyota_avalon_2017_pt_generated', 'toyota_adas'),
CAR.AVALON_2019: dbc_dict('toyota_nodsu_pt_generated', 'toyota_adas'),
CAR.RAV4_TSS2: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'), CAR.RAV4_TSS2: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'),
CAR.COROLLA_TSS2: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'), CAR.COROLLA_TSS2: dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas'),
CAR.COROLLAH_TSS2: dbc_dict('toyota_nodsu_hybrid_pt_generated', 'toyota_tss2_adas'), CAR.COROLLAH_TSS2: dbc_dict('toyota_nodsu_hybrid_pt_generated', 'toyota_tss2_adas'),

@ -86,6 +86,7 @@ routes = [
TestRoute("82e9cdd3f43bf83e|2021-05-15--02-42-51", HYUNDAI.ELANTRA_2021), TestRoute("82e9cdd3f43bf83e|2021-05-15--02-42-51", HYUNDAI.ELANTRA_2021),
TestRoute("000cf3730200c71c|2021-05-24--10-42-05", TOYOTA.AVALON), TestRoute("000cf3730200c71c|2021-05-24--10-42-05", TOYOTA.AVALON),
TestRoute("0bb588106852abb7|2021-05-26--12-22-01", TOYOTA.AVALON_2019),
TestRoute("6cdecc4728d4af37|2020-02-23--15-44-18", TOYOTA.CAMRY), TestRoute("6cdecc4728d4af37|2020-02-23--15-44-18", TOYOTA.CAMRY),
TestRoute("3456ad0cd7281b24|2020-12-13--17-45-56", TOYOTA.CAMRY_TSS2), TestRoute("3456ad0cd7281b24|2020-12-13--17-45-56", TOYOTA.CAMRY_TSS2),
TestRoute("ffccc77938ddbc44|2021-01-04--16-55-41", TOYOTA.CAMRYH_TSS2), TestRoute("ffccc77938ddbc44|2021-01-04--16-55-41", TOYOTA.CAMRYH_TSS2),

Loading…
Cancel
Save