Commit Graph

432 Commits

Author SHA1 Message Date
Shane Smiskol 6ab415bc59 fix static analysis
old-commit-hash: d65e1d9500be32f45ebd19ff939ecbc458fcc5ed
2024-08-13 21:28:06 -07:00
Maxime Desroches c551f1d239 fix bash + python3 shebangs (#33287)
fix shebangs
old-commit-hash: 1dcd66081531f4568a8de69637fc7a3f4ef3214f
2024-08-13 21:22:13 -07:00
Shane Smiskol b97ed10ea1 Car interface clean up (#33290)
* remove some defs

* now carstate

* remove carControl from CI update function

* almost merged that

* and that
old-commit-hash: 65fccbf7563ceca5ec84bb75ceb39556371a74de
2024-08-13 21:16:39 -07:00
Shane Smiskol 6a15aa3f8c interfaces: assume CarState is instantiated (#33284)
test to make sure mock doesn't crash!
old-commit-hash: 3d2fbe9aa3403e635d476fba9c8232b741e54cce
2024-08-13 19:36:21 -07:00
Shane Smiskol a7db075f08 selfdrive/car: generic CAN send/receive callbacks (#33215)
* start

* hmm API doesn't seem great

* better

* rm line

* sendcan -> can_send callable for best static type coverage, list -> tuple msg

TODO: logcan

* more sendcan -> can_send references

* remove pandad's capnp from selfdrive/car

* fix and remove cereal from test_can_fingerprint

* test_fw_fingerprint: remove pandad, less cereal

* comment done too

* better comment

* fix test_models test

* niceeee it works

* move to can_definitions

* can't come up with a better name :(

* I think we can remove SimpleNamespace soon

* fix test_can_fingerprint.py

* maintain previous behavior

* Revert "maintain previous behavior"

This reverts commit f848fd32132391692c6191a305bb38f74091ec91.

* can test comment

* no need for get_one_can now!

* big clean up: no SimpleNamespace

* now self explanatory!

* not needed

* use empty can again since this is now real

* cmt
old-commit-hash: 9880b1393c7bfc2b71aec01b6b91caffb72f9cc0
2024-08-07 23:49:25 -07:00
Shane Smiskol 8131716c9e CAN fingerprinting: count empty CAN packets as frames (#33232)
* content of can packet won't affect can fingerprint time

* remove get_one_can

* fix comment

* actually we still want to be able to send empty can (xx fingerprint func does this if it runs out of msgs)

* fix process replay
old-commit-hash: 87f183f43cccdb07f6fb9d0947f4ada2d806e294
2024-08-07 23:12:47 -07:00
Shane Smiskol c1084b3df3 selfdrive/car: rm make_can_msg (#33231)
* rm make_can_msg

* fix
old-commit-hash: bd4f0cec18d7f22f16d906de5c3b0f97ae1450ae
2024-08-07 21:58:16 -07:00
Shane Smiskol 54d10c2aa3 remove CAN capnp conversion from car interfaces (#33218)
remove pandad from interfaces
old-commit-hash: ba7a60c5a20c5f252bc89ba3e2559edf5ab65c59
2024-08-07 00:05:32 -07:00
Shane Smiskol a1c2971f13 selfdrive/car: OBD callback (#33200)
* finish

* pass empty cb

* last fix!

* i keep messing this up

* even more coverage!

* not needed
old-commit-hash: 86aeb123bcdac9544db046a2db7e2974b5a687e1
2024-08-05 23:30:52 -07:00
Shane Smiskol cfc2cda37c separate car logger forwarded to cloudlog (#33170)
* car logger

* try this

* fix double printing!

* clean up

* need to import where we actually use it (card won't be in submodule)

* NullHandler does not forward everything properly, need propagate=False to stop root logger from printing

* card is staying

* set up

* forward
old-commit-hash: 12a7b7f7fb1d3a275314b0232795942a7ff3b955
2024-08-05 12:31:31 -07:00
Shane Smiskol 799fabd707 Reapply "update to new opendbc API (#32009)" (#33151)
This reverts commit f2f01e3afaeaa267af61c8d7ab918da04d3411f2.
old-commit-hash: 7c112341c358b57ee9d0209cb2b2c53383adcca9
2024-07-31 15:37:39 -07:00
Shane Smiskol 0ea25665bb get_fw_versions: test the full stack (#33156)
* add the test

fix

* bump

* not sure why mypy didn't catch this
old-commit-hash: ebff7cab1ab897526800e229e30b01ec4cf1114c
2024-07-31 14:53:13 -07:00
Shane Smiskol 2c11e7b49a Revert "update to new opendbc API (#32009)"
This reverts commit d21755b2e216c3f547db0b55b7088357c4368801.

old-commit-hash: ac130001cc83734118524f59a83a96a2065dd56e
2024-07-31 02:38:44 -07:00
Dean Lee 2f1ee6e832 update to new opendbc API (#32009)
* use new opendbc api

* export pandad_python

* merge master

* merge master

* bump opendbc

* bump opendbc

* improve func

* keep interface unchanged

* fix test_car_interfaces

* bump opendbc

* bump opendbc

* fix test_models

* the interface now has to convert from can capnp to list, so we should include this time

* goes from ~210 to ~240 mean ms real time

* remoe busTime

* lowercase sendcan

* consistent msgtype

* bump

* bump

* not used in lat_mpc

* space

* bump to master

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 0dddc97dca8bf4e023b29c35cb92fd3dd0a9a3a2
2024-07-31 00:24:46 -07:00
Shane Smiskol 5cc7d1c36b deprecate busTime (#33146)
* deprecate busTime

* bump

* do car can + more

* forgot some

* bump opendbc

* fix that too

* bump
old-commit-hash: 42f2601416bcb53c25e24b899131e66ee00177b8
2024-07-30 21:26:58 -07:00
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 14a31b177b Chrysler Pacifica Hybrid: combine 2017 and 2018 (#32937)
* Chrysler Pacifica: combine 2017 and 2018 hybrids

torque params are not accurate for either (might be ~1.5 for both checking a few dongles)

* remove duplicate fingerprints

* combine docs lines

fix
old-commit-hash: 31ff8eda9cedb54aa32df8ebf5dc729addf82ef2
2024-07-08 14:45:01 -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
Adeeb Shihadeh f970efbc2e Toyota: remove smartDSU support (#32777)
old-commit-hash: cb63f101cadec4f2ce4362b3df849a1d2adf9e56
2024-06-17 19:18:20 -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
Shane Smiskol 945c6b94fa remove old fingerprints test (#32654)
* is this even used?

* remove
old-commit-hash: 90523b3b000e355599a1f2c7d3c90cb6b8498c66
2024-06-07 23:38:51 -07:00
Dean Lee eb13fda0b4 improve get_torque_params (#32586)
* Loading torque data only once and reusing it across function calls.

* apply review

* still check only one entry

* fix that

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 045b9f20b717e7c5d68f84df4715bb596530b046
2024-06-05 21:21:16 -07:00
Shane Smiskol 70230f5cef Restore lateral limits report (#32640)
* stash

* staaaaash

* clean up

* more clean up

* fix

fix

* fix

* stash

clean up

* more

* this is just simpler to understand

* explicitly check
old-commit-hash: 7cfd91bb69ce1a8ccc9c1f25907d33d14e8181d4
2024-06-05 18:03:23 -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
Shane Smiskol 97dc134a42 card: create pedal pressed event (#32417)
* card: create pedal pressed event (#32393)

* move pedalPressed to card

* rm

* needs to be a builder

* move these

* clean up

* reader later

* Update ref_commit

* moved to card
old-commit-hash: d0d44a51a0ff66c1b2da56b3d9864e10ecc2174d
2024-05-13 16:18:55 -07:00
Shane Smiskol 40fea75562 debug test_models script fixes (#32362)
* some things were renamed without checking

* fix that
old-commit-hash: e5107b1eabc3a04cb097f0f17d5cf587eb387453
2024-05-06 15:01:06 -07:00
Alexandre Nobuharu Sato 96ac38250a Honda: Brazilian HR-V 2023 fingerprint (#32243)
* fingerprint Honda HR-V 2023, brazilian market

* update routes

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 17ec4ad24ea446a99235223511792f8e9dfa16c7
2024-04-21 02:29:43 -07:00
Shane Smiskol 12fb4faabe lateral limits: remove Subaru exception (#32244)
* remove exception

* update Outback params

* clean up

* adjust to the upper limit

* don't change control, only docs

* rough
old-commit-hash: 692a21e4a722d91086998b532ca6759a3f85c345
2024-04-17 23:36:58 -07:00
Shane Smiskol e7511de30b Toyota: remove unecessary ECUs for fingerprinting (#32235)
* remove some ecus

* missing doc

* fix

* fix

* clean up

* update refs

* rm
old-commit-hash: 5d0dc2ded27886b2edfd57391a54fc5f2ce0ff20
2024-04-17 00:09:20 -07:00
Shane Smiskol d82bdc961e FwQueryConfig: test non-essential ecus aren't needless (#32232)
* good test

* remove :D

* typo
old-commit-hash: a076c1e78f54ed78666ed2fea6f8443f51b45a95
2024-04-16 21:49:30 -07:00
Cameron Clough c0e7dae02f Ford: add Ranger 2024 (CAN FD, dashcam only) (#31956)
* Ford: add Ranger 2024 (CAN FD, dashcam only)

* force fingerprint

* debug

* add FW (using debug_fw_fingerprinting_offline)

* add test route

* Revert "debug"

This reverts commit 9d128cb1bbb28fb0cb8da6725c291ebe285e7467.

* Revert "force fingerprint"

This reverts commit 421d92172f354b4713a1371bec9dc9b1bbb6318f.

* update package and finalise steer ratio

"Adaptive Cruise Control with Lane Centering" is part of the Raptor
Standard Equipment Group (i.e. only on the Raptor trim). However,
looking at As-Built/VIN data for Raptor LARIATs show that although Ford
does not advertise it they do come with Lane Centering (the configurator
only says they have ACC with Stop and Go).

ACC with Stop and Go can also be added to the lower XLT trim as part of
the Technology Package, but it is unclear at this point whether that
includes Lane Centering.

The 2021 Ranger had a 17.0 steer ratio. The As-Built data suggests
17/18. PlotJuggler shows the liveParameters.steerRatio between 16.5-17.5
on two short drives.

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 7bc81341e10aad9742e113006f702ead75f2fbf2
2024-04-14 18:00:34 -07:00
Shane Smiskol accfaa29af Volkswagen: fingerprint on VIN chassis code (#32148)
* add function signature and behavior comment

* add test

* move chassis codes to platform config!

* add a shared chassis code test

* function

* test matching

* this commit isn't complete yet

* Revert "this commit isn't complete yet"

This reverts commit ae77d5cd54e1f43d390fb70c4da38a95ac34f8da.

* need to check WMI

* TODO: test WMI

* test wmi

* radar FW sanity check

* fix test

* fixes from merge

fixes from merge

* whoops

* fix static analysis!

* do match_fw_to_car

match_fw_to_car takes vin

* makes sense to keep it one function, and we can return exact or fuzzy!

* clean up

* kinda pointless

* fix more tests

* back to function being only fuzzy

* revert test_fw_fingerprint

* revert test_fw_fingerprint

* simplify

* clean up/fixes

* rename test

* less duplicatey WMI descriptions

* fix

* convert to enum

* I am confident about these WMIs

* these are also good

* we support 5N AUS/NZ and NAR (North American) AX Tiguans

fixes

* Tiguan also Mexico

* only one user for caddy

* got from the test route

* check that the gateway type matches the platform (each platform has 1 or 2 types)

* ~gateway~ -> exact FW match

* remove re

* ensure WMIs are set

* actually no reason to delete

* move comment up to the platform config

* proper wmis typing

* spacing

* flip
old-commit-hash: 6acf763db49944de7a7685b46d50a6c8228a5777
2024-04-12 22:00:03 -07:00
Shane Smiskol 971d160349 Volkswagen: combine platforms with common chassis codes (#32147)
* fix curb weight for Ateca to match Leon better

https://www.auto-data.net/en/seat-ateca-i-1.6-tdi-115hp-start-stop-23096

https://www.seat.com/content/dam/public/seat-website/car-shopping-tools/brochure-download/brochures/ateca/cars-specs-brochure-KH7-NA-december-2018.pdf

* combine leon and ateca

* combine fw

* migrate

* great, both use same torque params

* scala and kamiq

* remove duplicates

* fix

* fix!
old-commit-hash: 16bb4a9ccd1fe07d5a90aae719873e4bfc8e4d65
2024-04-09 21:00:56 -07:00
Shane Smiskol 73e68010ae VW: get VIN from camera without comma power (#31851)
* add VW camera to VIN addrs

* correct VW query

* consistent

* update refs
old-commit-hash: 22aa9a436dcd6434706931a78d6381e2fc66d78b
2024-04-08 16:36:13 -07:00
Shane Smiskol 21b5663ecb Hyundai: clean up FW queries (#32022)
* mark MULTI as logging

* rm whitelists

* rm MULTI

* major clean up :D

* faster refs :D

* wow this was a broken test (can fd can be without aux, and this allowed eps)

* expected

* only for camera (needs test change)

* Revert "only for camera (needs test change)"

This reverts commit 6156bcd674f856e9a6476277d2b14b14b659f597.

* better msg

* yes we do
old-commit-hash: 1306edd0859886b741ac718deefeae363c60f9b9
2024-03-26 20:49:08 -07:00
Shane Smiskol 59f94e8134 Honda Civic 2022: fix spotty camera query (#31963)
* no extra ecu

* cmt

* documentation

* update refs

* nice

* for testing

* byebye

* Update launch_openpilot.sh
old-commit-hash: d5cd457f827d698a1f4298d8efdda9800a87c018
2024-03-21 18:49:18 -07:00
Cameron Clough aa56650862 test_models: migrate fingerprint (#31936)
old-commit-hash: 90ff0dd04728c55237a71ec99ece7adcd03c1e21
2024-03-20 10:57:28 -07:00
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
thenhnn 77d6d1a8f1 PlatformConfig: automatically get platform_str from the enum name (#31868)
* get platform_str from the enum name

* fix tests

* add migration table

* remove impossible todo

* Add link to PR in MIGRATION table

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

* Remove useless brand name comments and rename RAM_1500 to RAM_1500_5TH_GEN

* rename RAM_HD to RAM_HD_5TH_GEN

* rename references to RAM_HD and RAM_1500

* change "mock" to "MOCK" and rename torque data of Nissan Leaf 2018 IC

* remove MOCK from fingerprints.py

* change hard-coded car model in test_can_fingerprint.py/test_timing

* migration

* update ref

* space

* prius

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: justin newberry <justin@comma.ai>
Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
old-commit-hash: 489528dcae3888311f92075ba9e0f68626725121
2024-03-19 11:16:02 -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
Justin Newberry 4de27acf3d more car info -> car docs (#31885)
old-commit-hash: 0b92f4e9ee59b9de7ef0895d6d35e06027d3891c
2024-03-17 16:53:57 -07:00
Justin Newberry 5a7de94a13 rename CarInfo to CarDocs (#31879)
car info to car docs
old-commit-hash: 655e5f7c3e0312054da1f3075bf6b20d97d8a15c
2024-03-15 11:45:44 -07:00
Justin Newberry 1f178307f0 move getting platform to get_params (#31871)
* better

* string

* not here
old-commit-hash: ca5a2ed942c7560f11dd85b812c914f944318250
2024-03-14 21:58:25 -07:00