* Ford: use platform codes to fuzzy fingerprint
TODO: write scripts/tests (print platform codes and version ranges etc.)
May close#31052
* get_platform_codes: fix return type
* add print_platform_codes.py script
* print_platform_codes: sort versions
* match_fw_to_car_fuzzy: use set comprehension, and fix typo
* Ford: add missing Mach-E fw
From the route 83a4e056c7072678/2023-11-13--16-51-33 (which is already
in selfdrive/car/tests/routes.py, added in #30691).
* add ford_fuzzy_fingerprint.ipynb notebook
* get_platform_codes: use regex to parse firmware
* test_ford: test_platform_codes_fuzzy_fw
* test_ford: use get_platform_codes in test_fw_versions
* match_fw_to_car_fuzzy: improve comments
* test_ford: add test_platform_codes_spot_check
* test_ford: add test_match_fw_fuzzy
* remove comment from notebook
* TestFordFW: remove engine ECU FW
* update print_platform_codes.py
* remove part number (unecessary)
* platform codes can just use platform hint and model year - software revision not useful
* fuzzy FP on the platform hint and model year hint range
* fix platform codes test
* update notebook
* add notebook
* explain model year hint better
* test part numbers again
* cleanup notebooks
* remove notebook
* cleanup match_fw_to_car_fuzzy and add comments
* update comment
* .
* Revert "remove notebook"
This reverts commit 5d4ca202f2.
* add notebook back
* remove PSCM from PLATFORM_CODE_ECUS
ABS and IPMA are the best for uniquely matching, and the radar is always required
* Revert "remove PSCM from PLATFORM_CODE_ECUS"
This reverts commit b7baeac19c.
* fix from merge
* more fixes
revert
* FW_RE -> FW_PATTERN
* this can actually be set
* conventions
* just add
* convention
* refactor matcher, this brings it more in line with Hyundai. IMPORTANT NOTE:
NOTE THAT WE remove the separation for the different platform code model year hint ranges, I don't see that being a problem
* better/smaller test
* add test to catch overlapping platform codes
* remove nb
* not now
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Ford: add Ranger 2024 (CAN FD, dashcam only)
* force fingerprint
* debug
* add FW (using debug_fw_fingerprinting_offline)
* add test route
* Revert "debug"
This reverts commit 9d128cb1bb.
* Revert "force fingerprint"
This reverts commit 421d92172f.
* update package and finalise steer ratio
"Adaptive Cruise Control with Lane Centering" is part of the Raptor
Standard Equipment Group (i.e. only on the Raptor trim). However,
looking at As-Built/VIN data for Raptor LARIATs show that although Ford
does not advertise it they do come with Lane Centering (the configurator
only says they have ACC with Stop and Go).
ACC with Stop and Go can also be added to the lower XLT trim as part of
the Technology Package, but it is unclear at this point whether that
includes Lane Centering.
The 2021 Ranger had a 17.0 steer ratio. The As-Built data suggests
17/18. PlotJuggler shows the liveParameters.steerRatio between 16.5-17.5
on two short drives.
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* with brand name
* migrate
* Fix
* fixes
* more
* passes
* fix
* fix the doc
* collects
* these too
* more stuff
* body exception :/
* more
* hardcode i guess
* update ref
* toyota
* more toyota
* and here
* final!
* fix notebooks and ccs
* move this here
* get platform_str from the enum name
* fix tests
* add migration table
* remove impossible todo
* Add link to PR in MIGRATION table
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Remove useless brand name comments and rename RAM_1500 to RAM_1500_5TH_GEN
* rename RAM_HD to RAM_HD_5TH_GEN
* rename references to RAM_HD and RAM_1500
* change "mock" to "MOCK" and rename torque data of Nissan Leaf 2018 IC
* remove MOCK from fingerprints.py
* change hard-coded car model in test_can_fingerprint.py/test_timing
* migration
* update ref
* space
* prius
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: justin newberry <justin@comma.ai>
Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
* Update fingerprints.py 2022 Ford F-150 PowerBoost (fwdCamera)
* update MY
* also likely works for hybrid
* fix that
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* flags
* update ref
* use the flags directly
* use post_init (don't freeze)
* we can maintain frozen with custom class
* not preglobal
* move to common
* cleanup
* Update comma cable requirement for Ford CANFD
* Adding Long_Cable to part list
* Moving cable info into doc_definitions under CarHarness
* Updating parts for ford_q4
* Updating Q3 info
* Updated MachE with USBC coupler
* fix typo
* updating docs/cars.md
* Add 3X angled no cable
* Adding in nocable device package
* Add missing )
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
* Generating new Docs.MD
* Added threex_nocable for MachE
* Swap MachE to regular mount no cable
* confirmed with Comma Operations all boxes include 1.5ft cable regardless of 9.5ft selection
* Updating CarInfo
* Update USB_Coupler for Q4 Harness
* Remove cable from import
* removed ]
* Disagree with the inconsistency but OK
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Update selfdrive/car/ford/values.py
---------
Co-authored-by: sheaduncan <sduncan@Yeti-PC>
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Ford: move to PlatformConfig
* Align Aviator model years with Explorer
* Add CarSpecs to PlatformConfig
---------
Co-authored-by: justin <justin@comma.ai>