Commit Graph

12466 Commits

Author SHA1 Message Date
Shane Smiskol 477e4253f6 GM: add more FW logging (#31633)
* add more DIDs

* one more

* update refs

* rm

* btr

* Update selfdrive/car/gm/values.py
old-commit-hash: ec9856b784e6cda8f02e012076666aebe7476650
2024-02-28 18:01:58 -08:00
Justin Newberry c3f35c3fbd add CarControllerBase base class to all CarControllers (#31630)
just base class for now
old-commit-hash: d4c497d82674126103118a4d5bb7a39db2823609
2024-02-28 17:13:44 -08:00
Shea_D 67c8dc043c Ford - Add OBDC Cable Length to CarPartList (#31608)
* 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: 4cec88c02902ff15eafbb497e779c5ca2dc13d8b
2024-02-28 17:07:06 -08:00
Justin Newberry 6f9f45182b disable commaCarSegments tests (#31632)
disable this test too
old-commit-hash: f4a7e8eae6e4102a35c0ba787d61861bd40ed8f4
2024-02-28 16:47:08 -08:00
Justin Newberry 28e9c2ef76 disable notebooks (#31631)
old-commit-hash: 7208e37f8c02c2d5260ed06faf4c531f753811a3
2024-02-28 16:44:10 -08:00
Adeeb Shihadeh 62bbd08492 setup: add openpilot button (#31628)
* setup: add openpilot button

* rename
old-commit-hash: 6cf7599bcd1a0218bb359f72c3d17e15c53bae93
2024-02-28 15:54:21 -08:00
Justin Newberry 44b165575d auto pr review (#31626)
* auto PR comments

* little more

* test

* update action

* cleanup

* ensure it only runs once

* comment that part out

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: e9a10ca712c79c51037f5c96b8f8e749c98ce060
2024-02-28 12:05:43 -08:00
Justin Newberry 0f1f246bc0 scons: fix race condition with opendbc (#31621)
* fix race condition

* add to release

* fix for now

* bump
old-commit-hash: 7cf2b28b7883fdc3e68ad9e0974879103fa3a6ba
2024-02-28 11:41:42 -08:00
Shane Smiskol 2f507b42b8 Honda Civic (Nidec): allow fingerprinting without comma power (#31501)
* civic: FP with no OBD port

* non essential ecus
old-commit-hash: 2c247ea2c6f6c22aa6ce55a6220e75ab17b58e06
2024-02-27 22:12:00 -08:00
Shane Smiskol 080aaab898 Volkswagen: log camera ECU FW
old-commit-hash: a5fa419fbd32afe176dc4380e84c785bf84ba8aa
2024-02-27 21:48:40 -08:00
Shane Smiskol 2ff56746cf Honda Accord: allow fingerprinting without comma power (#31477)
* Do Accord

* add comment

* good test

* this catches the accord/accordh issue!

* as expected, only if both radar&camera have in common FW does the test fail

* cmt

* clean up

* better

* Use HondaFlags

* detect alt brake

* for test

* hypothesis isn't installed

* test failure

* works

* Revert " works"

This reverts commit bfc0d808abe548630e6507431f13b01e8a1316cb.

* Revert "test failure"

This reverts commit 10ab6eb63ccd411740751b742f31fd610397fe8e.

* Revert "hypothesis isn't installed"

This reverts commit d474cc3f0ed7e84fe8bd24f452b3315fd2b8d47c.

* Revert "for test"

This reverts commit 98e039f4fc0189ccb57c1dae6b344209ef15eb1c.

* this is important too

* clean up

* merge accord fingerprints, test

* remove duplicates

* accordh doesn't have these

* rm

* no unknown

* start over, merge platforms

* add cmt

* note non-essential ecus

* add non essential obd ecus

* combine FW

* format fingerprints (remove dups)

* migrate test models segs

* cmt

* Update ref_commit

* clean up
old-commit-hash: ce6637cd8ffdd9eef39a57fe67c3528c55b11c68
2024-02-27 20:09:02 -08:00
Shane Smiskol a0f30b7f96 Honda Accord: label non-essential ECUs (#31624)
* note non-essential ecus

* do accordh
old-commit-hash: 56e343b3f1e0117d379ad4582170d51609599530
2024-02-27 17:41:52 -08:00
Justin Newberry d356ae040e ban pytest.main (#31623)
ban it!
old-commit-hash: 262b328ad706194425479b1a56af9321d1a0c97a
2024-02-27 14:17:01 -08:00
Justin Newberry 013a965d1a tici tests: remove pytest.main (#31622)
pytest.main is bad!
old-commit-hash: 19db56b1f6a86a6a250e6b69f1533ae02d1fb367
2024-02-27 14:06:18 -08:00
Harald Schäfer 2f0d283183 Wheeled body (#31614)
* Wheeled body

* 100hz only for balance

* No carparams in locationd no more

* Update ref
old-commit-hash: c05b37979d49c0a586b56db9294aa061c2c079e2
2024-02-27 13:23:04 -08:00
Justin Newberry 73e5810eae scons: move cereal library exports to cereal submodule (#31617)
* cleanup-cereal

* bump
old-commit-hash: f293f7bad4d6675b70a97d303f1321fb6cfc9182
2024-02-27 13:17:56 -08:00
Adeeb Shihadeh 61d9254b3c Revert "auto PR comments (#30675)"
This reverts commit 3c8fdec8c3e499f7091295b7397c0837173b032e.

old-commit-hash: 47013fd0a4a322da39cbbdf6bd8129d49abb295d
2024-02-27 12:06:53 -08:00
Justin Newberry 859a45016d typo (#31618)
dataset
old-commit-hash: dc3728134055bd422abac4f005e1ecbae46e6167
2024-02-27 11:55:19 -08:00
Adeeb Shihadeh ad395b0980 auto PR comments (#30675)
* auto PR comments

* little more

* test

* update action

* cleanup
old-commit-hash: 402ac424d90f7b66dfe100b4073a43bf13570081
2024-02-27 11:09:48 -08:00
Cameron Clough 4be71cbbad Ford: fix As-Built request identifier (#31609)
Should be 0xDE00 not 0xDE
old-commit-hash: 0e41bf34746854869ad0d319fbb6bb765288ce50
2024-02-27 10:59:27 -08:00
Justin Newberry bacfdaf539 chrysler: freeze dataclass + remove more from interface (#31613)
* fix

* fix
old-commit-hash: d457ed9d50801905b762c870c4799e734dea05b1
2024-02-27 10:23:13 -08:00
Justin Newberry fd574afc3e Chrylser: move to platform config (#31600)
* do chrysler

* chrysler specs

* cleanup

Co-authored-by: Shane Smiskol <shane@smiskol.com>

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 666c41d96923b1826f34a971b568f7d7754b4070
2024-02-27 10:16:22 -08:00
Justin Newberry 3321dfe90b Nissan: move to platform config (#31599)
* do nissan

* cleanup + fix
old-commit-hash: d3f0f76a7e33832bb7312597f85b802b50f2d757
2024-02-27 10:16:06 -08:00
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