* 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 5d4ca202f2a23601d5c829204119f36a58f2b451.
* 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 b7baeac19c18b5aa0c31da52f12054f4bae6e1ff.
* 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>
old-commit-hash: 85c9fea5d8
* useless
* Revert "useless"
This reverts commit 28f0bb9e9794d60eefba8063b47d8ca113308008.
* this forever hangs you disconnect (or 2 hours)
* same timeout as the global websocket
* Revert "same timeout as the global websocket"
This reverts commit 0bd0cb8a38a3e17960c1fae205311d86a9cf8feb.
* setting the timeout affects the entire websocket and disconnects, not just recv timeout
* fix that
* fix test
old-commit-hash: 09aeab3f77
* update to ubuntu 24.04
* latest
* revert those
* fix that
* vla
* try that
* fix uid
* keep 20.04 support
* just prep for now
old-commit-hash: a44add160e
* ignore modelV2 and longitudinalPlan on the body to avoid fcw alerts
* move joystick_mode up because ignore depends on it
* revert and ignore fcw itself instead
old-commit-hash: adabd108e2