Commit Graph

72 Commits

Author SHA1 Message Date
Shane Smiskol e8c4fb0177 Reapply "selfdrive/car: ban imports from external modules" (#32993) (#32994)
* Reapply "selfdrive/car: ban imports from external modules" (#32993)

This reverts commit 626d78ec548fe19acfdf3c2c3e063fac3b257dc6.

* controls will just use controls

* also these

* ignore
old-commit-hash: d684d8f0f6900d80a2a1618099b0b8e19e6492a2
2024-07-15 11:59:25 -07:00
Shane Smiskol a878118b00 Revert "selfdrive/car: ban imports from external modules" (#32993)
Revert "selfdrive/car: ban imports from external modules (#32973)"

This reverts commit c1e8ff2dbc47ccb07fb41a4e88bfb66af2669254.
old-commit-hash: 35a4a773f1ff6c7b171b7acdb2fd4a65279edebd
2024-07-15 11:14:04 -07:00
Dean Lee 58df39a2ba selfdrive/car: ban imports from external modules (#32973)
* lint import

* Update selfdrive/car/__init__.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 83d4623590f87dcb7df2b458a8814d5ad6ea711b
2024-07-15 11:12:24 -07:00
Shane Smiskol 3953eba4ac controlsd: no mutable carParams (#32381)
* no as builder

* fix car int test

* more
old-commit-hash: c95b58401afe475b07634041e71ede63b9f3875f
2024-07-02 13:27:45 -07:00
Shane Smiskol d94198652d Increase test_car_interfaces examples (#32852)
* to 100!

* Update selfdrive/car/tests/test_car_interfaces.py
old-commit-hash: 4a70934625321a822ee2b98396b45311603cb9fc
2024-06-27 15:35:21 -07:00
Harald Schäfer 47d5601d8a long control: new API (#32706)
* Simplify long control

* Seperate

* Rename

* Try new api for toyota

* rm v_pid everywhere

* No speed in reset

* 0 is better default

* unassigned variable

* Update other cars

* Update gm

* SIMPLIFY

* simplify more

* fix API boundry

* Fix stopping bug

* Small fixes

* Update ref
old-commit-hash: bc303df6a0a4a9d52a2e92e5976b6c7aa5138b95
2024-06-14 00:08:58 -07:00
Adeeb Shihadeh 86b6103657 test_*.py files are no longer executable (#32610)
* test_*.py files are no longer executable

* cleanup empty lines

* update precommit

* fixme

* enable

* build
old-commit-hash: c59887c8109dd8d33ea2e7169995184fbe38cc3a
2024-06-03 15:48:56 -07:00
Shane Smiskol e534d9777c test car interfaces: catch more FW-related failures (#32514)
* only pick ecus from brand

* use superset of all requests

* much better

* clean up

* clean up

* try 150

* ?

* ???

* faster debug

* wtf

* no clue

* run push!

* this shouldn't catch it

* clean up

* rm
old-commit-hash: ef1b6b47032b862ca220e7c2ca6d9ccfd41d6957
2024-05-22 17:12:54 -07:00
Shane Smiskol ee03d13529 card: process that abstracts car interface and CAN (#32380)
* 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 e2c3f01b2fadcff74347bac90c8a5cc1ef4e27b3.

* 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 534a357ee95bec4ed070667186af55d59421bbc7.

* Revert "just use CS"

This reverts commit 9fa7406f30c86200f20457f7b9ff95e731201bf9.

* add vCruise

* migrate car state

* Revert "migrate car state"

This reverts commit 4ae86ca163c6920070f410f608f7644ab632850b.

* Revert "add vCruise"

This reverts commit af247a8da41c3626ada4231b98042da1a1ae4633.

* simple state machine in card (doesn't work as is)

* Revert "simple state machine in card (doesn't work as is)"

This reverts commit b4af8a9b0a2e17fdfc89d344c64678ef51305c24.

* 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 5499b83c2dcb5462070626f8523e3aec6f4c209d.

* 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: 71f5c441fe32184d94a9f26565a36c661e2ccf28
2024-05-21 01:18:10 -07:00
cl0cks4fe 639a634f7c Unittest to pytest (#32366)
* add pytest-asyncio

* switch common

* switch selfdrive

* switch system

* switch tools

* small fixes

* fix setUp and valgrind pytest

* switch to setup

* fix random

* switch mock

* switch test_lateral_limits

* revert test_ui

* fix poetry.lock

* add unittest to banned-api

* add inline ignores to remaining unittest imports

* revert test_models

* revert check_can_parser_performance

* one more skip

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: dd9d5d4528ff0a61c7699abc1b63ba8fd282632f
2024-05-17 11:01:44 -07:00
Shane Smiskol 860283c4cb test_car_interface: run CC once (#32449)
run once
old-commit-hash: 593ea504e7a9a23b81b9a03fe8a2dffddfe7c8ac
2024-05-16 15:41:20 -07:00
Adeeb Shihadeh 3bf3f4bf78 remove pedal (#31903)
* remove pedal

* bump panda

* fix

* update refs
old-commit-hash: fa12a6722868d436f15bea31537df1277bcc4027
2024-03-17 22:42:49 -07:00
Shane Smiskol 22c1d2d100 CI: increase test car interfaces examples (#31641)
* increase

* huh

* Revert "huh"

This reverts commit 1a652cbed06a7c814711db6f2bc6b3146d3aec04.

* no huge fp dicts

* ugh

* try 300

* test

* at least increase a bit
old-commit-hash: bf20358440830106396780464c21ec9b100ebfbc
2024-03-01 16:11:48 -08:00
Shane Smiskol 9aff682d57 Toyota: only read gas interceptor if we're using it (#31473)
* we shouldn't be reading from interceptor and not writing/sending gas command

* better

* add a test!

* comment is clear
old-commit-hash: 0e94567a181e75243321e05c1397259635697f68
2024-02-14 21:32:44 -08:00
Adeeb Shihadeh 66adafe850 radard: remove sleep for cars without radar (#31467)
* radard: remove sleep for cars without radar

* fix

* update refs
old-commit-hash: 6f905ed979cb8e217c182c653528df3a6094015b
2024-02-14 13:12:54 -08:00
Shane Smiskol 5e4a177276 Test car interfaces: init controllers (#31282)
* not pytest?

* copy what build release does

* test controls step with CI and lat/long controllers, car controller.update, etc

* clean up

* not needed

* not here

* here

* better cmt

* fix test_fuzzy

* see what's failing

* need conftest for OPENPILOT_PREFIX to work!

* up

* clean up

* test

* fix

* params put is slow

* stash

* Revert "stash"

This reverts commit 22cc9f814c0699f7046970763663205907f2890b.

* stash

bad

* just freaking merge

* sort

* rm
old-commit-hash: 011054030064dc4cf7ff6590681389fdfb66ae19
2024-02-02 23:43:30 -08:00
Justin Newberry b4992fefed Pytest: consistent codecov (#30408)
* seed only

* random seed

* ignore version.py

* increase max examples

* increase default max examples
old-commit-hash: d02dd50749c8dabc1cd3385bdf2cf3fb7cb7ac63
2023-11-08 13:43:32 -08:00
Shane Smiskol 53c51a23f7 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
old-commit-hash: c626078e9d2134bc879f16d10d283b4a81bae34b
2023-10-23 11:41:42 -07:00
Lee Jong Mun 89e5ee45ca cleanup remnants of LQR and INDI tuning (#29860)
* not use 'indi' cleanup

* bump cereal

* rm more

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 238f9d65dbc17613c2a045b5741483c3f9a7659d
2023-09-10 16:30:13 -07:00
Shane Smiskol 31fc6dd03e car intrfaces: no test deadline (#29720)
set deadline to None
old-commit-hash: f12a1c258448d7c8f6ca847a7725fbe55dd4ee58
2023-08-30 15:30:37 -07:00
Kacper Rączy dfe6c4729e radard: radar fault test (#29673)
* Radar fault test

* Remove i

* Add radar fault case for car interfaces

* Removed empty whitespace

* Fix typo
old-commit-hash: 97865d751fcc40baa0cfb4450496348902b16c9e
2023-08-28 22:34:47 -07:00
Shane Smiskol ce1c61d59a car interfaces: long running fuzzy test (#29592)
* draft

* draft 2

* increase deadline and run

* imports

* run -> use
old-commit-hash: 821cfff56d00b61fc3b4fba12bf0830cdb21ed27
2023-08-24 10:45:50 -07:00
Shane Smiskol 9564eba598 car interface test: pick from possible ECUs (#29593)
pick from possible ecus
old-commit-hash: d58cb9994f678ad8625b5af8fee53ca2edffd334
2023-08-24 05:27:58 -07:00
Shane Smiskol 820ca41f1a car interfaces test: don't sleep (#29589)
don't sleep in test_car_interfaces
old-commit-hash: e38ce6087fe56068de40dbbc57944ddf68b8642c
2023-08-24 04:24:22 -07:00
Adeeb Shihadeh 16ec56398c add openpilot prefix to imports (#29498)
* add openpilot prefix to imports

* more

* more

* fix docs

* fix linter

* bump submodules

* fix patched tests

* update dynamic imports

* debug

* Revert "debug"

This reverts commit db5e13b9911cc74438bee123bc3430da6c31b24b.

* fix pm test
old-commit-hash: a9626f95b69af19306143fc4def02fb5769405d2
2023-08-20 20:49:55 -07:00
Shane Smiskol 8714f1a406 interfaces: test interface attributes (#29301)
* test

* draft

* draft

* clean up

* clean up

* better test

* clean up

* check car info

* uncomment

* rm space

* no loop

* use dbc

* more clear

* one line
old-commit-hash: 225ed2ed5a7221974e44c6d1307f959678f237ea
2023-08-09 17:01:38 -07:00
Adeeb Shihadeh a55a8849b3 Revert "interfaces: test interface attributes (#29297)"
This reverts commit 55af4cce3d3955ca0ecdb98517089a0a42b53ad2.

old-commit-hash: 51831d03a3e79d7d9765e173a2eefac1cf0bb694
2023-08-09 16:28:12 -07:00
Shane Smiskol cfa3ff0fba interfaces: test interface attributes (#29297)
* test

* draft

* draft

* clean up

* clean up

* better test

* clean up

* check car info

* uncomment

* rm space

* no loop

* use dbc

* more clear

* one line
old-commit-hash: 6a678cde6c3ed95ffb5d7236108e9a317517370b
2023-08-09 16:10:30 -07:00
Shane Smiskol 32d6b9994e test_car_interfaces: use DT_CTRL
old-commit-hash: 18cf253c625a8ae8b60e7b04f5859add37a3ad19
2023-07-18 20:01:22 -07:00
Shane Smiskol e69c1bff7f test car interface: fuzzy CarParams (#28931)
* bump

* should be bytes

* draft fuzzy car params

* stash

* bump

* bump

* this is explored!

* some clean up

* more clean up

* clean up

* can't easily

* clean up

* no import

* Apply suggestions from code review

* move into a function

* Update selfdrive/car/tests/test_car_interfaces.py

* Update selfdrive/car/tests/test_car_interfaces.py

* Update selfdrive/car/tests/test_car_interfaces.py

* come onn

* we know it will return a dict here
old-commit-hash: c9f80e89b7ab837b9a5402723e4e028155354dde
2023-07-18 01:49:01 -07:00
Shane Smiskol 6ee48e6a6d test car interfaces: more GM coverage (#28954)
* Update test_car_interfaces.py

* Update selfdrive/car/tests/test_car_interfaces.py

* make it fail

* catches crashed, not blocked
old-commit-hash: 44f7b312a0be638011a6f0b65fbb3f16e71b83ee
2023-07-18 01:42:51 -07:00
Shane Smiskol bbd3b3bc75 FuzzyGenerator: typing (#28934)
* bump

* should be bytes

* draft fuzzy car params

* stash

* bump

* bump

* this is explored!

* some clean up

* more clean up

* clean up

* do we need draw??

* draft

* this was confusing

* revert

* draft

* Revert "draft"

This reverts commit c593a03474b04d4df2648d8149798196c991a108.

* draft

* more typing!

* complete typing

* fix that

* cleanup

* better
old-commit-hash: f495c21805583f19e5cd4bd56b8b0445c74f35b3
2023-07-14 21:41:30 -07:00
Shane Smiskol 7eaa74b083 test car interfaces: support pytest (#28937)
sort
old-commit-hash: af7b2e4dd4ae026f18c526ac20e2a61adf56274f
2023-07-14 01:48:36 -07:00
Shane Smiskol 29bbd75291 test car interface: fuzzy experimental long (#28936)
fuzzy exp long
old-commit-hash: 4ed9dec6f460aaeac8616ef06c7da2171b31c3b0
2023-07-14 01:25:01 -07:00
Maxime Desroches 1693786962 simple fuzzing test for all processes (#28661)
* Revert "Revert "simple fuzzing test for all processes (#28584)""

This reverts commit a5be0640a3780156fdd5c04c1e6204fa41b307a8.

* determinism

* fingerprint
old-commit-hash: 0ebec253d0443144f71f523118f6fadc93cf1eeb
2023-06-29 21:49:23 -07:00
Adeeb Shihadeh ffcc2e4c61 Revert "simple fuzzing test for all processes (#28584)"
This reverts commit 0e98836e857583849aa4e960b097103a4aeb863d.

old-commit-hash: 7783dc602cc478d41918dd8fda2cd87ebf4069d1
2023-06-22 14:59:50 -07:00
Maxime Desroches 7be2b51229 simple fuzzing test for all processes (#28584)
* working test

* classmethod

* review

* add to ci
old-commit-hash: bac193bdd518a260bfbbdb4893520c4263ab2be6
2023-06-20 10:57:02 -07:00
Maxime Desroches 6355215f81 test: car interface fuzzy testing + generating capnp structs (#28530)
* random car control

* format

* struct generation

* math

* staying real

* really staying real

* move

* split this

* format

* Revert "format"

This reverts commit a70a73952ee3833c4ae839d7b2729ee2a1e1a85b.

* Revert "split this"

This reverts commit ae96be63cbfbee230101e69a0f84c874f321fafa.

* space
old-commit-hash: 3fc104fb6d9db5f4853b61c4c525b581e0caad72
2023-06-15 17:01:13 -07:00
Shane Smiskol 15e6669b1f car interfaces: assert some friction (#28074)
* assert some friction

* duh

* convention

* order
old-commit-hash: 177ca52e76023e0e59deea0bd91b690de5b18a5d
2023-05-03 20:22:38 -07:00
Shane Smiskol d916e0ed2d Car docs: pass docs flag to car interfaces (#27311)
* docs

* docs

* docs

* docs

* use docs in gm
old-commit-hash: 5aebdb0ad0e7e527f5deb553ffd193abea02a357
2023-04-18 12:22:22 -07:00
Shane Smiskol 45996b2c65 Car interfaces: assert reasonable centerToFront range (#27356)
* assert reasonable centerToFront values

* comment

* fix Bolt centerToFront

* Update ref_commit
old-commit-hash: 89934b35d04291384b7a287a41ce49905f321167
2023-02-15 16:27:00 -08:00
Shane Smiskol acc8e38111 GM: enforce steering command message timing (#27250)
* draft

* bump opendbc

* still draft

* that's not right

* superset of the changes, 33hz

* cleanup

* this should work

* remove line

* pass it in again

* actually no need to check updated now

* now_nanos

* consistent name

* fix replay

* one line isn't that bad

switch

switch

* fix CarController tests

* Update ref_commit
old-commit-hash: 8f5057ff2dbea4ebc85bc8f55bc7a37e4d5969b6
2023-02-09 15:37:39 -08:00
Adeeb Shihadeh 20fbb0a8fd rename carState.radarOffCan to radarUnavailable (#27187)
* rename carState.radarOffCan to radarUnavailable

* bump cereal
old-commit-hash: 6fa9b555a435cc9639193cca516b78a22189356c
2023-02-02 11:38:09 -08:00
Shane Smiskol 0ceb423ccc Car interface: require fingerprint and FW versions to get params (#26932)
* require fingerprint and FW versions

* add get_non_essential_params()

* comment

* all required

* classmethod, need to allow subclasses to override _get_params

* fix that

* fix

* fix

* wrong fix 🤦
old-commit-hash: b00bc4f57e2c9a3acb9e3b10528b7e30cbde43f1
2023-01-12 12:25:24 -08:00
Adeeb Shihadeh b67646e1ab Revert "Car interface: require fingerprint and FW versions to get params (#26766)"
This reverts commit ff80ac0f7525916211da2cd0fce2c9c5f35ef89d.

old-commit-hash: f14deae475f32af5b04fc2ef3744a77445ad8177
2023-01-12 11:28:04 -08:00
Shane Smiskol 28ceb52c33 Car interface: require fingerprint and FW versions to get params (#26766)
* require fingerprint and FW versions

* add get_non_essential_params()

* comment

* all required

* classmethod, need to allow subclasses to override _get_params

* fix that

* fix
old-commit-hash: b68dabb689104ef0819a6c881b800076deb866f6
2023-01-11 23:44:50 -08:00
Shane Smiskol 4b14d13faa car interfaces: test longitudinal params are set correctly (#26894)
* add long unit tests and fix

* revert

* remove debug

* cleanup

Co-authored-by: Laptop Researcher <laptop@researcher.com>
old-commit-hash: dac7a24677ab680a0ff8fe209cc73cb14d6672a5
2023-01-09 16:21:47 -08:00
Shane Smiskol d6f6b0de91 Car interface: set tire stiffness in common function (#26625)
* common stiffness

* GM uses factors
old-commit-hash: 712b9014d708ce77e87e2d1bb4dfe2d7665a8414
2022-11-29 12:50:27 -08:00
Shane Smiskol fc733027f5 interrfaces: more complete PID tests (#26422)
* more complete PID tests

* doesn't need to be fancy

* less fancy
old-commit-hash: 0ca9d1810c39d96ec0ebefc80df16dd68eb3387e
2022-11-09 12:10:08 -08:00
Adeeb Shihadeh 2c85a11a31 expand fingerprint dict size for multipanda setups
old-commit-hash: baef4c1fb2b9dd20bfa172eb49961c4171076b1f
2022-08-17 15:30:20 -07:00