From eb9f35946de0cad03eb7de99a8c837f60fb5d52c Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Wed, 12 Jan 2022 10:41:07 -0700 Subject: [PATCH] Toyota: Support Avalon 2022 (TSS2.5) (#23381) * Add AVALON_TSS2 * Is TSS2 now! * Add Avalon to CARS.md * add to test_routes add to test_routes --- docs/CARS.md | 1 + selfdrive/car/toyota/interface.py | 2 +- selfdrive/car/toyota/values.py | 21 ++++++++++++++++++++- selfdrive/test/test_routes.py | 1 + 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/docs/CARS.md b/docs/CARS.md index 049b1f3c8..a6767208d 100644 --- a/docs/CARS.md +++ b/docs/CARS.md @@ -45,6 +45,7 @@ | Lexus | UX Hybrid 2019-21 | All | openpilot | 0mph | 0mph | | Toyota | Alphard 2020 | All | openpilot | 0mph | 0mph | | Toyota | Avalon 2016-21 | TSS-P | Stock3| 20mph1 | 0mph | +| Toyota | Avalon 2022 | All | openpilot | 0mph | 0mph | | Toyota | Avalon Hybrid 2019-21 | TSS-P | Stock3| 20mph1 | 0mph | | Toyota | Camry 2018-20 | All | Stock | 0mph4 | 0mph | | Toyota | Camry 2021-22 | All | openpilot | 0mph4 | 0mph | diff --git a/selfdrive/car/toyota/interface.py b/selfdrive/car/toyota/interface.py index 22080985d..c95aca0b2 100755 --- a/selfdrive/car/toyota/interface.py +++ b/selfdrive/car/toyota/interface.py @@ -98,7 +98,7 @@ class CarInterface(CarInterfaceBase): ret.mass = 4607. * CV.LB_TO_KG + STD_CARGO_KG # mean between normal and hybrid limited set_lat_tune(ret.lateralTuning, LatTunes.PID_G) - elif candidate in (CAR.AVALON, CAR.AVALON_2019, CAR.AVALONH_2019): + elif candidate in (CAR.AVALON, CAR.AVALON_2019, CAR.AVALONH_2019, CAR.AVALON_TSS2): stop_and_go = False ret.wheelbase = 2.82 ret.steerRatio = 14.8 # Found at https://pressroom.toyota.com/releases/2016+avalon+product+specs.download diff --git a/selfdrive/car/toyota/values.py b/selfdrive/car/toyota/values.py index c8f48c976..2536c02b5 100644 --- a/selfdrive/car/toyota/values.py +++ b/selfdrive/car/toyota/values.py @@ -24,6 +24,7 @@ class CAR: AVALON = "TOYOTA AVALON 2016" AVALON_2019 = "TOYOTA AVALON 2019" AVALONH_2019 = "TOYOTA AVALON HYBRID 2019" + AVALON_TSS2 = "TOYOTA AVALON 2022" CAMRY = "TOYOTA CAMRY 2018" CAMRYH = "TOYOTA CAMRY HYBRID 2018" CAMRY_TSS2 = "TOYOTA CAMRY 2021" # TSS 2.5 @@ -166,6 +167,23 @@ FW_VERSIONS = { b'8646F0702100\x00\x00\x00\x00', ], }, + CAR.AVALON_TSS2: { + (Ecu.esp, 0x7b0, None): [ + b'\x01F152607280\x00\x00\x00\x00\x00\x00', + ], + (Ecu.eps, 0x7a1, None): [ + b'8965B41110\x00\x00\x00\x00\x00\x00', + ], + (Ecu.engine, 0x700, None): [ + b'\x01896630742000\x00\x00\x00\x00', + ], + (Ecu.fwdRadar, 0x750, 0xf): [ + b'\x018821F6201200\x00\x00\x00\x00', + ], + (Ecu.fwdCamera, 0x750, 0x6d): [ + b'\x028646F4104100\x00\x00\x00\x008646G5301200\x00\x00\x00\x00', + ], + }, CAR.CAMRY: { (Ecu.engine, 0x700, None): [ b'\x018966306L3100\x00\x00\x00\x00', @@ -1623,6 +1641,7 @@ DBC = { CAR.AVALON: dbc_dict('toyota_avalon_2017_pt_generated', 'toyota_adas'), CAR.AVALON_2019: dbc_dict('toyota_nodsu_pt_generated', 'toyota_adas'), CAR.AVALONH_2019: dbc_dict('toyota_nodsu_hybrid_pt_generated', 'toyota_adas'), + CAR.AVALON_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.COROLLAH_TSS2: dbc_dict('toyota_nodsu_hybrid_pt_generated', 'toyota_tss2_adas'), @@ -1645,7 +1664,7 @@ DBC = { # Toyota/Lexus Safety Sense 2.0 and 2.5 TSS2_CAR = {CAR.RAV4_TSS2, CAR.COROLLA_TSS2, CAR.COROLLAH_TSS2, CAR.LEXUS_ES_TSS2, CAR.LEXUS_ESH_TSS2, CAR.RAV4H_TSS2, CAR.LEXUS_RX_TSS2, CAR.LEXUS_RXH_TSS2, CAR.HIGHLANDER_TSS2, CAR.HIGHLANDERH_TSS2, CAR.PRIUS_TSS2, CAR.CAMRY_TSS2, CAR.CAMRYH_TSS2, - CAR.MIRAI, CAR.LEXUS_NX_TSS2, CAR.ALPHARD_TSS2} + CAR.MIRAI, CAR.LEXUS_NX_TSS2, CAR.ALPHARD_TSS2, CAR.AVALON_TSS2} NO_DSU_CAR = TSS2_CAR | {CAR.CHR, CAR.CHRH, CAR.CAMRY, CAR.CAMRYH} diff --git a/selfdrive/test/test_routes.py b/selfdrive/test/test_routes.py index f064b89f5..053d2d4bf 100755 --- a/selfdrive/test/test_routes.py +++ b/selfdrive/test/test_routes.py @@ -107,6 +107,7 @@ routes = [ TestRoute("000cf3730200c71c|2021-05-24--10-42-05", TOYOTA.AVALON), TestRoute("0bb588106852abb7|2021-05-26--12-22-01", TOYOTA.AVALON_2019), TestRoute("87bef2930af86592|2021-05-30--09-40-54", TOYOTA.AVALONH_2019), + TestRoute("e9966711cfb04ce3|2022-01-11--07-59-43", TOYOTA.AVALON_TSS2), TestRoute("6cdecc4728d4af37|2020-02-23--15-44-18", TOYOTA.CAMRY), TestRoute("3456ad0cd7281b24|2020-12-13--17-45-56", TOYOTA.CAMRY_TSS2), TestRoute("ffccc77938ddbc44|2021-01-04--16-55-41", TOYOTA.CAMRYH_TSS2),