Commit Graph

98 Commits

Author SHA1 Message Date
Shane Smiskol
6acf763db4 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
2024-04-12 22:00:03 -07:00
Justin Newberry
effee900c4 use build_metadata everywhere we used to use get_version, get_commit, etc (#31941)
* use build_metadata

* fix normailzed

* also normalized

* and here

* fix diff

* and that one

* cleanup
2024-03-21 10:15:29 -07:00
Adeeb Shihadeh
afc96972c8 car: CarController and CarState are always present (#31925)
* always set

* add mock

* little more

* fix

* fix
2024-03-19 14:16:33 -07:00
thenhnn
489528dcae 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>
2024-03-19 11:16:02 -07:00
Justin Newberry
ca5a2ed942 move getting platform to get_params (#31871)
* better

* string

* not here
2024-03-14 21:58:25 -07:00
Justin Newberry
233f0437d9 add get_car_interface helper (#31738)
add helper
2024-03-06 10:56:46 -08:00
Justin Newberry
b0eae8c1b7 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
2024-03-01 11:31:51 -08:00
Justin Newberry
e6009d80e9 cars: introduce "Platform" union type for all car enums (#31558)
* Hmm

* release

* hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

* unrelated

* forgot

* cleaner

* Platform

* new syntax

* Fix

* clean

* Fix
2024-02-24 22:18:13 -08:00
Cameron Clough
995250ae49 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
2024-02-24 16:41:23 -08:00
Shane Smiskol
2e8c62358c Honda Bosch: detect alternate brake signal (#31500)
* 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

* more clean up

* Update ref_commit
2024-02-17 04:03:12 -08:00
Shane Smiskol
9acc55861c VIN: lower retries (#31471)
* lower retries

* comment
2024-02-14 17:08:12 -08:00
Shane Smiskol
81f52f2e53 car_helpers: don't log fingerprints as a dict (#31289)
Update car_helpers.py
2024-02-02 23:45:28 -08:00
Shane Smiskol
ca2ed59a64 add comment about sendcan 2024-01-25 22:27:18 -08:00
Shane Smiskol
1612ec6d93 vin: try bus 0 first 2024-01-25 19:09:53 -08:00
Shane Smiskol
289868297e VIN: query on bus 0 to log data (#31165)
* query on bus 0

* fix

* log vin_rx_bus

* fix!
2024-01-25 18:01:49 -08:00
Harald Schäfer
e6c97c3846 Delete lat planner (#31089)
* Initial commit

* Fixup

* typo

* ignore lateral plan

* Update cereal

* Remove lateralPlan

* Fix release build

* Fix release build

* give car params

* Add carParams to include_all_types

* Write car param in powerdraw test

* add demo mode

* Update model regf

* proc replay ref commit

* Try

* Move enum definition

* Update cereal

* typo

* Write car param for modeld test

* Update ref

* Update model ref again

---------

Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
2024-01-21 12:09:48 -08:00
Adeeb Shihadeh
35f819c823 swaglog.py goes in common/ (#30631)
* swaglog.py goes in common/

* all of these go in release

* we'll even include the pyx
2023-12-06 17:27:51 -08:00
Justin Newberry
6ae465e4af Use StrEnum for car classes (#30114)
* str enum

* import sort

* fix car helpers

* fix that

* fix static analysis
2023-09-30 17:15:34 -07:00
Shane Smiskol
ae2a6537b7 fingerprinting: log FW query time (#27880)
* Update car_helpers.py

* put in carParams

* bumpcereal

* rename

* bump cereal

* add cached

* bump cereal

* just add to fingerprinted event
2023-08-24 21:11:01 -07:00
Adeeb Shihadeh
a9626f95b6 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
2023-08-20 20:49:55 -07:00
Shane Smiskol
b9e36b7faa car_helpers: common CAN fingerprint function (#29417)
* timing test

* test

* fix

* print

* loop

* clean up

* wider range

* Update selfdrive/car/tests/test_models.py

* Apply suggestions from code review

* run many times

* Update selfdrive/car/tests/test_models.py

* run for many its

* run with unittest and print as list

* Update .github/workflows/selfdrive_tests.yaml

* Update .github/workflows/selfdrive_tests.yaml

* total time is super inconsistent (body)

* Update selfdrive/car/tests/test_models.py

* clean up

* clean up

* clean up

* this works!

* draft

* test suite not as modular

* try something like this

* can do kb, but not too representative

* clean up

* remove kb? it depends on signals

* clean up

* more clean up

* rename

* just measure all CANParsers

* can do all this manually

* but this is way simpler

* comment

* stash

* draft

* draft

* remove old script

* clean up

* revert

* use it

* remove test

* opt

* no partial

* remove

* revert test_models
2023-08-16 03:28:50 -07:00
Shane Smiskol
001d4e8729 test_models: match online fingerprinting behavior (#29306)
* draft

* 1x

* clean up

* final clean up

* fix

* self explan

* space

* space
2023-08-11 18:33:11 -07:00
Shane Smiskol
c8050cf6b3 fingerprinting: always log CAN fingerprint (#29192)
* always log CAN fingerprint

* called finger
2023-07-31 18:26:05 -07:00
Adeeb Shihadeh
1945c356c2 agnos 8 (#28843)
* agnos 8

* update to python 3.11.4 (#27452)

* rebase

* optional

* lower cython

* TEMP don't pull cl to use python3.11

* Revert "lower cython"

This reverts commit c5132f8a2727c212bdfc01e77aa53e50a17ead9d.

* fix cython

* remove tensorrt

* carla + opencv

* macos

* update timm and smp

* pynvc

* https

* downgrade numpy

* pin scipy

---------

Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
Co-authored-by: Yassine <yassine.y10@gmail.com>

* revert that

* fix linter

---------

Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
Co-authored-by: Yassine <yassine.y10@gmail.com>
2023-07-20 21:56:57 -07:00
Adeeb Shihadeh
9c307f2550 Revert "Update pycapnp and Cython (#29021)"
This reverts commit 76ef1b9b9f.
2023-07-18 18:47:35 -07:00
Maxime Desroches
76ef1b9b9f Update pycapnp and Cython (#29021)
* cython + pycapnp

* from_bytes with context

* poetry lock

* limit numpy

* force build

* Revert "force build"

This reverts commit 8c7cb00421da9d0f1b7da2c94f75e9c43733f840.

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-07-18 16:40:36 -07:00
Shane Smiskol
4bec6b7ab7 car_helpers: add variable to disable FW cache (#28626)
* Update car_helpers.py

* actually caches the fw

* simpler
2023-06-22 01:20:40 -07:00
Shane Smiskol
5aebdb0ad0 Car docs: pass docs flag to car interfaces (#27311)
* docs

* docs

* docs

* docs

* use docs in gm
2023-04-18 12:22:22 -07:00
Shane Smiskol
42449b482d 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
2023-03-23 00:14:31 -07:00
Shane Smiskol
e2f4a82c03 Add CAN fingerprint to qlog (#27574) 2023-03-14 14:00:39 -07:00
Shane Smiskol
5dde8f2c84 Write boardd param to continue startup (#27354)
disable at the bottom
2023-02-15 15:52:10 -08:00
Shane Smiskol
c4b84783a0 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
2023-02-14 17:55:41 -08:00
Adeeb Shihadeh
0eeb69a5d0 boardd: enable fingerprinting with both multiplexed modes (#27159)
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-02-01 19:50:48 -08:00
Shane Smiskol
2a6de71cc0 get_present_ecus: check available pandas (#27181)
* add num_pandas to get_present_ecus

* always bugged me

* move this to function signature
2023-02-01 18:38:00 -08:00
Adeeb Shihadeh
c408b7e306 UI: show experimental long available to release users (#26910)
* UI: show experimental long available to release users

* more description

* cleanup

* hide toggle

* fix process replay

* clear param

* actually fix
2023-01-19 23:06:18 -08:00
Shane Smiskol
7bf70bf7d8 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
2022-10-17 23:04:06 -07:00
Shane Smiskol
cf1e978ad1 Fingerprinting: log if using cache (#25989)
* Log if using cache or not

* log in the same log message
2022-10-06 15:56:41 -07:00
Shane Smiskol
e7805eb5c5 FPv2: fixed fingerprint overrides query result (#25990)
* query FW versions if fixed (override after)

* skip here

* also skip here

* and here
2022-10-06 15:24:52 -07:00
Shane Smiskol
4d7f4b4c9d IsoTpParallelQuery: don't return rx_addr (#25934)
* revert isotpparallelquery returning rx addr for functional special case

* we don't really use the tx addr (and soon won't make sense with fun querying)
2022-09-30 16:01:22 -07:00
Adeeb Shihadeh
655a64b603 single longitudinal toggle for e2e and disable radar (#25688)
* single longitudinal toggle for e2e and disable radar

* write disable radar param

* rename

* better param name

* clean that up

* update refs

* update translations

* not live for experimental

* write it out

* vanish
2022-09-07 17:12:49 -07:00
Adeeb Shihadeh
6590fb2b93 pre-commit: add codespell (#25571) 2022-08-30 11:20:55 -07:00
Adeeb Shihadeh
6b74be53ae check vin validity (#25199) 2022-07-25 13:31:39 -07:00
Shane Smiskol
3a8f17111c Log VIN response address (#25148)
* log vin rx addr

* clean up
2022-07-13 01:10:56 -07:00
Greg Hogan
89d1d9f6df firmware fingerprinting: order brand requests (#23311)
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2022-07-09 00:55:40 -07:00
Shane Smiskol
5f77451aec FW fingerprinting updates (#25088)
* Print brand along with ecu

* fix json decoding

* fw_versions updates

* add timeout handling back

* keep logging the same
2022-07-08 13:46:09 -07:00
Shane Smiskol
f0062f6242 Toyota: fix BSM detection (#24964)
* revert to 1 second

* Revert "revert to 1 second"

This reverts commit 6ab3f75cb73fdfe254431c479b6d337030b0d538.

* Revert "remove toyota can fingerprinting exceptions (#22803)"

This reverts commit d8f5e8b7a4.

fix static analysis

* Revert "Revert "remove toyota can fingerprinting exceptions (#22803)""

This reverts commit fc359fc9b2db146d77b6533be9e7434f08a665df.

* 1 second for all brands

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2022-06-30 15:01:52 -07:00
Shane Smiskol
cccab50b16 FPv2: log all present ECU addresses (#24916)
* eliminate brands based on ECUs that respond to tester present

* make it work

* Add type hint for can message

Use make_can_msg

* Only query for addresses in fingerprints, and account for different busses

* These need to be addresses, not response addresses

* We need to listen to response addresses, not query addresses

* add to files_common

* Unused Optional
Drain sock raw

* add logging

* only query essential ecus

comments

* simplify get_brand_candidates(), keep track of multiple request variants per make and request each subaddress

* fixes

make dat bytes

bus is src

Fix check

* (addr, subaddr, bus) can be common across brands, add a match to each brand

* fix length

* query subaddrs in sequence

* fix

* candidate if a platform is a subset of responding ecu addresses

comment

comment

* do logging for shadow mode

* log responses so we can calculate candidates offline

* get has_subaddress from response set

* one liner

* fix mypy

* set to default at top

* always log for now

* log to make sure it's taking exactly timeout time

* import time

* fix logging

* 0.1 timeout

* clean up

Co-authored-by: Greg Hogan <gregjhogan@gmail.com>
2022-06-20 22:14:13 -07:00
Adeeb Shihadeh
0fce5d9045 Move a bunch of stuff to system/ part 3 (#24829)
* move swaglog.py

* timezoned

* logmessaged

* version.py

* fix linter
2022-06-11 23:19:27 -07:00
Shane Smiskol
3fbbb7f4b0 Common interface attribute function (#24731)
* replace get_attr_from_cars with get_interface_attr

* and not combining the brands

* explicit check

* minimize diff

* values
2022-06-03 04:16:39 -07:00
Adeeb Shihadeh
36fdf50f98 handle bad VIN (#24712) 2022-06-02 22:01:37 -07:00