* debug: disable FW cache
* Ford: detect missing TJA/LCA config and disable LKAS
* set dashcamOnly
* revert
* clean up
* clean up
* some CAN FD do not have 0x01 block for PSCM
* bump cereal (fork)
* remove confusing comment
* add flags/event
* remove duplicate from events
* copy can be next pr
* dashcamOnly if no config comes back either (this shouldn't happen)
* flipped
* can do this
* Revert "can do this"
This reverts commit c3d311b2ff.
* Revert "flipped"
This reverts commit 75c01fb4c5.
* Revert "dashcamOnly if no config comes back either (this shouldn't happen)"
This reverts commit f82624a0eb.
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 9f327aeb48
* format card
* standalone process
* no class member CS, there's no point
also can be confusing; what else could be using this?
* rename CoS
* Update selfdrive/controls/controlsd.py
* never works first time :D
* canRcvTimeout is bool
* hack
* add cpu
* see what testing closet comes up with
* first
* some clean up
* support passable CI, fix test models
* fix startup alert
* process replay changes
* test_fuzzy
* gate carOutput valid on carControl valid
* we should publish after we update carOutput
* controlsd was using actuatorsOutput from 2 frames ago for torque, not the most up to date
* check all checks for carControl in case controlsd dies
* log more timestamps
* more generic latency logger; needs some clean up
latency_logger.py was difficult to understand and modify
* card polls on can and carControl to get latest carControl possible
* temp try to send earlier
* add log
* remove latencylogger
* no mpld3!
* old loop
* detect first event
* normal send
* revert "card polls on can and carControl to get latest carControl possible"
how it was is best
* sheesh! update should be first
* first timestamp
* temp comment ( timestamp is slow :( )
* more final ordering, and make polling on/off test repeatable
* Received can
* new plot timestamps
* clean up
* no poll
* add controllers (draft)
* Revert "add controllers (draft)"
This reverts commit e2c3f01b2f.
* fix that
* conventions
* just use CS
* consider controlsd state machine in card: not fully done
* hmm it's just becoming controlsd
* rm debugging
* Revert "hmm it's just becoming controlsd"
This reverts commit 534a357ee9.
* Revert "just use CS"
This reverts commit 9fa7406f30.
* add vCruise
* migrate car state
* Revert "migrate car state"
This reverts commit 4ae86ca163.
* Revert "add vCruise"
This reverts commit af247a8da4.
* simple state machine in card (doesn't work as is)
* Revert "simple state machine in card (doesn't work as is)"
This reverts commit b4af8a9b0a.
* poll carState without conflate
* bump
* remove state transition
* fix
* update refs
* ignore cumLagMs and don't ignore valid
* fix controls mismatch; controlsd used to set alt exp
* controlsd_config_callback not needed for card
* revert ref temp
* update refs
* no poll
* not builder!
* test fix
* need to migrate initialized
* CC will be a reader
* more as_reader!
* fix None
* init after publish like before - no real difference
* controlsd clean up
* remove redundant check and check passive for init
* stash
* flip
* migrate missing carOutput for controlsd
* Update ref_commit
* bump cereal
* comment
* no class params
* no class
* Revert "no class"
This reverts commit 5499b83c2d.
* add todo
* regen and update refs
* fix
* update refs
* and fix that
* should be controlsstate
* remove controlsState migration
CoS.initialized isn't needed yet
* fix
* flip!
* bump
* fix that
* update refs
* fix
* if canValid goes false, controlsd would still send
* bump
* rm diff
* need to be very careful with initializing
* update refs
old-commit-hash: 71f5c441fe
* 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>
old-commit-hash: 85c9fea5d8
* 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>
old-commit-hash: 7bc81341e1
* Ford: handle metric cruise speed (v2)
**Description**
I found a signal which appears to match the IPC "Show km/h" setting.
Requires https://github.com/commaai/opendbc/pull/1010.
**Verification**
- [ ] Test in car and confirm that toggling the "Show km/h" setting does
not result in the cruise speed shown in openpilot being incorrect.
- [ ] Test in a non-English (metric) car.
* not present on Q4
* fix freq
* test
* Revert "test"
This reverts commit 5e3a9f6df1.
* Update ref_commit
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: b59ae50961
* 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
old-commit-hash: b0eb3ba4f4
* 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>
old-commit-hash: 489528dcae
* kinda works
* fix
* clean up
* rm hybrid entries
* shorter
* shorter
* fix that
* one line!
* we can get rid of this now!
old-commit-hash: 5746c4672d
* 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>
old-commit-hash: fedb2a9360
* Ford: show longitudinal personality in IPC
Adjust the time gap to 2, 3 or 4 bars for openpilot long.
TODO: set AccTGap_D_Dsply when value changes so that the popup appears
with the new time gap
Depends on #31760.
* ACC UI: show time gap popup when distance changes
* Revert "ACC UI: show time gap popup when distance changes"
This reverts commit c4e8e10970.
* ACC UI: send on distance bars change
* don't need this check - just send on first frame
old-commit-hash: 011eed0daf
Revert "common PlatformFlags base class + test for < 32 bits (#31779)"
This reverts commit 7e75a99b03be1289aa515894e81caa1138374a38.
old-commit-hash: 99610c8819
Ford: parse ACC gap toggle button
Use the ACC gap toggle button signal from the SCCM. There are two other
signals for "increase" and "decrease" gap buttons, but no supported car
has these buttons.
old-commit-hash: 98a491b1f2
* 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
old-commit-hash: 3a6c3315ab
* 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>
old-commit-hash: 4cec88c029
* Ford: move to PlatformConfig
* Align Aviator model years with Explorer
* Add CarSpecs to PlatformConfig
---------
Co-authored-by: justin <justin@comma.ai>
old-commit-hash: 8e03cdfc2a