Commit Graph

316 Commits

Author SHA1 Message Date
Justin Newberry
05dc0b51e6 test_models: fallback to public route when route isn't uploaded to CI bucket (#30794)
* wip

* add public comment

* fix that

* wip

* retrigger
2023-12-20 11:29:19 -08:00
Shane Smiskol
5052b55c44 test_models: fuzz test panda and CarState (#30443)
* pre-hypothesis

* some hypothesis junk

* this kinda works but is really slow due to counter check

* choose addrs from fingerprint

* stash

* honda nidec brake pressed mismatches fixed

* bump panda

* stash

* tesla: use DI_torque2 (panda msg)

* run

* run

* ah this honda mismatch too

* no more multi can msgs

* clean up, remove old file

* add todo

* prob can remove urandom

* stash, huge examples

* fix pq standstill mismatch

* yuge

* yup there's a leak somewhere

* try to find leak

* skip dashcam (pq and tesla)

* PR comments

* bump

* draft stash

* fix alt brake hondas

* bump

* bump

* bump

* some clean up

* minor clean up

* more clean up

* stash

* fix honda bug

* more

* 100 examples

* revert tesla

* no memory leak any more?

* bring back tests with skips

* parameterize max_examples

* skip interceptor

* is jenkins on my branch?

* ooh that's fast

* 50 is not bad for GH CI

* 300 might be better with rest of test_models

* no more detection

* bump

* need CS_prev to catch bugs where openpilot changes and panda doesn't (eg. not setting interceptor safety mode)

* need to simplify all this

* need a warm up first, since some signals are 1 by default (toyota's gas_released!=1)

* changes

* set honda safety param

* set toyota safety param

* bump panda

* clean up honda

* rm interceptor

* thought interleaving addrs might help, but we can fine tune later

* Revert "thought interleaving addrs might help, but we can fine tune later"

This reverts commit 153301384b48c9f33f9e2af3c224241eaeec41c1.

* get size from dict

* what

* add nocapture marker

* clean up

* try to raise logging level

* need to run last as pytest_runtest_call, since it starts capturing

* get capman conditionally

* mark

* type fingerprint

* should use gen_empty_fingerprint

* no longer needed

* draft

* no longer need gc

* clean that up

* test everything!

* more clean up

* more

* no point

* fix that

* fix errors

* bump

* nice even 300 examples for 300 segs

* final bump :fingers_crossed:

* better import order

* remove debugging prints

* warm up kinda works

* Revert "warm up kinda works"

This reverts commit 7fc77b07d592edb13eadca77deb49540954a7d69.

* random seed

* revert

* strat

strat

* add expl comment

* cmt

* check controls allowed

* Revert "check controls allowed"

This reverts commit e82a0e5396810dd4670e6847aa555194a709e10f.

* not unittests

* run tests!

* run tests 2!

* run tests 3!

* seed unused

* revert

* add shrink phase, and remove health check suppression

* hello

* oncemore

* Update selfdrive/car/tests/test_models.py
2023-12-19 03:18:54 -06:00
Justin Newberry
28eed156e0 Move all fingerprints to fingerprints.py (#30790)
* move fingerpints

* fix circular imports

* fix circular imports

* fix auto fingerprint

* fix those tests

* and controlsd

* add labeler rule

* no defaultdict
2023-12-18 14:04:27 -08:00
Shane Smiskol
d9a8846d58 test_models: use gen_empty_fingerprint (#30752)
use gen_empty_fingerprint
2023-12-15 17:16:19 -08:00
Shane Smiskol
123ef46af3 Revert "test_models: check consitency between panda and openpilot for velocity (#30750)" (#30753)
This reverts commit 1ca1cf3922.
2023-12-15 17:16:01 -08:00
Justin Newberry
1ca1cf3922 test_models: check consitency between panda and openpilot for velocity (#30750)
* sanity check on velocity

* import from there

* use raw

* just check last

* ignore body

* reduce tolerance and bump panda

* its not average anymore

* slightly higher tolerance
2023-12-15 14:50:37 -08:00
Justin Newberry
5f24078a48 Subaru: enable alpha longitudinal for gen1 cars (#30714)
* enable alpha long

* update docs

* added footnote about eyesight

* only for these cars

* add alpha

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

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-13 20:17:33 -08:00
Isaac
26a67641d2 Ford: Add Mach-E (#30691)
* Update interface.py

* Update values.py

* Update routes.py

* Update override.yaml

* Update selfdrive/car/ford/values.py

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

* Update interface.py

* order

* only have dongles for these

42f08a29af3699f4
83a4e056c7072678

from https://github.com/commaai/openpilot/pull/30444

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-13 09:05:41 -08:00
Jason Wen
d6465e39bd Hyundai: Car Port for Staria 2023 (#30672)
* Hyundai: Car Port for Staria 2023

* camera scc!

* add test route

* Update RELEASES.md

* Apply suggestions from code review

* bump down max torque

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-13 08:23:10 -08:00
Isaac
2192cc170c Ford: Add F-150 Lightning (#30692)
* Update interface.py

* Update values.py

* Update routes.py

* Update override.yaml

* Update values.py

* Update interface.py

* Update selfdrive/car/ford/interface.py

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

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-12-12 20:07:59 -08:00
Shane Smiskol
b1ecfd55ce Revert "FW query timing test: mock get_data function for timeout" (#30696)
Revert "FW query timing test: mock get_data function for timeout (#29712)"

This reverts commit 4028cb6121.
2023-12-11 22:12:21 -08:00
Jason Wen
9807bd99db HKG: Car Port for Kia Niro Plug-in Hybrid 2022 (#30576)
* HKG: Car Port for Kia Niro Plug-in Hybrid 2022

* Update CARS.md and add test route

* add to releases

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-11 20:32:36 -08:00
Justin Newberry
4028cb6121 FW query timing test: mock get_data function for timeout (#29712)
* use a mock function to simulate timeout

* Cleanup

* Cleanup

* clean refs

* tolerance can also go down

* fix

* better name

revert refs

* use unittest

* revert

* Revert "use unittest"

This reverts commit 7a1d6a6fc72fa129a66590e0e5998c2438ecbe55.

* order

* local

* use a context

* revert

* stress test it

* let's try

* it's consistent

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-11 19:24:01 -08:00
Jason Wen
63bf098017 Hyundai CAN-FD Longitudinal: Enable for ICE camera-SCC cars (non-HDA2) (#30034)
* Hyundai CAN-FD Longitudinal: Enable for all camera-based SCC platforms (non-HDA2)

* allow ice camera scc longitudinal

* allow ice camera scc longitudinal

* Update docs

* Merge commaai#30021

* Update CARS.md

* revert unrelated changes

* add test route

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-09 17:36:34 -08:00
Shane Smiskol
ac83318ac4 test_models: randomize internal segment list (#30653)
* randomize internal seg list segments

* random

* pytest-randomly sets random.seed to a consistent value for all the workers/processes

* noeol

* update

* Revert "update"

This reverts commit aff9a69c4e5e3934deebaa33986b42f44b55b002.

* lock

* don't randomize by default

* remove random-order

* strict

* random

* one fix

* test

* does nothing

* rm tests

* Revert "rm tests"

This reverts commit b548e3fcd48e60538695506888d863c01b459d27.

* (can't repro locally) just athena should be fine

* bs1

* bs2

* bs3

* bs4

* bs5

* wrong way

* no controls

* no car

* no board

* controls?

* crazy -common

* Revert "crazy -common"

This reverts commit 02365d712b3d09cab1893cce2261a4b418bb3851.

* test athena

* test athena 2

* test athena 3

* test athena 4

* test athena 5

* test athena 6

* test athena 7

* test athena 8

* test athena 9

* ??

* in one commit

* common?

* car and board

* -controls -board

* random-order

* no board

* revert

* car/tests

* least likely

* try

* try 2

* draft

* draft

* so much better

* cmt

* use randomly

* not needed here

* directly modify option works

* bb

* test time

* Revert "test time"

This reverts commit 2c5caabe2b470b47b7322e37800680b92773fccc.

* tmut

* i concur

* revert
2023-12-09 14:28:32 -08:00
Justin Newberry
f16df8e4b7 pytest: group test_models by route instead of car name (#30625)
* group by route

* dont need those
2023-12-06 16:00:59 -08:00
Shane Smiskol
e687be939e FW fingerprinting timing: fix refs (#30566) 2023-11-30 16:36:20 -08:00
Adeeb Shihadeh
613ccf4b74 falsify rx checks (#30564) 2023-11-30 14:53:33 -08:00
Justin Newberry
a2bb41e0ec Subaru: non-obd FW queries logging (#30552)
* add subaru logging fw

* whitelist + comma

* whitelist is empty for the other requests

* all whitelisted
2023-11-29 17:47:09 -08:00
Shane Smiskol
2e45a7c2fd Toyota: add test route for 2023 RAV4 (#30465)
* test rav4 2023 (stripped)

* don't use initData, remove relay malfunction tolerance!

* all passes!

* some clean up

* more

* uncomment

* rm line

* remove ignore_addr_checks_valid

* right

* some changes for stripping data

* clean up

* check exist

* shouldn't be possible

* should be success if here

* no delete

* ""

* rm

* rm

* cleanup

* one list comp

* more clear

* not used

* add back legit source

* clean up

* copy files we don't need to strip (need sas to copy between accounts)

* default to strip

* revert
2023-11-28 14:55:03 -08:00
Jason Young
2f5c0bd016 JEEP_CHEROKEE -> JEEP_GRAND_CHEROKEE (#30539) 2023-11-27 18:19:03 -08:00
Adeeb Shihadeh
afd61352d0 bump panda (#30501)
* bump panda

* bump

* bump

* fix renamed variables

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-20 14:45:51 -08:00
Shane Smiskol
fc8cfe1280 test_models: check if in relay-breaking safety mode (#30476)
* remove initData, remove tolerance

* can check faster now

* don't
2023-11-15 18:57:37 -08:00
Shane Smiskol
e44d84a7f9 test_models: remove ignored address check list (#30475)
* remove ignore_addr_checks_valid

* lessgoooo
2023-11-15 18:50:39 -08:00
Justin Newberry
31c682d407 Pytest: load by group by default (#30466)
* wip

* use a class marker

* this one should be grouped too
2023-11-14 17:33:47 -08:00
Calvin Chui
2647a4b4a9 Toyota: Add Lexus GS F 2016 (#30245)
* added GSF ECU values

* Added Lexus GSF data

* added route for GSF

* test RC code

* revert fingerprints back from RC test to GSF

* fixed type for route

* specify route segment for GSF

* added GSF to torque substitute

* removed year designation for GSF

* added MY back to all "Lexus GSF"

* removed route, don't think it does anything

* move GSF ecu values to better place

* remove whitespace from toyota > interface.py

* added in public route for LEXUS_GSF

* added GSF to docs

* update test route

* update test route

* update 266 Supported cars

* trying different dbc

* updated to working route

* clean up

* add to releases

* updated test route

* new route

* docs

* slightly better torque params

---------

Co-authored-by: cchui <cchui@eogresources.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-14 02:31:27 -08:00
Justin Newberry
d02dd50749 Pytest: consistent codecov (#30408)
* seed only

* random seed

* ignore version.py

* increase max examples

* increase default max examples
2023-11-08 13:43:32 -08:00
Justin Newberry
60b21b55d2 Subaru: initial eyesight disable support (#30373)
* initial eyesight disable

* disable_eyesight

* comment
2023-11-06 22:13:39 -08:00
Shane Smiskol
c626078e9d Toyota: combine rest of hybrid platforms (#30259)
* Highlander TSS2: merge

* Highlander TSS2: remove duplicate FW

* Highlander TSS2: merge torque params

* C-HR TSS2: merge

* Alphard TSS2: merge

* Avalon 2019: merge

* Avalon TSS2: merge

* Camry TSS2: merge

* Camry TSS-P: merge

* Camry TSS-P: remove duplicate FW

* RAV4 TSS 2022: merge

* RAV4 TSS 2023: merge

fix

* clean up tss2 car list

* fix from merge

* rename internal seg list platforms

* fix test
2023-10-23 11:41:42 -07:00
Jason Wen
820cccf8d9 Hyundai: split Elantra and Elantra GT (i30) platforms (#29969)
* Hyundai: Add FW Versions for 2019 Elantra

* wrong platform

* Update selfdrive/car/hyundai/values.py

* split platforms again

* add engine and other trans

* legacy: don't trust long

* fix

* elantra has no eps and i30 has no dates as well

* 19 still has no sng

* new harness

* todo comment

* Update CARS.md

* re-did

* add back

* rev

* Add Elantra 2017 FW from f6f9e1708bae2ef6

* Add Elantra 2017 FW from 5af39b105269f0f3

* Add Elantra 2017 FW from 2e158bb0e7396dd9

* should be all i30 and elantra drivers

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-21 03:16:50 -07:00
Tim Wilson
b95d69ae1b Car port: CADILLAC ESCALADE ESV 2019 (#29913)
* add CADILLAC ESCALADE ESV PLATINUM 2019

* add test route

* Update selfdrive/car/gm/interface.py

* combine params

* that's just a trim

* wow, there's a huge torque offset (left is 1.2 m/s^2, right is 1.9 m/s^2 max lat accel)

* don't hard code

* Update selfdrive/car/torque_data/override.yaml

* consistent formatting

* add to releases

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-21 02:04:24 -07:00
Shane Smiskol
3cd0e392eb Toyota: combine similar TSS2 hybrid platforms (#30194)
* combine corolla

* corolla tss2: remove duplicates

* remove gas pedal hybrid signal

* combine RX TSS2

* we only split for static DSU msgs, or sng differences

* Combine NX TSS2

* remove nb

* Combine ES TSS2

* Combine RAV4 TSS2 (torque params for each EPS variant are similar enough, and eps and fwdcamera all are identical)

* Merge TSS-P Lexus NX

* TSS-P Lexus NX: remove duplicates

* TSS-P C-HR: merge

* TSS-P C-HR: remove duplicates

* fix routes

* re-did everything: no diff 🎉

* update test models seg list

* Update ref_commit
2023-10-07 01:26:49 -07:00
Shane Smiskol
9350b7e179 Car tests: fix serialize error on fail (#30185)
* Update test_toyota.py

* fix others

* fix
2023-10-06 00:07:37 -07:00
Justin Newberry
0251742079 CI: use "slow" marker for pytest (#30063)
* skip to mark

* fix quotes
2023-09-26 13:44:18 -07:00
Saber
db50e42202 HKG: Car Port for Hyundai Custin 1st Gen (#29476)
* HKG: Car Port for Hyundai Cusitn 1st Gen

Hyundai Custin is asia only car ,named Custo in China.
Hyundai K , talk with Sotana CAN BUS
test route"0bbe367c98fa1538|2023-08-19--01-58-42--0"

It's my fisrt time to PR a port car. I must miss something I don't know. Waiting your instruction to complete it.

* Add route

Add route

* update interface.py

Add interface values

* Update values.py

type

* slight cleanup

* stock openpilot route

* Add credit to release note

* lkas11 fault fix

* Generate CARS.md

* SCC is standard

* crc8

* Update new route

Add a new route "0bbe367c98fa1538|2023-09-16--00-16-49--0"

* sort

* Update selfdrive/car/hyundai/interface.py

* rename platform var

* we want abs!

* was looking at a vw lol

* 096

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-26 02:56:32 -07:00
Hoya
e16d530da9 Hyundai: Car port for AZERA Hybrid 6TH Generation (#29984)
* Update interface.py

add AZERA HEV 6TH_GEN

* Update hyundaican.py

ADD AZERA HEV 6TH_GEN

* Update values.py

add AZERA_HEV_6TH_GEN

* Update override.yaml

add AZERA HEV 6TH GEN

* Update CARS.md

add AZERA HEV 6TH GEN

* Update CARS.md

* Update routes.py

Add AZERA HEV 6TH GEN

* Update routes.py

* Update values.py

* Update values.py

* Update routes.py

* Update routes.py

* Update values.py

* Update values.py

* Update CARS.md

* Update values.py

* Update RELEASES.md

* Update RELEASES.md

* Update routes.py

* Update routes.py

* Update routes.py

* The route driven by added value.py with engine and transmission finger.

* Update interface.py

I applied it with the actual vehicle spec value.

* move up release to 096

* fixes

* docs

* fix mass

---------

Co-authored-by: haram-KONA <88036668+haram-KONA@users.noreply.github.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-22 02:06:16 -07:00
Shane Smiskol
39c8bfc09c Kia: Optima Hybrid 2019 car port (#29992)
* add 2019 OptimaH

* fix

* fix gears

* rename

* should be in unsup long

* fix

* probable cause

* add test route

* update docs

* fix test

* spacing

* note it's only old
2023-09-22 00:58:14 -07:00
Adeeb Shihadeh
cd75dcb03f Update Python packages and pre-commit hooks (#29974)
* Update Python packages and pre-commit hooks

* fix linter

---------

Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-09-19 16:24:58 -07:00
Shane Smiskol
b50a769ae9 Revert "Toyota: use torque control for Japanese-made 2023 RAV4" (#29978)
Revert "Toyota: use torque control for Japanese-made 2023 RAV4 (#29896)"

This reverts commit 9dfd0579d4.
2023-09-19 14:29:54 -07:00
Shane Smiskol
1410a1150c test_models: check controlsd events (#29907)
* test_moedls: check controlsd events

* clean up

* sort

* controlsd modifies CP

* fix

* can use any segment now

* final fix

* use constant
2023-09-14 20:20:49 -07:00
Shane Smiskol
9dfd0579d4 Toyota: use torque control for Japanese-made 2023 RAV4 (#29896)
* use torque for 2023 RAV4s that allow it

* FW

* better cmt

* better

* better values comment

* switch

* add torque params

* simpler

* better to use steerControlType

* ???

* fix condition

* adjust params

* pid is only for old cars

* add comment

* move comment up

* one if

fix

* invert

* better comment

* better here

* for

* add torque hybrid test route

* fix condition

* this might be simpler

* back to one if

fix

* better name

* other way

* this reads so much better

* last change

* better

* did i break ci?
2023-09-14 14:48:12 -07:00
Jason Wen
0d3cc2ae04 HKG: Car Port for Kia K8 Hybrid 2023 (HDA2) (#29899)
* HKG: Car Port for Kia K8 2023 (HDA2)

* Fix release docs

* add test route

* engaged segment

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-13 15:20:03 -07:00
Jason Wen
748eb4a7c7 Hyundai: Car Port for Azera 6th Generation (#29876)
* Hyundai: Car Port for Azera 2022

* harness k

* not crc8

* use gen

* add test route

* Middle East only

* Revert "Middle East only"

This reverts commit 1abe795ad00d10344761e99f415a1cfc14f4c163.

* rename to 6th gen

* sorting

* has a little less torque

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-13 02:22:04 -07:00
Jason Wen
253d8ccb85 Hyundai longitudinal: enable for KONA_EV (#29779)
* Hyundai longitudinal: enable for `KONA_EV`

* add test route

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-10 20:48:41 -07:00
Lee Jong Mun
238f9d65db cleanup remnants of LQR and INDI tuning (#29860)
* not use 'indi' cleanup

* bump cereal

* rm more

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-09-10 16:30:13 -07:00
Justin Newberry
b0a71d4553 Pytest: enforce a default timeout (#29793)
* pytest: enforce default timeout

* disable that for now

* 30 second timeout on tests
2023-09-07 17:53:51 -07:00
Justin Newberry
dde225221e CI: run unittests in parallel with xdist (#29756)
* parallel tests

* review suggesions

* add to pyproject

* add a bit more buffer on that

* fix rare athena issue

* remove from pypoetry
2023-09-07 16:29:36 -07:00
Justin Newberry
ec945dc53d Subaru: add GEN1 longitudinal test route (#29753)
* add long route

* fix duplicates

* need to bump that slightly up

* commented for now

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

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-06 09:26:16 -07:00
Eric Day
89d6bc6c7b Toyota: detect TSS-P CAN filter device as smartDsu to enable long (#28387)
* detect tss-p canfilter device as smartDsu to enable long

* Add canfilter test case

* add comment, behind alpha long

* add doc

* safe

* update check

* cmt

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-06 01:36:16 -07:00
Jason Wen
a552fafd88 Hyundai longitudinal: enable for IONIQ_PHEV (#29777)
* Hyundai longitudinal: enable for `IONIQ_PHEV`

* add test route
2023-09-06 00:05:44 -07:00