Commit Graph

14043 Commits

Author SHA1 Message Date
Shane Smiskol 54684335d4 [bot] Fingerprints: add missing FW versions from new users (#31572)
* Export fingerprints

* get these FP in
old-commit-hash: 3978e7e98caef295ea60277bc7994e77b38823f3
2024-02-27 04:40:46 -08:00
Cameron Clough f7eed2aabf Ford: log interesting module configuration data (#31569)
* Ford: log interesting module configuration data

Ford ECUs have what is called "As-Built Data" which is configured at the
factory/workshop to set what packages/features are enabled on the car.
But they also contain vehicle specific information (VIN, make, model,
weight, wheel base...), DTC information and driver preferences.

I dumped the CAN traffic for the FORScan diagnostic tool to see how it
requests this information from the ECUs.

<details>
<summary>FORScan communication with IPMA (camera)</summary>
<pre>
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': '0200'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'TESTER_PRESENT', 'hex': '00'}
{'addr': 1806, 'type': 'positive_response', 'service': 'TESTER_PRESENT', 'hex': '00'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f190'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00020799dbaa10296516a440000000000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f113'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x13JX7T-19H406-CH\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1134a5837542d3139483430362d434800000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f188'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x88JX7T-14F397-AH\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1884a5837542d3134463339372d414800000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f120'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1 JX7T-14F397-BF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1204a5837542d3134463339372d424600000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f121'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f124'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1$JX7T-14F398-AG\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1244a5837542d3134463339382d414700000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f125'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1%JX7T-14F398-BF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1254a5837542d3134463339382d424600000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f126'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f10a'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f111'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x11JX7T-14F403-CA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1114a5837542d3134463430332d434100000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f18c'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x8c182762191\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f18c31383237363231393100000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f162'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f110'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x10DS-JX7T-19H406-AD\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f11044532d4a5837542d3139483430362d414400000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': '0202'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd100'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd10001'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd700'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd70001010101'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd701'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd70101020000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'dd01'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'dd010102f8'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f113'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x13JX7T-19H406-CH\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1134a5837542d3139483430362d434800000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'fd08'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'fd0800000500500100300000000000000000000000300000000000000000200100400300100200001200f00300500000000000000300c00b00400200000000000000000000000000000000200f01201e01501400a00200200400700d02501d01700700e06405005e05503401100a000000002002002001000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'fd09'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'fd09ffec0001fef60002'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00020799dbaa10296516a440000000000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DTC_INFORMATION', 'hex': '028f'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DTC_INFORMATION', 'hex': '02ff50019768c253002cc401862cc418862c'}
... skip DTC requests ...
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00020799dbaa10296516a440000000000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de01'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de01fd5616db5fffff557fe1f842080000000800000008000000080000000819bfe00f7c00000000000000000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de02'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de02800000008000000080000000800000008337fc00800000008000000080000000800000008337fc0000000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de03'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de03fffc26c3800000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de04'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de04546a8c0000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de05'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de06'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de07'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de08'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de09'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de0a'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de0b'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de0c'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de0d'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de0e'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
</pre>
</details>

Using UDS service `READ_DATA_BY_IDENTIFIER`, we can read the As-Built
blocks from `0xDExx` with no diagnostic session/security access necessary.

I used [Online As-Built databases](https://cyanlabs.net/asbuilt-db/) and
various coding spreadsheets shared online to find values we might be
interested in using for fingerprinting (both vehicle parameters and
identifying the platform).

ABS:
- Payload tier (Base, Mid Payload Upgrade, Heavy Duty Payload
  Upgrade...)
- Wheelbase
- Steering ratio
- Cruise Control Mode (Normal, Adaptive)
- Enable Stop and Go

PSCM:
- Enable Lane Keeping Aid
- Enable Traffic Jam Assist
- Enable Lane Centering Assist

IPMA (Q4):
- Steering ratio
- Wheelbase

APIM (Sync 3 and Sync 4):
- Steering ratio
- Vehicle weight
- Wheelbase

There are more potentially useful signals which I haven't included
although they might not be necessary:
- Vehicle (Ford platform code, like "C344" or "C519" - although the
  source of the mapping from index to code is FORScan and not Ford
themselves unless we can find a better source).
- Fuel type
- Vehicle length/height/front track/rear track
- Tire circumference (could be useful for converting wheel speed rad/s
  to m/s)
- Steering angle source (Pinion, Wheel)
- Country code (letters, e.g. US, CA or UK)
- Transmission type
- CAN network architecture
- More feature flags (the APIM also stores settings for ACC, LCA, BLIS)

The full list of settings I have found is
[here](https://github.com/incognitojam/op-notebooks/blob/main/ford/settings.py).

* FwQueryConfig: add data_requests

* add car_data to CarInterface get_params

* Revert "add car_data to CarInterface get_params"

This reverts commit aa161a6b82082705db97bea2c4317e1888a74845.

* test_ford: add APIM ecu address

* Revert "FwQueryConfig: add data_requests"

This reverts commit dc5484a9b80be5bc61a7fdf55560b8813bc43ef7.

* fix block numbers and add extra queries

* bump test_fw_query_timing

* add missing query whitelists

* simplify asbuilt requests

* use forscan block ids

* formatting

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: c724d1c86ce4044bfc03f1e7941871466f51a708
2024-02-27 04:22:10 -08:00
Justin Newberry d6f9e2c805 platformconfig: freeze all dataclasses (#31605)
* frozen

* frozen
old-commit-hash: 9ecff49118a053917b462aac9dd20cadcf56dd1a
2024-02-26 21:16:05 -08:00
Justin Newberry 36d50a2e45 remove cast for platformconfig (#31604)
* this isnt required

* Cleaner
old-commit-hash: 6d0027342ab00486e9cfbed1ffbd098642f2abd7
2024-02-26 21:01:41 -08:00
Comma Device e7c60bdec0 no amp config
old-commit-hash: 14ea615ae4acc644026b66342edc76edd9178afc
2024-02-26 20:39:41 -08:00
Adeeb Shihadeh f6732eca41 get name from kernel (#31602)
* get name from kernel

* revert that

---------

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 3c4e82f14a3569cec615fe602886271fee1566c7
2024-02-26 20:21:44 -08:00
Justin Newberry d036050624 can_replay: add type hint (#31601)
type hint
old-commit-hash: edd26acdc324ad8d4b3ccd7406be545545f4cb6f
2024-02-26 16:26:01 -08:00
Justin Newberry c799790b9b move with_http_server to selfdrive/test/helpers (#31597)
* move

* fix
old-commit-hash: 9d1cafd0fccc0406a91309a2f9aa1053b498601d
2024-02-26 12:53:17 -08:00
Justin Newberry c57f5bfb1d add common/mock to release (#31596)
* add mock

* fix

* fix2
old-commit-hash: 86090a1e150f6d6df5283725ff1fb03605ecfef5
2024-02-26 11:20:51 -08:00
Adeeb Shihadeh 05ff64ba7a [bot] Bump submodules (#31594)
* bump submodules

* bump opendbc

---------

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
Co-authored-by: Justin Newberry <justin@comma.ai>
old-commit-hash: 5c0bbc7dda74f4e354b5e670185abf29d2d49488
2024-02-26 11:20:42 -08:00
Adeeb Shihadeh 50a34d5ac6 [bot] Update Python packages and pre-commit hooks (#31595)
Update Python packages and pre-commit hooks

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
old-commit-hash: a1fefabbca852923dee83b5ee58c748ce861cdad
2024-02-26 09:08:24 -08:00
Cameron Clough bf6a9e54af Ford: move to PlatformConfig (#31554)
* Ford: move to PlatformConfig

* Align Aviator model years with Explorer

* Add CarSpecs to PlatformConfig

---------

Co-authored-by: justin <justin@comma.ai>
old-commit-hash: 8e03cdfc2ae72ea09208ce41ddc8f7a118c3b973
2024-02-25 17:55:42 -08:00
Eric Brown 0f78a52a22 GM: move to platform config (#31553)
* subaru platform config

* forester wrong dbc

* spacing

* subaru car specs

* someday!

* more red diff

* Move GM to platform config

* Implement CarSpecs

* Simplify centerToFront

* Accidentally had subaru DBC

* Fix typo in DBC name

* done above

* two spaces

* that is moved up

* fix hardcoded fingerprints

* whitespace

* values

* better?

* fix

* bump

* fix

* fix

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
old-commit-hash: 5012e15aa65f4ee82ce19c856a52909b3a879016
2024-02-25 17:53:26 -08:00
Jason Young 5cb007daf3 VW: Move car specs to PlatformConfig (#31567)
* subaru platform config

* forester wrong dbc

* spacing

* subaru car specs

* someday!

* more red diff

* all brands can be done like this

* but this should be done first and thats subaru specific

* that seems very low but we shouldn't change it here

* as long as it subclasses str its fine

* well that sucked

* cleanup and follow refactor

* diff reduction

* oops

* fix

* force fingerprint

* Revert "force fingerprint"

This reverts commit 600fbcd7d559703601a06c8876a640de417e5b6c.

* space

* Fix specs

* this one too

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
old-commit-hash: da540eac1346d0d28bf7cbb2499d6193af541798
2024-02-25 17:38:17 -08:00
Cameron Clough a09300385b mypy: use implicit-optional (#31590)
* mypy: set implicit-optional = true

* find and replace '| None = None' -> '= None' in function args
old-commit-hash: 80da3aee147867e46f566b63a96f4fe199e0628d
2024-02-25 13:29:18 -08:00
Cameron Clough b04a778fcb vscode: add ruff extension (#31589)
old-commit-hash: 3520d479557dad78b85ce2fd1f51d656c7ea6bd2
2024-02-25 11:41:27 -08:00
Robbe Derks 08bb6d822e linux-aarch64 also works for plotjuggler
old-commit-hash: 854e78eaffbdf66daccb53aa326276fb51723ee1
2024-02-25 18:18:43 +00:00
Cameron Clough c32539b23a scripts: install and run pyupgrade (#31587)
old-commit-hash: 30afe2c231d18bbbf71c1e26d0458bf0acacdd2f
2024-02-25 09:26:11 -08:00
Cameron Clough 2c33be7a9c cars: update platforms typing syntax (#31586)
old-commit-hash: be8e503a7da7b686ffa944902d58bb62925e34a9
2024-02-25 11:24:33 -05:00
Justin Newberry 53a544b029 Subaru: fix forester weight (#31585)
fix weight
old-commit-hash: cdd4d418aaa1516d110e03199f070b3168cb55c6
2024-02-24 23:15:16 -08:00
Justin Newberry d11aac152e cars: introduce "Platform" union type for all car enums (#31558)
* Hmm

* release

* hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

* unrelated

* forgot

* cleaner

* Platform

* new syntax

* Fix

* clean

* Fix
old-commit-hash: e6009d80e9323f0cbb41f058164b63eef4a9c55c
2024-02-24 22:18:13 -08:00
Adeeb Shihadeh 67d357baa5 VSCode settings (#31582)
* base config

* add launch.json

* little more

* cleanup

* fix

---------

Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
old-commit-hash: 96ce470b7356a5dc3ca2e02aa6fc8d08646faf78
2024-02-24 20:54:04 -08:00
Cameron Clough 9bd90112d0 use pyupgrade to update to new typing syntax (#31580)
* add pyupgrade hook

* run pyupgrade (pre-commit run -a)

* ruff --fix

* Revert "add pyupgrade hook"

This reverts commit 56ec18bb6b8602a0b612f3803d96cdad14b52066.

* revert changes to third_party/

* manual type fixes

* explicit Optional wrapping capnp objects
old-commit-hash: 995250ae4967943ee33a3699a1d89a7a770d95e9
2024-02-24 16:41:23 -08:00
Cameron Clough 8af72c9330 Ford: add hybrid variants to docs (#31575)
* Ford: add hybrid variants to docs

Following up on https://github.com/commaai/openpilot/pull/31568

| CarInfoPlatform              | ElectrificationLevel   | ModelYear              | Series                                                                                            | Trim                                                                |
|:-----------------------------|:-----------------------|:-----------------------|:--------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------|
| FORD BRONCO SPORT 1ST GEN    | ICE                    | 2021, 2022             | BADLANDS, BASE, BIG BEND, FIRST EDITION, OUTER BANKS                                              |                                                                     |
| FORD ESCAPE 4TH GEN          | FHEV                   | 2020, 2021, 2022       | SE, SEL, Titanium                                                                                 |                                                                     |
| FORD ESCAPE 4TH GEN          | ICE                    | 2020, 2021, 2022       | S, SE, SEL, Titanium                                                                              |                                                                     |
| FORD ESCAPE 4TH GEN          | PHEV                   | 2020, 2021, 2022       | SE, SEL, Titanium                                                                                 |                                                                     |
| FORD EXPLORER 6TH GEN        | HEV                    | 2020, 2021, 2022, 2023 | Limited, Platinum                                                                                 |                                                                     |
| FORD EXPLORER 6TH GEN        | ICE                    | 2020, 2021, 2022, 2023 | Base, Black Label, King Ranch, Limited, Platinum, Reserve, ST, ST-Line, Standard, Timberline, XLT |                                                                     |
| FORD EXPLORER 6TH GEN        | PHEV                   | 2020, 2021             | Black Label Grand Touring, Blk Label Grand Touring, Grand Touring                                 |                                                                     |
| FORD F-150 14TH GEN          | HEV                    | 2021, 2022, 2023       | , F-Series                                                                                        | SuperCrew                                                           |
| FORD F-150 14TH GEN          | ICE                    | 2021, 2022, 2023       | , F-Series                                                                                        | , Regular Cab, SuperCab, SuperCrew, SuperCrew-Raptor, SuperCrew-SSV |
| FORD F-150 LIGHTNING 1ST GEN | BEV                    | 2022, 2023             |                                                                                                   | SuperCrew                                                           |
| FORD MAVERICK 1ST GEN        | HEV                    | 2022, 2023             | SUPERCREW, XL XLT Lariat                                                                          | , SUPERCREW                                                         |
| FORD MAVERICK 1ST GEN        | ICE                    | 2022, 2023             | SUPERCREW, XL XLT Lariat, XLT Lariat                                                              | , SUPERCREW                                                         |
| FORD MUSTANG MACH-E 1ST GEN  | BEV                    | 2021, 2022, 2023       | California Route 1, GT, Premium, Select                                                           |                                                                     |

Data from NHTSA database and https://www.ford.co.uk/cars.

* revert F-150 model year change
old-commit-hash: 6ed72b362698a4ceef4eff5d9a9ed6ce5ec002be
2024-02-24 10:01:02 -08:00
Shane Smiskol ce4784925e Ford: support hybrid Q3 platforms (#31568)
* bump

* ford: remove dynamic dashcam lockout for hybrids

* releases?

* Revert "releases?"

This reverts commit 88d950043d79b8c00535f48ed84b854bc2ab2557.

* bump

* Reapply "releases?"

This reverts commit db5079dc3f1a6bce70bd04430be45704d8604e76.

* 097
old-commit-hash: 378ba114f9d4852374d76c7ebc0318a80cd29c43
2024-02-23 21:22:34 -08:00
Justin Newberry 5b173679c2 CI: Retry multiarch build (#31570)
hardware
old-commit-hash: adb7e2e2297ecfc00e333155d4c8d0666c2c9205
2024-02-23 20:54:48 -08:00
Adeeb Shihadeh 7410a1c448 agnos 9.7 (#31564)
* agnos 9.7

* update
old-commit-hash: 92475d653bcb94a907d20701a697118fbe8815ef
2024-02-23 17:41:03 -08:00
Jason Young ab0c861a08 VW PQ: Consolidate and cleanup tuning (#31566)
consolidate and cleanup PQ configs
old-commit-hash: b75a6cea34864d097ebd22a713db445180c72732
2024-02-23 17:35:21 -08:00
Justin Newberry c564806520 Subaru: move carspecs to PlatformConfig (#31550)
* subaru platform config

* forester wrong dbc

* spacing

* subaru car specs

* someday!

* more red diff

* all brands can be done like this

* but this should be done first and thats subaru specific

* that seems very low but we shouldn't change it here

* as long as it subclasses str its fine

* fix
old-commit-hash: 1161d33c1892b32980a222b7c5b2ad9d6b05621e
2024-02-23 13:23:40 -08:00
Justin Newberry cc77d0ca34 segment range docs update (#31560)
* the format

* cleaner
old-commit-hash: 556f9738960526d6eeaab9fe639d0340a6d5d6c9
2024-02-23 11:50:33 -08:00
Shane Smiskol e0322ba82f Volkswagen: log FW on non-OBD buses (#31556)
* log lots

* update refs

* cmt
old-commit-hash: 72a7f008ab3c4d0f86605860579926911815a103
2024-02-23 04:00:28 -08:00
Justin Newberry 1219678ef1 pre-commit: run ruff first (#31548)
move ruff up
old-commit-hash: c9c2ab9cc858bc2bc1ce16a3f4b04545582fcb1d
2024-02-22 18:34:42 -08:00
Justin Newberry 3d5b7dadaf cleanup PlatformConfig (#31551)
cleanup
old-commit-hash: 73a497ded8b4ae7f1e2d3b5a7c4a2f57c748ff1c
2024-02-22 17:49:27 -08:00
Justin Newberry 27ac28a55f Subaru: move to PlatformConfig (#31547)
* subaru platform config

* forester wrong dbc

* spacing
old-commit-hash: 015eed5d61c583328d419a7990ffac0eee97edd4
2024-02-22 17:17:00 -08:00
Adeeb Shihadeh b649f6a175 pandad: wait until USB is up before panda recovery (#31549)
old-commit-hash: db57a21c8878602d86fbf4ec23bfe49e17e8b543
2024-02-22 17:15:53 -08:00
Adeeb Shihadeh ffb7f66b05 bump to 0.9.7
old-commit-hash: 968eaf1cb2c30a2361c0993a67e720d7dc89f6ec
2024-02-22 16:12:28 -08:00
Justin Newberry 351b1e1f5f cars: introduce "platformconfig" to be a configuration for all relevant car information (#31542)
* this is decent

* make sure the docs don't change for now

* hackery

* these can live here
old-commit-hash: 1ee8c9aa3317460979dfc2a96eccd101b1b70d41
2024-02-22 15:58:37 -08:00
Greg Hogan b4479b4155 URLFile: default value test (#31544)
* URLFile: default value test

* cleanup

* fix env

* improvements

* fix GET response

* only delete cache dir if it exists

* env pop

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 43f64ec5005b38b9d2f3ccab9b8bd99a2c1cd6fd
2024-02-22 13:17:02 -08:00
Shane Smiskol 0766214043 Ford: add back OBD queries for logging (#31543)
* Revert "Reapply "Ford: don't fingerprint on engine (#31195)" part 2 (#31320)"

This reverts commit 69a5ada092202482380241584ecdb6a3424b0087.

* fix refs

* mark logging
old-commit-hash: a2bda8724d84fa46ab57ce15cd4143985c1b3470
2024-02-22 01:34:15 -08:00
Shane Smiskol 04bcb2f0b5 athenad: check end_event while uploading files (#31541)
* check end_event while uploading, throw abort exception if we need to shut down/restart

* fix

* draft test

stash

* Revert - there's no easy way to know if it breaks early in upload loop
or not yet

This reverts commit ad893687e196ebb31d276a114c19e9af963ed02a.

* todo for now
old-commit-hash: 3009a51c060b3e660bcb37e5b8c7a49813a832dc
2024-02-22 00:31:24 -08:00
Shane Smiskol e31385f1ab athenad: fix test timeouts and comments (#31540)
* these pass in 0.5s since server sends ping on connect

* comments

* unused

* fix

* fix these too

* check end_event while uploading, throw abort exception if we need to shut down/restart

* Revert "check end_event while uploading, throw abort exception if we need to shut down/restart"

This reverts commit f0b822fca98cd8e2b3d4d6d5ede6b512d3ed3ec0.

* more tol for lte connection
old-commit-hash: c0e172e0c08a7e09feb27905b0705ed3df992f21
2024-02-21 22:08:10 -08:00
Shane Smiskol 2ef89886d3 Fix athenad reconnect test (#31538)
* debugging

* this also works

* so does this

* more similar to existing method

* clean up

* more

* more
old-commit-hash: 9dde72797462944c8139020d8088cd20030554df
2024-02-21 19:40:35 -08:00
Adeeb Shihadeh b347145c9f controlsd: increase initializing timeout (#31535)
old-commit-hash: d8ce15a86910972bc066aa378a80c499a924de3d
2024-02-21 16:23:43 -08:00
Justin Newberry 1e13249c2a controlsd: move carParams management to card (#31534)
* card-manage

* fix

* init params

* reversed that

* can be in the init
old-commit-hash: 00315325a38b4be8a4aaa5db5db81e818c2e31ab
2024-02-21 16:11:00 -08:00
Adeeb Shihadeh 5e81beb77e remove deviceState.ambientTempC (#31533)
old-commit-hash: 0b4d08fab8e35a264bc7383e878538f8083c33e5
2024-02-21 13:57:49 -08:00
Adeeb Shihadeh f5beedfaec qcomgpsd: use AT helper with retry for all AT commands (#31532)
old-commit-hash: 34138d0be9b9b0041dc5e15b81c4f4b9e653a9f3
2024-02-21 13:57:29 -08:00
Justin Newberry 8256969d40 Split out can control into new "card" class (#31529)
* card v1

* fix car events

* fix proc replay

* lets keep that the same

* no extra space here

* move can recv timeouts to card

* organize imports

* organize imports

* slightly bump cpu

* not a card!
old-commit-hash: 837b811f9c78628a1c0ba50f9f287bf96e39144d
2024-02-21 13:18:43 -08:00
Justin Newberry 0d6c16e771 controlsd: sort imports (#31531)
sort imports
old-commit-hash: 0eba392cf24e5ebbd09d7a3ff4acd9f98daeb3bb
2024-02-21 11:58:04 -08:00
Adeeb Shihadeh 66e8923dd7 tici: ensure DSP permissions are setup on boot (#31530)
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 7a2961710849a69e096a827936b571489bebe997
2024-02-21 11:48:17 -08:00
Justin Newberry bc9ad2ab13 fix static analysis
old-commit-hash: 3f104f3fbd7af6e0d1b59377165e6ae0a347c744
2024-02-21 11:26:49 -08:00