Commit Graph

123 Commits

Author SHA1 Message Date
Justin Newberry b899592b18 cars: platform enums -> prepend brand name (#31927)
* with brand name

* migrate

* Fix

* fixes

* more

* passes

* fix

* fix the doc

* collects

* these too

* more stuff

* body exception :/

* more

* hardcode i guess

* update ref

* toyota

* more toyota

* and here

* final!

* fix notebooks and ccs

* move this here
old-commit-hash: b0eb3ba4f477142797624580eb3fdb6448f068d6
2024-03-19 17:29:50 -07:00
Shane Smiskol f3414250a3 Move personality to controlsState (#31855)
* start at param

* start by sending personality

* change to personality

* POC: button changes personality

* what's wrong with this?

* fix

* not really possible but fuzzy test catches this

* there's always a typo

* dang, we're dropping messages

* clean up

* no comment

* bump

* rename

* not all cars yet

* works but at what cost

* clean up

* inside settings

* write param so we save the distance button changes

* setChecked activates buttonToggled and already writes param!

* don't need this, we update from longitudinalPlan on changes

* some clean up

* more

* ui

* allow some time for ui to receive and write param

* plannerd: only track changes in case no ui

* Revert "plannerd: only track changes in case no ui"

This reverts commit 2b081aa6ceb92c67a621b74592b2292756d29871.

* write in plannerd as well, I assume this is atomic?

* don't write when setting checked (only user clicks)

* better nane

* more

* Update selfdrive/controls/lib/longitudinal_planner.py

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

* doesn't write param now

* ParamWatcher is nice

* no debug

* Update translations

* fix

* odd drain sock proc replay behavior

* vanish

* Revert "odd drain sock proc replay behavior"

This reverts commit 29b70b39413e1852bb512155af6b6a94a5bd9454.

* add GM

* only if OP long

* move personality to controlsState, since eventually it won't be exclusive to long planner

more

bump

* diff without translations

* fix

* put nonblocking

* CS should start at up to date personality always (no ui flicker)

* update toggle on cereal message change

* fix

* fix that

* ubmp

* mypy doesn't know this is an int :(

* update translations

* fix the tests

* revert ui

* not here

* migrate controlsState

* Revert "migrate controlsState" - i see no reason we need to test with
any specific personality

This reverts commit 6063508f2df1a5623f113cda34dcd59a1f4b2ac9.

* Update ref_commit

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
old-commit-hash: 29e55f99a54d95215aa79ecf94a22363f82913a6
2024-03-13 00:57:57 -07:00
Justin Newberry e9ca84c95c platformconfig and carspecs are now required, carspecs no longer kwarg (#31667)
* required

* mock can be a platform!

* default is mock

* fix that

* and that one
old-commit-hash: b0eae8c1b7264b2d0c63ee2957689bc1317616f1
2024-03-01 11:31:51 -08:00
Adeeb Shihadeh f8deefda02 fix test_startup (#31103)
* fix test_startup

* real fix
old-commit-hash: 139b0ae3b696c16056c065dec626c65ec8282622
2024-01-21 16:55:47 -08:00
Adeeb Shihadeh 972650f0eb remove dashcam branch (#31081)
* remove dashcam branch

* fix

* more cleanup

* remove param

* one more
old-commit-hash: 7cd9568423a2e78187d16018b70a78f56c02027d
2024-01-19 14:05:03 -08:00
Adeeb Shihadeh bf6fc7a24f more unit test speedup (#30997)
* that's super slow

* fix startup test

* fix
old-commit-hash: fe6aff01311ca3c5a4a549b0eb5d081fa1740f86
2024-01-13 22:21:43 -08:00
Justin Newberry b28343e276 Revert "Pytest: run tests in random order" (#30469)
Revert "Pytest: run tests in random order (#30134)"

This reverts commit bdc0624d0320e75b521a8edcf4aebacb6ab96a75.
old-commit-hash: ba3067a560dca8d94ebf2c63b0d5fab7922c56e4
2023-11-15 10:41:11 -08:00
Justin Newberry 586fe682e4 Pytest: run tests in random order (#30134)
* enable random order

* logprint info

* revert that

* better logging

* go to dfu

* try to flash every panda if not up to date

* revert panda debugging
old-commit-hash: a5d99e0ebbfdad405ec86ca4907325926f3e0bfb
2023-11-15 10:16:51 -08:00
Justin Newberry eb33a751f6 Revert "run unit tests in a random order (#29799)" (#30116)
This reverts commit 36bcfb117d12049be554ec0f82684827fc99f68a.
old-commit-hash: 2dd13c60ccdd513821cad4570fe140c9749d06f3
2023-09-30 17:23:38 -07:00
Adeeb Shihadeh f7d5a2b216 run unit tests in a random order (#29799)
* run unit tests in a random order by default

* bump panda

* fix startup

* re-add random order plugin

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
old-commit-hash: b483efe764c001454b0fe917ce0b1023bc08ab88
2023-09-30 15:56:23 -07:00
Justin Newberry 759ab03b03 Ruff: disallow non-openpilot imports (#29841)
old-commit-hash: 110cfef1c2a56b333b684cd7ae98b321ae0e72eb
2023-09-08 10:43:02 -07:00
Justin Newberry 37e4b2cba9 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
old-commit-hash: dde225221e8fa0063bb52786232be33b8374dfcd
2023-09-07 16:29:36 -07:00
Justin Newberry 3b91610c0b Precommit: ensure executable bit is set (#29784)
* precommit ensure executable

* exclude tinygrad

* bump submodules

* exclude tinygrad globally
old-commit-hash: 4e69937d0d3fbdc7d1d42cbc18d7ccf8ddb115f1
2023-09-05 16:33:26 -07:00
Justin Newberry 42966979db Tests: parameterize following distance test (#29734)
* split

* parameterize it
old-commit-hash: 4aff2621d340dbb188c845746cb1ffd1381b5306
2023-08-31 13:41:02 -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
Justin Newberry c4f322ce2d Linter: remove pylint (#29611)
remove pylint
old-commit-hash: 1ee6ed4b16e2ade0dd887c0687243aee769043e5
2023-08-24 16:30:54 -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
Adeeb Shihadeh cf1d402531 remove fastcluster (#29352)
* remove fastcluster

* lock

* rm there

* and from release files
old-commit-hash: 00a11a1a2b1258f043f7675215e528a0c08185dc
2023-08-11 21:08:49 -07:00
Harald Schäfer 075dc34240 Test and fix cruise speed all personalities (#28658)
* Fix cruise speed in non-standard mode

* Test all personalities

* Test only critical speeds

* 35ms max
old-commit-hash: ae3681f2bbe013ae18ddd40b5c5b31eb00bdfd1d
2023-06-23 17:14:41 -07:00
Dean Lee 1b3ba1c7ee ui: multilang offroad alerts (#28512)
Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

old-commit-hash: 2b800cf2e79048bbccb821135d1cf03ec7a580b0
2023-06-22 15:04:28 +01:00
Adeeb Shihadeh ee363d69e3 fix a bunch of python warnings (#28576)
* fix a bunch of python warnings

* fix that
old-commit-hash: 111b4eee30d3a8f79d082b78e9158cbe262f1a14
2023-06-16 13:22:30 -07:00
Kacper Rączy a48b67f720 process_replay: universal replay mechanism using cereal fake sockets (#28115)
* replay_process_with_fake_sockets implementation

* add missing polled_pubs to configs

* drained_pubs field

* updated cereal

* Remove python/native variations of process replay. Replace with universal one using cereal fake sockets

* Replace old py FakeSocket with DummySocket

* Invalidate and deregister fake sockets after replay is done

* Remove unused import

* Set up new prefix for each replay

* Fixes for radard

* Refactor ReplayContext and ProcessConfig

* Minor fixes

* Reimplement controlsd fingerprinting callback

* time.sleep for sockets to safely reconnect

* Fix fingerprinting for controlsd

* Fixes for regen to work

* Fix replay loop to respect submaster frames

* Fix profiler to use new ProcessConfig fields

* Remove tqdm

* Refactor tests to use new ProcessConfig

* Add FrequencyBasedRcvCallback

* Make tolerance None by default

* Update cereal

* Add get_process_config utility func

* Update cereal. Simplify sync procedure

* Chain context managers

* New sub-socket reconnection procedure

* Fix linter issues

* Revert chaining of context managers

* Init controlsState only when replaying controlsd. Update cereal

* Update cereal

* Update process_replay to use new cereal API

* Update cereal

* Update cereal

* Update cereal

* Simplify radard recv callback

* Update release/files_common
old-commit-hash: e6ac6320ace377657446a1a16ccccd75091f5453
2023-05-23 17:24:16 -07:00
Shane Smiskol cdcf06e9e2 boardd: ability to switch between ELM safety params (#27656)
* indecisive

* rename to generic FW query

* remove code and update comment

* we need this to start off, unless we set multiplexing immediately

* draft

* draft 2

* try that

* can't do this either, boardd might read Enabled after removing, but before setting new Request param

* this should work

* use one less param

* fix params

* match behavior (set all pandas to safety param of 1, disabling multiplexing for fingerprinting

* clean up (some tests may temp break)

* fix param name and sort

* time it

* yes it does matter

* add to hyundai's bus 5 query

* remove hyundai for now

* this should work

* clean up

* clean up

* flip argument around, clean up

* fix test_startup

* some clean up

* rm line

* comment makes more sense

* required typing

* clean up common type

* comments

* Update selfdrive/car/car_helpers.py

* line

* whoops, need to set before vin!

* fix debug

* annoying

* more debugging

* bug fix (needs both keys always)

* debuGG

debuGG

* Revert "debuGG"

This reverts commit 55b2f429324c0b92d5cfb2cabf8b20db1e166248.

* Revert "more debugging"

This reverts commit 02934c3403ad5270f03093508b704c151d1ccb2a.

* Revert "annoying"

This reverts commit 8b4e5e09989f9a0217e3ec1c0ba68735929b7366.

* clean that up

* bumpback

* bumpback

* every second write param

* flip

* stuff

* move up?

* fix timing out in CI

* rm
old-commit-hash: 42449b482d46565242341ca2d7e3a7255572f6a2
2023-03-23 00:14:31 -07:00
Harald Schäfer 73561f01e0 Expand lateral MPC to 10s (#27343)
* 10s lat

* Full length MPC

* redfine N

* Leave controls the same for now

* Updates

* use long plan in lat plan

* interp plan

* add new interp

* simplergit add selfdrive/controls/plannerd.py selfdrive/controls/

* expand to 10s

* revert this

* fix linter

* Update sconscripts

* fix test

* fix test

* fix test

* Revert "Update sconscripts"

This reverts commit 6e23c69dcebd5ed003e37e01921f6af7c31de0db.

* Dont import drive helpers

* better compile deps

* fix compile

* comment

* update replay

* Update plannerd time
old-commit-hash: 04fe6c4ec72dfcf89456a484d03f85502c237701
2023-02-17 15:28:26 -08:00
Shane Smiskol cc456ad691 Honda Bosch: gather available ECUs from camera (#27180)
* add flag

* actually use in fw_versions.py

* simpler

* not here

* Comment

* better name

* add param and block

* keys

keys

* block

* with a value

with a value

* add query for bosch PT bus

* different name

* fix

* .

* fix test

fix test

* add cloulogs

* mark as logging
old-commit-hash: c4b84783a003479bc105e2f7a93d5e71c2e1c38f
2023-02-14 17:55:41 -08:00
Adeeb Shihadeh bc61a6b1fd controlsd: higher default set speed in experimental mode (#27279)
* controlsd: higher default set speed in experimental mode

* update tests

* update tests
old-commit-hash: 5ab2d35f7b7d1f224b531e245db7e35925da5e33
2023-02-09 19:27:51 -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
Adeeb Shihadeh b3e47c691b move all third party stuff into third_party/ (#26853)
* mv fastcluster

* move msm_kgsl.h

* camerad include

* update path

* mv pyextra

* fix tici build

* add acados_template to release build

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: cd8e03d53ed210aec46a2ff728cb4a830314a21a
2022-12-31 21:00:50 -08:00
Shane Smiskol 7a2dc6eca5 Longitudinal tests: clean up (#26708)
* refactor test_cruise_speed.py

* clean up long tests

* and here
old-commit-hash: 9ea72b655035ee9f96c60c3268049bba6b8b9e1a
2022-12-05 17:34:57 -08:00
Shane Smiskol 76e7a45284 controls: preEnabled doesn't consider noEntry (#26627)
preEnabled doesn't consider noEntry
old-commit-hash: 8ad8d4e1c2887bcd22ab7048960ed6a1a7f8e3f6
2022-11-29 13:11:03 -08:00
Shane Smiskol b94dfd81c6 controlsd: add test around cruise speed gas pressed behavior (#26486)
* test

* test

* debug

* test

* test

* test

* clean up

* clean up

* add test

* stash

* clean up

* clean up

* clean up

* assert equal
old-commit-hash: 23a7a987f6ab75ebee4dd856ba0a0c179b2f90b0
2022-11-21 17:05:13 -08:00
Shane Smiskol a0539910bf controlsd: no speed increment if enabled on button rising edge (#26490)
* don't increment speed if we enabled on rising edge

* more realistic test
old-commit-hash: e46063086f079eff6292a32ae9aeeafa3aa523a3
2022-11-13 16:34:26 -08:00
Shane Smiskol 210e281cd4 cruise speed tests: match controlsd initialization of cruise speed (#26491)
* helper functions and fix resetting/enabling

* comment (resume not yet tested)

* make it clear how this resets

* this is fine to enable once

* same here
old-commit-hash: 3524cc7f0bbb94ccb4d6b7b0504692d23288a05f
2022-11-13 16:15:17 -08:00
Shane Smiskol 415152ade9 controlsd: add tests around cruise speed (#26478)
* start to add some tests

* test !pcmCruise

* test !pcmCruise

* better test

* fix pylint

* new test for making sure we adjust on falling edge of buttons
old-commit-hash: a638afb98e2b9d7844c04b1ec55c79d3274bc9b1
2022-11-11 23:11:49 -08:00
Adeeb Shihadeh 74979a7c76 experimental mode (#26416)
* experimental mode

* rename param

* red lights
old-commit-hash: 9a3f46805104c4bcb5cffa304b9b322874ccf412
2022-11-08 14:45:01 -08:00
Shane Smiskol 6695cbf258 CAN-FD HKG: query FW versions from camera (#26063)
* add adas essential ecus

* add adas ecu and query

* add queries

* add name

* after

* presence of adas ecu

* Revert "presence of adas ecu" (POC)

This reverts commit ab88a7e7df32e1c02a175b81848bd4112b2e5c69.

* no whitelist for debugging

* Apply suggestions from code review

* add adas response

* remove adas version

* temp

* read pandaStates

* works in debug script

* only fwdCamera on tucson

* fix pandaStates reading

* fix test_startup

* fix

* simpler

* use existing socket

* pass in number of pandas

* need to create sm using outcome of fingerprinting, which uses sm

fix

* move default argument

* use sock

* always ignore

always ignore

* add canfd fingerprint test

* Update selfdrive/car/hyundai/tests/test_hyundai.py

* set
old-commit-hash: 7bf70bf7d8aaccd23ad0b0a9af8235eb939a617e
2022-10-17 23:04:06 -07:00
HaraldSchafer f9b65f9189 Low speed lateral like before (#26022)
* Add explicit cost on steering wheel movement

* Laxer low speed control

* Laxer low speed control

* Lower min speed now there is a cost

* 3m/s

* Similar to old master

* Add cost

* Crazy high

* Update ref

* comment
old-commit-hash: 2c9b150761f533a6132fac3639df24bb286386bb
2022-10-11 14:53:43 -07:00
HaraldSchafer a8ec6f4cfd Rocket Launcher Model (#25963)
* 1456d261-d232-4654-8885-4d9fde883894/440 6b7d7cec-ead8-40f3-86cc-86d52c9b03fe/300

* compute only 9 tokens: 1456d261-d232-4654-8885-4d9fde883894/440 6b7d7cec-ead8-40f3-86cc-86d52c9b03fe/300

* tinygrad: cleanup gather

* 1456d261-d232-4654-8885-4d9fde883894/440 6b7d7cec-ead8-40f3-86cc-86d52c9b03fe/700

* empty commit for tests

* bump tinygrad

* dont use tinygrad matmul for now

* bump tinygrad

* 1456d261-d232-4654-8885-4d9fde883894/440 e63ab895-2222-4abd-a9a5-af86bb70e260/700

* float16 1456d261-d232-4654-8885-4d9fde883894/440 e63ab895-2222-4abd-a9a5-af86bb70e260/700

* increase steer rate cost

* Revert "increase steer rate cost"

This reverts commit 74ce9ab9be7ef17ecfec931f96851b12f37f2336.

* fork tinygrad

* empty commit for tests

* basics

* Kinda works

* new lat

* new tuning

* Move LATMPCN so scons compiles

* Update long weights

* Add tinygrad optim

* Update model ref

* update weights

* Update ref

* Try

* Error message for field ignore

* update model regf

* ref commit

* Fix onnx test

Co-authored-by: Yassine Yousfi <yyousfi1@binghamton.edu>
old-commit-hash: cb0b7375b728d1b6e92db68c9ba55f0f54c09a3f
2022-10-05 21:43:38 -07:00
Shane Smiskol c1b9a202aa controls: enter overriding state for steering override (#25617)
* lateral overriding is overriding

* Update test

* remove

* also could do something like this and only have one OVERRIDE ET

* Revert "also could do something like this and only have one OVERRIDE ET"

This reverts commit 5c381641c08961676a56a9718fbdaa84989ac249.

* full names

* bump cereal

* test every event type

* update refs
old-commit-hash: 992707c1724ab0047ddd6e230b82e47ae51b25ed
2022-09-13 23:20:45 -07:00
Cameron Clough 2347e913a0 rename esp ECU to abs (#25640)
* rename esp ecu to abs

* bump cereal
old-commit-hash: e9c87daef6534906c728da9a191866926bbfbfe4
2022-09-07 14:25:57 -07:00
HaraldSchafer 0b87a4ddb1 More conservative lead policy in e2e long mode (#25684)
* Add params for lead and danger

* fix long params

* E2e passes simple maneuver tests

* Make tests run with e2e long mode

* Slightly more error allowed in e2e mode

* FCW back and populate long source field

* Fix planner name

* FCW still doesnt work

* Slightly less aggressive

* Doesn't need to simulate from stop
old-commit-hash: 7899fb79c1b3c56034dea3ceb70955f94fdb5ff4
2022-09-06 21:52:34 -07:00
Adeeb Shihadeh 35ff65121e pre-commit: add codespell (#25571)
old-commit-hash: 6590fb2b93baedb2e1c5267b4f191f8e20fcd1d2
2022-08-30 11:20:55 -07:00
HaraldSchafer 48522500ea Falcon Punch Model: turn cutting improvements (#25413)
* simplified change to mpc dynamics

* add jerk pts

* increase jerk cost

* increase jerk pts multipler to master value

* Add final commit

* 1456d261-d232-4654-8885-4d9fde883894/440 ac1a6744-85b0-4ec6-8ba7-608d0717b8f1/750

* some copies are useful

* update model replay ref

* less frames in model replay onnx cpu

* 1456d261-d232-4654-8885-4d9fde883894/440 264b67f5-3f52-4b58-b11f-58dd8aaf08bf/950

* 1456d261-d232-4654-8885-4d9fde883894/440 236fc556-fba3-4255-8ccf-684b22637160/950

* c9d10c64-bea4-41ec-8ca3-d8c886fda172/440 26d73dd2-862a-44ae-bbdd-32cc4f397ad7/900

* Fix couple tests

* Update ref

* Unused for now

* Add lateral factor comment

* Unused variable

Co-authored-by: nuwandavek <vivekaithal44@gmail.com>
Co-authored-by: Bruce Wayne <yassine@comma.ai>
Co-authored-by: Yassine Yousfi <yyousfi1@binghamton.edu>
Co-authored-by: Bruce Wayne <batman@gpu06.internal>
old-commit-hash: 041458f632f197de3c954ed4a08650fbcb24690a
2022-08-12 00:47:59 -07:00
Shane Smiskol 4eabd3b9d9 FW fingerprinting: log all FW versions (#25042)
* get_fw_versions returns all fw versions with request's brand

* keep track of everything received

* debug

* need to regen or write a hack in build_fw_dict

* to be safe, still replace old responses within same brands (hyundai responds to two queries, can fix later)

to be safe, still replace old responses within same brands (hyundai responds to two queries, can fix later)

* update test_fw_query_on_routes

* clean up

* better name

* slightly cleaner

* fix test_startup unit test

del

* fix imports

* fix test_fw_fingerprint

fix test_fw_fingerprint

fix

* fingerprint on all FW_VERSIONS, not just brands with requests

* support old routes in test_fw_query_on_routes

* regen and update refs

* similar function style to before

* better comment

* space

switch name

* try to exact match first

* useless else

* fix debug script

* simpler dictionary

* bump cereal to master
old-commit-hash: ea241bf3dc1d6dec2610bec9fceb1b8659014436
2022-07-06 19:42:58 -07:00
Willem Melching f22b124acf ui: change alerts to Inter (#24937)
* ui: change alerts to Inter

* fix up test
old-commit-hash: 88f246b909e3e111ac84e964bb811efefd923163
2022-06-22 11:45:38 +02:00
Adeeb Shihadeh cfc16a88c5 improved alert verbosity (#24434)
* improved alert verbosity

* better testing script

* better description

* speed diff

* touch ups

* fix that
old-commit-hash: b1858df00e40f96832f812cb5b42596b8f522ab7
2022-05-16 21:19:38 -07:00
Willem Melching 0a2c2a6b28 Add unittest for alert callbacks (#24551)
add alert callback test
old-commit-hash: 31af13101ba2ad3b6282140c70c07e5298ccffce
2022-05-16 16:25:52 +02:00
Shane Smiskol bf744c0410 tests: add overriding to state machine test (#24131)
* add overriding to state machine test

* overriding should consider soft disable too
old-commit-hash: d7a708d6dadb73879cab4bf00d6ce67626a67978
2022-04-05 11:36:18 -07:00