From cbd46802b05b8883d6fa3f64fa069a5d5aaabd17 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Mon, 5 Feb 2024 23:00:45 -0800 Subject: [PATCH 01/13] fix bootlog count (#31319) --- selfdrive/manager/helpers.py | 2 +- system/loggerd/logger.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/selfdrive/manager/helpers.py b/selfdrive/manager/helpers.py index 1b6f8df1ef..797f4ee92e 100644 --- a/selfdrive/manager/helpers.py +++ b/selfdrive/manager/helpers.py @@ -56,7 +56,7 @@ def save_bootlog(): def fn(tmpdir): env = os.environ.copy() - env['PARAMS_ROOT'] = tmpdir + env['PARAMS_COPY_PATH'] = tmpdir subprocess.call("./bootlog", cwd=os.path.join(BASEDIR, "system/loggerd"), env=env) shutil.rmtree(tmpdir) t = threading.Thread(target=fn, args=(tmp, )) diff --git a/system/loggerd/logger.cc b/system/loggerd/logger.cc index bb829df6ed..2fc6492ad4 100644 --- a/system/loggerd/logger.cc +++ b/system/loggerd/logger.cc @@ -40,7 +40,7 @@ kj::Array logger_build_init_data() { init.setOsVersion(util::read_file("/VERSION")); // log params - auto params = Params(); + auto params = Params(util::getenv("PARAMS_COPY_PATH", "")); std::map params_map = params.readAll(); init.setGitCommit(params_map["GitCommit"]); From dd6065c33b66e04b0ba79d78f967349a5cec6a67 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Tue, 6 Feb 2024 01:57:46 -0600 Subject: [PATCH 02/13] Reapply "Ford: don't fingerprint on engine (#31195)" part 2 (#31320) * Reapply "Ford: don't fingerprint on engine (#31195) part 2" This reverts commit 7694712cd6823a99c3f1c03270bb7167e4c1bdf9. * add comment Co-authored-by: Cameron Clough --------- Co-authored-by: Cameron Clough --- selfdrive/car/ford/values.py | 8 +------- selfdrive/car/tests/test_fw_fingerprint.py | 6 +++--- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/selfdrive/car/ford/values.py b/selfdrive/car/ford/values.py index 0faf901fc2..c080e02299 100644 --- a/selfdrive/car/ford/values.py +++ b/selfdrive/car/ford/values.py @@ -111,21 +111,15 @@ FW_QUERY_CONFIG = FwQueryConfig( requests=[ # CAN and CAN FD queries are combined. # FIXME: For CAN FD, ECUs respond with frames larger than 8 bytes on the powertrain bus - # TODO: properly handle auxiliary requests to separate queries and add back whitelists Request( [StdQueries.TESTER_PRESENT_REQUEST, StdQueries.MANUFACTURER_SOFTWARE_VERSION_REQUEST], [StdQueries.TESTER_PRESENT_RESPONSE, StdQueries.MANUFACTURER_SOFTWARE_VERSION_RESPONSE], - # whitelist_ecus=[Ecu.engine], - ), - Request( - [StdQueries.TESTER_PRESENT_REQUEST, StdQueries.MANUFACTURER_SOFTWARE_VERSION_REQUEST], - [StdQueries.TESTER_PRESENT_RESPONSE, StdQueries.MANUFACTURER_SOFTWARE_VERSION_RESPONSE], - # whitelist_ecus=[Ecu.eps, Ecu.abs, Ecu.fwdRadar, Ecu.fwdCamera, Ecu.shiftByWire], bus=0, auxiliary=True, ), ], extra_ecus=[ + # We are unlikely to get a response from the PCM from behind the gateway (Ecu.engine, 0x7e0, None), (Ecu.shiftByWire, 0x732, None), ], diff --git a/selfdrive/car/tests/test_fw_fingerprint.py b/selfdrive/car/tests/test_fw_fingerprint.py index 9f6a847568..064f2e5651 100755 --- a/selfdrive/car/tests/test_fw_fingerprint.py +++ b/selfdrive/car/tests/test_fw_fingerprint.py @@ -254,13 +254,13 @@ class TestFwFingerprintTiming(unittest.TestCase): @pytest.mark.timeout(60) def test_fw_query_timing(self): - total_ref_time = 7.0 + total_ref_time = 6.8 brand_ref_times = { 1: { 'gm': 0.5, 'body': 0.1, 'chrysler': 0.3, - 'ford': 0.2, + 'ford': 0.1, 'honda': 0.55, 'hyundai': 0.65, 'mazda': 0.1, @@ -271,7 +271,7 @@ class TestFwFingerprintTiming(unittest.TestCase): 'volkswagen': 0.2, }, 2: { - 'ford': 0.3, + 'ford': 0.2, 'hyundai': 1.05, } } From ee16eefc1a1d865b2e3cdb7b887da9e8b8765cd3 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Tue, 6 Feb 2024 02:05:08 -0600 Subject: [PATCH 03/13] Ford: Add missing FW for Escape 2022 (#31321) Add missing FW for a25d5d0b645d8bc3 --- selfdrive/car/ford/fingerprints.py | 1 + 1 file changed, 1 insertion(+) diff --git a/selfdrive/car/ford/fingerprints.py b/selfdrive/car/ford/fingerprints.py index 0085b6b9c6..a5d465849a 100644 --- a/selfdrive/car/ford/fingerprints.py +++ b/selfdrive/car/ford/fingerprints.py @@ -24,6 +24,7 @@ FW_VERSIONS = { (Ecu.eps, 0x730, None): [ b'LX6C-14D003-AF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', b'LX6C-14D003-AH\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', + b'LX6C-14D003-AK\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', b'LX6C-14D003-AL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', ], (Ecu.abs, 0x760, None): [ From e6bace867ee6b472bb0f399dd860908135ba0d2d Mon Sep 17 00:00:00 2001 From: Jason Young <46612682+jyoung8607@users.noreply.github.com> Date: Tue, 6 Feb 2024 03:42:28 -0500 Subject: [PATCH 04/13] VW MQB: Add FW for 2024 Volkswagen Jetta (#30979) * VW MQB: Add FW for 2024 Volkswagen Jetta * update docs * fix sorting --- docs/CARS.md | 4 ++-- selfdrive/car/volkswagen/fingerprints.py | 5 +++++ selfdrive/car/volkswagen/values.py | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/CARS.md b/docs/CARS.md index 5620bc703c..e31095687e 100644 --- a/docs/CARS.md +++ b/docs/CARS.md @@ -267,8 +267,8 @@ A supported vehicle is one that just works when you install a comma device. All |Volkswagen|Golf R 2015-19|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 J533 connector
- 1 USB-C coupler
- 1 comma 3X
- 1 harness box
- 1 long OBD-C cable
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| |Volkswagen|Golf SportsVan 2015-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 J533 connector
- 1 USB-C coupler
- 1 comma 3X
- 1 harness box
- 1 long OBD-C cable
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| |Volkswagen|Grand California 2019-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13](#footnotes)|0 mph|31 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 J533 connector
- 1 USB-C coupler
- 1 angled mount (8 degrees)
- 1 comma 3X
- 1 harness box
- 1 long OBD-C cable
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| -|Volkswagen|Jetta 2018-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 J533 connector
- 1 USB-C coupler
- 1 comma 3X
- 1 harness box
- 1 long OBD-C cable
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| -|Volkswagen|Jetta GLI 2021-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 J533 connector
- 1 USB-C coupler
- 1 comma 3X
- 1 harness box
- 1 long OBD-C cable
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| +|Volkswagen|Jetta 2018-24|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 J533 connector
- 1 USB-C coupler
- 1 comma 3X
- 1 harness box
- 1 long OBD-C cable
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| +|Volkswagen|Jetta GLI 2021-24|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 J533 connector
- 1 USB-C coupler
- 1 comma 3X
- 1 harness box
- 1 long OBD-C cable
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| |Volkswagen|Passat 2015-22[11](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 J533 connector
- 1 USB-C coupler
- 1 comma 3X
- 1 harness box
- 1 long OBD-C cable
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| |Volkswagen|Passat Alltrack 2015-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 J533 connector
- 1 USB-C coupler
- 1 comma 3X
- 1 harness box
- 1 long OBD-C cable
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| |Volkswagen|Passat GTE 2015-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 J533 connector
- 1 USB-C coupler
- 1 comma 3X
- 1 harness box
- 1 long OBD-C cable
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| diff --git a/selfdrive/car/volkswagen/fingerprints.py b/selfdrive/car/volkswagen/fingerprints.py index dcdb2e62bf..dd184c85f3 100644 --- a/selfdrive/car/volkswagen/fingerprints.py +++ b/selfdrive/car/volkswagen/fingerprints.py @@ -320,6 +320,7 @@ FW_VERSIONS = { b'\xf1\x8704E906024L \xf1\x895595', b'\xf1\x8704E906024L \xf1\x899970', b'\xf1\x8704E906027MS\xf1\x896223', + b'\xf1\x8705E906013DB\xf1\x893361', b'\xf1\x875G0906259T \xf1\x890003', ], (Ecu.transmission, 0x7e1, None): [ @@ -327,6 +328,7 @@ FW_VERSIONS = { b'\xf1\x8709S927158BS\xf1\x893642', b'\xf1\x8709S927158BS\xf1\x893694', b'\xf1\x8709S927158CK\xf1\x893770', + b'\xf1\x8709S927158JC\xf1\x894113', b'\xf1\x8709S927158R \xf1\x893552', b'\xf1\x8709S927158R \xf1\x893587', b'\xf1\x870GC300020N \xf1\x892803', @@ -340,6 +342,7 @@ FW_VERSIONS = { b'\xf1\x875Q0959655BR\xf1\x890403\xf1\x82\x1319170031313300314240011550159333463100', b'\xf1\x875Q0959655CB\xf1\x890421\xf1\x82\x1314171231313500314642021650169333613100', b'\xf1\x875Q0959655CB\xf1\x890421\xf1\x82\x1314171231313500314643021650169333613100', + b'\xf1\x875Q0959655CB\xf1\x890421\xf1\x82\x1317171231313500314642023050309333613100', ], (Ecu.eps, 0x712, None): [ b'\xf1\x873Q0909144M \xf1\x895082\xf1\x82\x0571A10A11A1', @@ -347,9 +350,11 @@ FW_VERSIONS = { b'\xf1\x875QM909144B \xf1\x891081\xf1\x82\x0521B00404A1', b'\xf1\x875QM909144C \xf1\x891082\xf1\x82\x0521A00642A1', b'\xf1\x875QM909144C \xf1\x891082\xf1\x82\x0521A10A01A1', + b'\xf1\x875QM907144D \xf1\x891063\xf1\x82\x000_A1080_OM', b'\xf1\x875QN909144B \xf1\x895082\xf1\x82\x0571A10A11A1', ], (Ecu.fwdRadar, 0x757, None): [ + b'\xf1\x872Q0907572AA\xf1\x890396', b'\xf1\x875Q0907572N \xf1\x890681', b'\xf1\x875Q0907572P \xf1\x890682', b'\xf1\x875Q0907572R \xf1\x890771', diff --git a/selfdrive/car/volkswagen/values.py b/selfdrive/car/volkswagen/values.py index f4809e4523..35cb3607ec 100644 --- a/selfdrive/car/volkswagen/values.py +++ b/selfdrive/car/volkswagen/values.py @@ -223,8 +223,8 @@ CAR_INFO: Dict[str, Union[VWCarInfo, List[VWCarInfo]]] = { VWCarInfo("Volkswagen Golf SportsVan 2015-20"), ], CAR.JETTA_MK7: [ - VWCarInfo("Volkswagen Jetta 2018-22"), - VWCarInfo("Volkswagen Jetta GLI 2021-22"), + VWCarInfo("Volkswagen Jetta 2018-24"), + VWCarInfo("Volkswagen Jetta GLI 2021-24"), ], CAR.PASSAT_MK8: [ VWCarInfo("Volkswagen Passat 2015-22", footnotes=[Footnote.PASSAT]), From 90dbe61c7d42d6f25a9e34dc99ae49933ba670db Mon Sep 17 00:00:00 2001 From: Maddog1929 Date: Tue, 6 Feb 2024 03:43:41 -0500 Subject: [PATCH 05/13] Add fingerprint for 2018 Genesis G90 (#31271) * Update fingerprints.py * Update fingerprints.py * Update fingerprints.py * Update fingerprints.py * Update fingerprints.py * Update fingerprints.py * Update fingerprints.py * Update values.py * Update values.py * Update fingerprints.py * Update values.py * Update values.py * Update fingerprints.py changed formatting of FW value to match existing convention and removed extra FW value no longer being shown in carParam logs --- selfdrive/car/hyundai/fingerprints.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/selfdrive/car/hyundai/fingerprints.py b/selfdrive/car/hyundai/fingerprints.py index 35ee682b4b..f8cc12b349 100644 --- a/selfdrive/car/hyundai/fingerprints.py +++ b/selfdrive/car/hyundai/fingerprints.py @@ -914,12 +914,14 @@ FW_VERSIONS = { (Ecu.transmission, 0x7e1, None): [ b'\xf1\x87VDGMD15352242DD3w\x87gxwvgv\x87wvw\x88wXwffVfffUfw\x88o\xff\x06J\xf1\x81E14\x00\x00\x00\x00\x00\x00\x00\xf1\x00bcshcm49 E14\x00\x00\x00\x00\x00\x00\x00SHI0G50NB1tc5\xb7', b'\xf1\x87VDGMD15866192DD3x\x88x\x89wuFvvfUf\x88vWwgwwwvfVgx\x87o\xff\xbc^\xf1\x81E14\x00\x00\x00\x00\x00\x00\x00\xf1\x00bcshcm49 E14\x00\x00\x00\x00\x00\x00\x00SHI0G50NB1tc5\xb7', + b'\xf1\x87VDHMD16446682DD3WwwxxvGw\x88\x88\x87\x88\x88whxx\x87\x87\x87\x85fUfwu_\xffT\xf8\xf1\x81E14\x00\x00\x00\x00\x00\x00\x00\xf1\x00bcshcm49 E14\x00\x00\x00\x00\x00\x00\x00SHI0G50NB1tc5\xb7', ], (Ecu.fwdRadar, 0x7d0, None): [ b'\xf1\x00HI__ SCC F-CUP 1.00 1.01 96400-D2100 ', ], (Ecu.fwdCamera, 0x7c4, None): [ b'\xf1\x00HI LKAS AT USA LHD 1.00 1.00 95895-D2020 160302', + b'\xf1\x00HI LKAS AT USA LHD 1.00 1.00 95895-D2030 170208', ], (Ecu.engine, 0x7e0, None): [ b'\xf1\x810000000000\x00', From 769c044269b6599e718e5eb93be7f9ea8a786509 Mon Sep 17 00:00:00 2001 From: neverbread <153853262+neverbread@users.noreply.github.com> Date: Tue, 6 Feb 2024 03:56:02 -0500 Subject: [PATCH 06/13] Hyundai: add FW for 2018 Elantra GT Sport (#30732) * Update values.py * we really gotta get fuzzy FP for these date codes * format * rc --------- Co-authored-by: Shane Smiskol --- selfdrive/car/hyundai/fingerprints.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/selfdrive/car/hyundai/fingerprints.py b/selfdrive/car/hyundai/fingerprints.py index f8cc12b349..b30fd1199f 100644 --- a/selfdrive/car/hyundai/fingerprints.py +++ b/selfdrive/car/hyundai/fingerprints.py @@ -1349,22 +1349,28 @@ FW_VERSIONS = { CAR.ELANTRA_GT_I30: { (Ecu.fwdCamera, 0x7c4, None): [ b'\xf1\x00PD LKAS AT KOR LHD 1.00 1.02 95740-G3000 A51', + b'\xf1\x00PD LKAS AT USA LHD 1.00 1.02 95740-G3000 A51', b'\xf1\x00PD LKAS AT USA LHD 1.01 1.01 95740-G3100 A54', ], (Ecu.transmission, 0x7e1, None): [ b'\xf1\x006U2U0_C2\x00\x006U2T0051\x00\x00DPD0D16KS0u\xce\x1fk', + b'\xf1\x006U2V0_C2\x00\x006U2V8051\x00\x00DPD0T16NS4\x00\x00\x00\x00', + b'\xf1\x006U2V0_C2\x00\x006U2V8051\x00\x00DPD0T16NS4\xda\x7f\xd6\xa7', b'\xf1\x006U2V0_C2\x00\x006U2VA051\x00\x00DPD0H16NS0e\x0e\xcd\x8e', ], (Ecu.eps, 0x7d4, None): [ b'\xf1\x00PD MDPS C 1.00 1.00 56310G3300\x00 4PDDC100', + b'\xf1\x00PD MDPS C 1.00 1.03 56310/G3300 4PDDC103', b'\xf1\x00PD MDPS C 1.00 1.04 56310/G3300 4PDDC104', ], (Ecu.abs, 0x7d1, None): [ b'\xf1\x00PD ESC \t 104\x18\t\x03 58920-G3350', + b'\xf1\x00PD ESC \x0b 103\x17\x110 58920-G3350', b'\xf1\x00PD ESC \x0b 104\x18\t\x03 58920-G3350', ], (Ecu.fwdRadar, 0x7d0, None): [ b'\xf1\x00PD__ SCC F-CUP 1.00 1.00 96400-G3300 ', + b'\xf1\x00PD__ SCC F-CUP 1.01 1.00 96400-G3100 ', b'\xf1\x00PD__ SCC FNCUP 1.01 1.00 96400-G3000 ', ], }, From 75ea3f3e3ab6d32d4f6b0179a5dc8bc8664e64d8 Mon Sep 17 00:00:00 2001 From: dblacknc Date: Tue, 6 Feb 2024 04:10:10 -0500 Subject: [PATCH 07/13] Add fingerprint and car info for 2021 Kia Niro PHEV (#31275) * Add 2021 Kia Niro Plug-in Hybrid * Added CAR.KIA_NIRO_PHEV_2021 * Added CAR.KIA_NIRO_PHEV_2021 Created new block and moved 2022 model to it as well, with correct mass and steerRatio values. * Added 2021 Kia Niro PHEV * Added 2021 Kia Niro PHEV For now, using 2020 Niro EV torque data * Update values.py Add '21 Kia Niro PHEV to HYBRID_CAR for gas signal and DBC info * Test route for 2021 Kia Niro PHEV * Add public test route for 2021 Kia Niro PHEV * Fixed typo in test route for 2021 Kia Niro PHEV * Move '21 Kia Niro PHEV car info under '22 ...and remove other mention of '21 as distinct car * Added '21 Kia Niro PHEV fingerprint under '22 ...and removed separate car definition * Removed '21 Kia Niro PHEV as separate car, now under '22 * Removed '21 Kia Niro PHEV, now under '22 fingerprint * Removed test route for '21 Kia Niro PHEV * Update values.py Missed removing one more reference to '21 Kiro Niro PHEV, consolidating under '22. * Update selfdrive/car/hyundai/interface.py * Update selfdrive/car/hyundai/fingerprints.py * Apply suggestions from code review --------- Co-authored-by: Shane Smiskol --- docs/CARS.md | 3 ++- selfdrive/car/hyundai/fingerprints.py | 3 +++ selfdrive/car/hyundai/values.py | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/CARS.md b/docs/CARS.md index e31095687e..d82cbe2c96 100644 --- a/docs/CARS.md +++ b/docs/CARS.md @@ -4,7 +4,7 @@ A supported vehicle is one that just works when you install a comma device. All supported cars provide a better experience than any stock system. Supported vehicles reference the US market unless otherwise specified. -# 275 Supported Cars +# 276 Supported Cars |Make|Model|Supported Package|ACC|No ACC accel below|No ALC below|Steering Torque|Resume from stop|Hardware Needed
 |Video| |---|---|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:| @@ -138,6 +138,7 @@ A supported vehicle is one that just works when you install a comma device. All |Kia|Niro Hybrid 2023[6](#footnotes)|Smart Cruise Control (SCC)|openpilot available[1](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 Hyundai A connector
- 1 RJ45 cable (7 ft)
- 1 comma 3X
- 1 comma power v2
- 1 harness box
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| |Kia|Niro Plug-in Hybrid 2018-19|All|Stock|10 mph|32 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 Hyundai C connector
- 1 RJ45 cable (7 ft)
- 1 comma 3X
- 1 comma power v2
- 1 harness box
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| |Kia|Niro Plug-in Hybrid 2020|All|Stock|0 mph|32 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 Hyundai D connector
- 1 RJ45 cable (7 ft)
- 1 comma 3X
- 1 comma power v2
- 1 harness box
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| +|Kia|Niro Plug-in Hybrid 2021|All|openpilot available[1](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 Hyundai D connector
- 1 RJ45 cable (7 ft)
- 1 comma 3X
- 1 comma power v2
- 1 harness box
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| |Kia|Niro Plug-in Hybrid 2022|All|openpilot available[1](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 Hyundai F connector
- 1 RJ45 cable (7 ft)
- 1 comma 3X
- 1 comma power v2
- 1 harness box
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| |Kia|Optima 2017|Advanced Smart Cruise Control|Stock|0 mph|32 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 Hyundai B connector
- 1 RJ45 cable (7 ft)
- 1 comma 3X
- 1 comma power v2
- 1 harness box
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| |Kia|Optima 2019-20|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|
Parts- 1 Hyundai G connector
- 1 RJ45 cable (7 ft)
- 1 comma 3X
- 1 comma power v2
- 1 harness box
- 1 mount
- 1 right angle OBD-C cable (1.5 ft)
Buy Here
|| diff --git a/selfdrive/car/hyundai/fingerprints.py b/selfdrive/car/hyundai/fingerprints.py index b30fd1199f..37087cfcf3 100644 --- a/selfdrive/car/hyundai/fingerprints.py +++ b/selfdrive/car/hyundai/fingerprints.py @@ -1201,15 +1201,18 @@ FW_VERSIONS = { CAR.KIA_NIRO_PHEV_2022: { (Ecu.engine, 0x7e0, None): [ b'\xf1\x816H6G6051\x00\x00\x00\x00\x00\x00\x00\x00', + b'\xf1\x816H6G5051\x00\x00\x00\x00\x00\x00\x00\x00', ], (Ecu.transmission, 0x7e1, None): [ b'\xf1\x006U3H1_C2\x00\x006U3J9051\x00\x00PDE0G16NL3\x00\x00\x00\x00', + b'\xf1\x816U3J9051\x00\x00\xf1\x006U3H1_C2\x00\x006U3J9051\x00\x00PDE0G16NL3\x00\x00\x00\x00', ], (Ecu.eps, 0x7d4, None): [ b'\xf1\x00DE MDPS C 1.00 1.01 56310G5520\x00 4DEPC101', ], (Ecu.fwdCamera, 0x7c4, None): [ b'\xf1\x00DEP MFC AT USA LHD 1.00 1.00 99211-G5500 210428', + b'\xf1\x00DEP MFC AT USA LHD 1.00 1.06 99211-G5000 201028', ], (Ecu.fwdRadar, 0x7d0, None): [ b'\xf1\x00DEhe SCC F-CUP 1.00 1.00 99110-G5600 ', diff --git a/selfdrive/car/hyundai/values.py b/selfdrive/car/hyundai/values.py index dfa4f70c2c..f7986fc202 100644 --- a/selfdrive/car/hyundai/values.py +++ b/selfdrive/car/hyundai/values.py @@ -248,7 +248,10 @@ CAR_INFO: Dict[str, Optional[Union[HyundaiCarInfo, List[HyundaiCarInfo]]]] = { HyundaiCarInfo("Kia Niro Plug-in Hybrid 2018-19", "All", min_enable_speed=10. * CV.MPH_TO_MS, car_parts=CarParts.common([CarHarness.hyundai_c])), HyundaiCarInfo("Kia Niro Plug-in Hybrid 2020", "All", car_parts=CarParts.common([CarHarness.hyundai_d])), ], - CAR.KIA_NIRO_PHEV_2022: HyundaiCarInfo("Kia Niro Plug-in Hybrid 2022", "All", car_parts=CarParts.common([CarHarness.hyundai_f])), + CAR.KIA_NIRO_PHEV_2022: [ + HyundaiCarInfo("Kia Niro Plug-in Hybrid 2021", "All", car_parts=CarParts.common([CarHarness.hyundai_d])), + HyundaiCarInfo("Kia Niro Plug-in Hybrid 2022", "All", car_parts=CarParts.common([CarHarness.hyundai_f])), + ], CAR.KIA_NIRO_HEV_2021: [ HyundaiCarInfo("Kia Niro Hybrid 2021", car_parts=CarParts.common([CarHarness.hyundai_d])), HyundaiCarInfo("Kia Niro Hybrid 2022", car_parts=CarParts.common([CarHarness.hyundai_f])), From d5821c681229fa4fbb0de6bade04e2aa1b736880 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Tue, 6 Feb 2024 03:47:51 -0600 Subject: [PATCH 08/13] [bot] Fingerprints: add missing FW versions from new users (#31277) Export fingerprints --- selfdrive/car/chrysler/fingerprints.py | 3 +++ selfdrive/car/honda/fingerprints.py | 1 + selfdrive/car/hyundai/fingerprints.py | 2 +- selfdrive/car/volkswagen/fingerprints.py | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/selfdrive/car/chrysler/fingerprints.py b/selfdrive/car/chrysler/fingerprints.py index 940d73c249..0de49f11b9 100644 --- a/selfdrive/car/chrysler/fingerprints.py +++ b/selfdrive/car/chrysler/fingerprints.py @@ -359,6 +359,7 @@ FW_VERSIONS = { b'68294051AG', b'68294051AI', b'68294052AG', + b'68294052AH', b'68294063AG', b'68294063AH', b'68294063AI', @@ -478,10 +479,12 @@ FW_VERSIONS = { b'05149605AE ', b'05149846AA ', b'05149848AA ', + b'05149848AC ', b'05190341AD', b'68378695AJ ', b'68378696AJ ', b'68378701AI ', + b'68378702AI ', b'68378710AL ', b'68378748AL ', b'68378758AM ', diff --git a/selfdrive/car/honda/fingerprints.py b/selfdrive/car/honda/fingerprints.py index 0a64a73d72..62843472a3 100644 --- a/selfdrive/car/honda/fingerprints.py +++ b/selfdrive/car/honda/fingerprints.py @@ -985,6 +985,7 @@ FW_VERSIONS = { b'37805-RLV-F120\x00\x00', b'37805-RLV-L080\x00\x00', b'37805-RLV-L090\x00\x00', + b'37805-RLV-L150\x00\x00', b'37805-RLV-L160\x00\x00', b'37805-RLV-L180\x00\x00', b'37805-RLV-L350\x00\x00', diff --git a/selfdrive/car/hyundai/fingerprints.py b/selfdrive/car/hyundai/fingerprints.py index 37087cfcf3..5f42ad4918 100644 --- a/selfdrive/car/hyundai/fingerprints.py +++ b/selfdrive/car/hyundai/fingerprints.py @@ -1200,8 +1200,8 @@ FW_VERSIONS = { }, CAR.KIA_NIRO_PHEV_2022: { (Ecu.engine, 0x7e0, None): [ - b'\xf1\x816H6G6051\x00\x00\x00\x00\x00\x00\x00\x00', b'\xf1\x816H6G5051\x00\x00\x00\x00\x00\x00\x00\x00', + b'\xf1\x816H6G6051\x00\x00\x00\x00\x00\x00\x00\x00', ], (Ecu.transmission, 0x7e1, None): [ b'\xf1\x006U3H1_C2\x00\x006U3J9051\x00\x00PDE0G16NL3\x00\x00\x00\x00', diff --git a/selfdrive/car/volkswagen/fingerprints.py b/selfdrive/car/volkswagen/fingerprints.py index dd184c85f3..8e5a0667bd 100644 --- a/selfdrive/car/volkswagen/fingerprints.py +++ b/selfdrive/car/volkswagen/fingerprints.py @@ -346,11 +346,11 @@ FW_VERSIONS = { ], (Ecu.eps, 0x712, None): [ b'\xf1\x873Q0909144M \xf1\x895082\xf1\x82\x0571A10A11A1', + b'\xf1\x875QM907144D \xf1\x891063\xf1\x82\x000_A1080_OM', b'\xf1\x875QM909144B \xf1\x891081\xf1\x82\x0521A10A01A1', b'\xf1\x875QM909144B \xf1\x891081\xf1\x82\x0521B00404A1', b'\xf1\x875QM909144C \xf1\x891082\xf1\x82\x0521A00642A1', b'\xf1\x875QM909144C \xf1\x891082\xf1\x82\x0521A10A01A1', - b'\xf1\x875QM907144D \xf1\x891063\xf1\x82\x000_A1080_OM', b'\xf1\x875QN909144B \xf1\x895082\xf1\x82\x0571A10A11A1', ], (Ecu.fwdRadar, 0x757, None): [ From 7fe375f158f6d0ed4fdf27c449b90b9d0257ceea Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Tue, 6 Feb 2024 11:11:58 -0800 Subject: [PATCH 09/13] [bot] Bump submodules (#31299) bump submodules Co-authored-by: jnewb1 --- cereal | 2 +- panda | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cereal b/cereal index c54369f8ad..80e1e55f0d 160000 --- a/cereal +++ b/cereal @@ -1 +1 @@ -Subproject commit c54369f8ad4e0bcb18c96feb4334755c6f65e8f1 +Subproject commit 80e1e55f0dd71cea7f596e8b80c7c33865b689f3 diff --git a/panda b/panda index 457e3b262d..f48fc21a17 160000 --- a/panda +++ b/panda @@ -1 +1 @@ -Subproject commit 457e3b262d798aa6e400033c92d12a0b0f52a7ed +Subproject commit f48fc21a17079bc04cfb3d8042fd2d67d0aac104 From 88b635c4e10d5a3781bdff3cc34856566598da8e Mon Sep 17 00:00:00 2001 From: Justin Newberry Date: Tue, 6 Feb 2024 15:50:44 -0500 Subject: [PATCH 10/13] jenkins: cleanup stage names for analysis (#31327) fix names --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index d3b3444991..dffffae7f7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -205,7 +205,7 @@ node { ]) }, 'HW + Unit Tests': { - deviceStage("tici", "tici-common", ["UNSAFE=1"], [ + deviceStage("tici-hardware", "tici-common", ["UNSAFE=1"], [ ["build", "cd selfdrive/manager && ./build.py"], ["test pandad", "pytest selfdrive/boardd/tests/test_pandad.py", ["panda/", "selfdrive/boardd/"]], ["test power draw", "pytest -s system/hardware/tici/tests/test_power_draw.py"], @@ -215,7 +215,7 @@ node { ]) }, 'loopback': { - deviceStage("tici", "tici-loopback", ["UNSAFE=1"], [ + deviceStage("loopback", "tici-loopback", ["UNSAFE=1"], [ ["build openpilot", "cd selfdrive/manager && ./build.py"], ["test boardd loopback", "pytest selfdrive/boardd/tests/test_boardd_loopback.py"], ]) @@ -243,7 +243,7 @@ node { ]) }, 'replay': { - deviceStage("tici", "tici-replay", ["UNSAFE=1"], [ + deviceStage("model-replay", "tici-replay", ["UNSAFE=1"], [ ["build", "cd selfdrive/manager && ./build.py"], ["model replay", "selfdrive/test/process_replay/model_replay.py"], ]) From 0af62eb3b0027ae1081074cb486554a366dff6fc Mon Sep 17 00:00:00 2001 From: dzid26 Date: Tue, 6 Feb 2024 21:19:01 +0000 Subject: [PATCH 11/13] camerastream instructions (#31326) * camerastream instructions * Update README.md * Update tools/README.md --------- Co-authored-by: Adeeb Shihadeh --- tools/README.md | 1 + tools/camerastream/README.md | 66 +++++++++++++++++++++++++++ tools/camerastream/compressed_vipc.py | 4 ++ 3 files changed, 71 insertions(+) create mode 100644 tools/camerastream/README.md diff --git a/tools/README.md b/tools/README.md index 315db3a75f..361a27deda 100644 --- a/tools/README.md +++ b/tools/README.md @@ -68,6 +68,7 @@ Learn about the openpilot ecosystem and tools by playing our [CTF](/tools/CTF.md ├── ubuntu_setup.sh # Setup script for Ubuntu ├── mac_setup.sh # Setup script for macOS ├── cabana/ # View and plot CAN messages from drives or in realtime +├── camerastream/ # Cameras stream over the network ├── joystick/ # Control your car with a joystick ├── lib/ # Libraries to support the tools and reading openpilot logs ├── plotjuggler/ # A tool to plot openpilot logs diff --git a/tools/camerastream/README.md b/tools/camerastream/README.md new file mode 100644 index 0000000000..76133f07cd --- /dev/null +++ b/tools/camerastream/README.md @@ -0,0 +1,66 @@ +# Camera stream + +`compressed_vipc.py` connects to a remote device running openpilot, decodes the video streams, and republishes them over VisionIPC. + +## Usage + +### On the device +SSH into the device and run following in separate terminals: + +`cd /data/openpilot/cereal/messaging && ./bridge` + +`cd /data/openpilot/system/loggerd && ./encoderd` + +`cd /data/openpilot/system/camerad && ./camerad` + +Note that both the device and your PC must be on the same openpilot commit. + +Alternatively paste this as a single command: +``` +( + cd /data/openpilot/cereal/messaging/ + ./bridge & + + cd /data/openpilot/system/camerad/ + ./camerad & + + cd /data/openpilot/system/loggerd/ + ./encoderd & + + wait +) ; trap 'kill $(jobs -p)' SIGINT +``` +Ctrl+C will stop all three processes. + +### On the PC +Decode the stream with `compressed_vipc.py`: + +```cd ~/openpilot/tools/camerastream && ./compressed_vipc.py ``` + +To actually display the stream, run `watch3` in separate terminal: + +```cd ~/openpilot/selfdrive/ui/ && ./watch3``` + +## compressed_vipc.py usage +``` +$ python compressed_vipc.py -h +usage: compressed_vipc.py [-h] [--nvidia] [--cams CAMS] [--silent] addr + +Decode video streams and broadcast on VisionIPC + +positional arguments: + addr Address of comma three + +options: + -h, --help show this help message and exit + --nvidia Use nvidia instead of ffmpeg + --cams CAMS Cameras to decode + --silent Suppress debug output +``` + + +## Example: +``` +cd ~/openpilot/tools/camerastream && ./compressed_vipc.py comma-ffffffff --cams 0 +cd ~/openpilot/selfdrive/ui/ && ./watch3 +``` diff --git a/tools/camerastream/compressed_vipc.py b/tools/camerastream/compressed_vipc.py index 6e4ad3866e..f1a6f230fa 100755 --- a/tools/camerastream/compressed_vipc.py +++ b/tools/camerastream/compressed_vipc.py @@ -12,6 +12,10 @@ from cereal.visionipc import VisionIpcServer, VisionStreamType V4L2_BUF_FLAG_KEYFRAME = 8 +# start encoderd +# also start cereal messaging bridge +# then run this "./compressed_vipc.py " + ENCODE_SOCKETS = { VisionStreamType.VISION_STREAM_ROAD: "roadEncodeData", VisionStreamType.VISION_STREAM_WIDE_ROAD: "wideRoadEncodeData", From 052519570dea002a9c9a5e4b0c7cfc6d3c180e38 Mon Sep 17 00:00:00 2001 From: Justin Newberry Date: Tue, 6 Feb 2024 16:35:08 -0500 Subject: [PATCH 12/13] jenkins: lock device resource first before making container (#31330) lock first --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index dffffae7f7..ef1996d701 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -78,8 +78,8 @@ def deviceStage(String stageName, String deviceType, List extra_env, def steps) def extra = extra_env.collect { "export ${it}" }.join('\n'); def branch = env.BRANCH_NAME ?: 'master'; - docker.image('ghcr.io/commaai/alpine-ssh').inside('--user=root') { - lock(resource: "", label: deviceType, inversePrecedence: true, variable: 'device_ip', quantity: 1, resourceSelectStrategy: 'random') { + lock(resource: "", label: deviceType, inversePrecedence: true, variable: 'device_ip', quantity: 1, resourceSelectStrategy: 'random') { + docker.image('ghcr.io/commaai/alpine-ssh').inside('--user=root') { timeout(time: 20, unit: 'MINUTES') { retry (3) { device(device_ip, "git checkout", extra + "\n" + readFile("selfdrive/test/setup_device_ci.sh")) From 03c183cb052ff1d9da5c7a927f0abbb37434fe2a Mon Sep 17 00:00:00 2001 From: Justin Newberry Date: Tue, 6 Feb 2024 16:51:55 -0500 Subject: [PATCH 13/13] jenkins: limit cpu and memory (#31329) * limit that * we can use 32g * addopts * half --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index ef1996d701..392253e845 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -106,7 +106,7 @@ def pcStage(String stageName, Closure body) { checkout scm - def dockerArgs = "--user=batman -v /tmp/comma_download_cache:/tmp/comma_download_cache -v /tmp/scons_cache:/tmp/scons_cache -e PYTHONPATH=${env.WORKSPACE}"; + def dockerArgs = "--user=batman -v /tmp/comma_download_cache:/tmp/comma_download_cache -v /tmp/scons_cache:/tmp/scons_cache -e PYTHONPATH=${env.WORKSPACE} --cpus=8 --memory 16g -e PYTEST_ADDOPTS='-n8'"; def openpilot_base = retryWithDelay (3, 15) { return docker.build("openpilot-base:build-${env.GIT_COMMIT}", "-f Dockerfile.openpilot_base .")