Commit Graph

2583 Commits

Author SHA1 Message Date
Maxime Desroches 7be2b51229 simple fuzzing test for all processes (#28584)
* working test

* classmethod

* review

* add to ci
old-commit-hash: bac193bdd5
2023-06-20 10:57:02 -07:00
Jason Young fbce1c9863 VW MQB: Add FW for 2023 Volkswagen Taos (#28596)
old-commit-hash: 2b49a4754b
2023-06-19 09:52:57 -07:00
Cameron Clough c451cd3017 docs: fix footnote typo
old-commit-hash: b2295c979e
2023-06-17 12:24:20 -07:00
Cameron Clough 7e9f1e1b79 Ford: remove Focus Mk4 from dashcam only (#28551)
old-commit-hash: 78bb637993
2023-06-17 15:16:59 +01:00
Shane Smiskol b02345b12d Nissan FPv2: log different diagnostic session types (#28585)
* standard KWP2000 diagnostic session type

* draft

* clean up

* not needed

* update FP refs

* should log logging
old-commit-hash: 2f2b94758b
2023-06-17 02:39:58 -07:00
martinl 91e7bf83b8 Subaru: log stock AEB (#28052)
* Subaru: log stock AEB

* Remove stockFcw from stockAeb

* Subaru: Add FCW_Cont_Beep to stockFcw signals

* add ES_Brake

* use actuation bit

* bump opendbc

* remove aeb from UI

fix

* Update selfdrive/car/subaru/carstate.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 5cb9360fa0
2023-06-16 22:48:09 -07:00
Shane Smiskol 8e94cb76e6 Ford: add new engine FW for Bronco Sport (#28586)
add new FW

d5f0cbd9ceba7d0c|2023-06-16--17-14-20
old-commit-hash: 6459d46086
2023-06-16 22:45:13 -07:00
Jafar Al-Gharaibeh 75d84438f0 Mazda: Fix BSM detection with blinkers (#27919)
* Mazda: Fix BSM detection

Submitted-by: Samuel <samuel95_54@hotmail.com>
Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com>

* bump opendbc

* use new signals

---------

Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 354b5be9c3
2023-06-15 20:50:21 -07:00
wilderko e600e4d8b4 Added new fingerprint of VW California 2021 (#28504)
* Added new VW California 2021

* duplicate eps

* hex

---------

Co-authored-by: Pavol Luptak <wilder@pop-os.localdomain>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 10a392a7f1
2023-06-15 18:48:15 -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: 3fc104fb6d
2023-06-15 17:01:13 -07:00
Jason Young 38ed81468e VW MQB: Add FW for 2016 SEAT Leon (#28561)
old-commit-hash: 150cda68c2
2023-06-15 16:46:25 -07:00
Shane Smiskol 6e2a086252 FPv2: don't add debug candidates to versions globally (#28562)
* debugging

* this test works, but find a better place

* make test more generic to start testing more than timings

no need to run again in another test function. eventually we
can simulate ECUs and have IsoTpParallelQuery work properly

* Revert "make test more generic to start testing more than timings"

This reverts commit 58e8536b1d8b138902d373e1e1194e70c9eb4b24.

* 2nd try

* clean up

* not even MappingProxyType works

* works

* test that too

* clean up

* refactor to avoid modification online

* revert tests

* more revert

* no longer needed

* clean up
old-commit-hash: 56614124f0
2023-06-15 16:32:32 -07:00
Jason Young b43b2d6a7b VW MQB: Add FW for 2017 Volkswagen Golf (#28559)
old-commit-hash: 4b63feddec
2023-06-15 13:18:35 -07:00
Shane Smiskol 5f3569faf2 HKG: use platform codes to fuzzy fingerprint (#28531)
* get gas/ev/hev from FW (not all correct, poc)

* add test for essential ecus for fuzzy fingerprinting

* kinda works

* stash

* clean up

* add code

* simpler

* use the function

* test it with our cars

* no re

no re

no re

* debugging

* handle empty dict

* simpl

* this is promising

start on making existing fingerprinting functions use the config, instead of entirely replacing them

* needs to allow 1 match

* lay out how this should look

* changes

* executable

* some work

* use config

* fuzzy ecus

* config test

* comment and some clean up

* test platform codes

* use regex, simpler and fixes bug

* in func

* rm bad func

* typing for new func and remove old from dc

* todo done

* tested!

* remove fake platform codes

* thought we needed this, but actually...

* not needed

* not applicable any more

* use config for essential ecus

* first draft of test to make adding/removing fuzzy FP platform intentional

* compile

* clean up test

* even cleaner

* fix default ecus type

* temp fix

* this is mostly in tests now

* test every fuzzy ecu fw returns one platform code

* experiment with dates

* Revert "experiment with dates"

This reverts commit 3251b9cc5c3ca41ca92c8b75ad9b2234b720aa0b.

* clean that up

* comment

* test

* work on all cars

* fix fuzz_fw_fingerprint

* comment

* get first by search

* bit more clean up

* and more

* use compiled pattern for nicer syntax

* default

* flip dat around, much cleaner

* clean up hyundai test a bit

* flip order

same here

* rename test and flip subTest

* fix pylint

* revert fw changes

revert fw changes

* line

* add original functions to test

* needs to be a list

* cmt

* draft (need to count one ecu as a match)

* tiny clean up

* todo: date range

* only in notebook

* remove comment (still can be either list or set)

* same, only notebook

* more consistent signature

* copilot inspired

* copilot no good

* test for date parsing

* better name

* good, now we don't have to worry about the dates mismatching in another test/logic

* comment up+

* some stuff

* clean up

fix test

fix test

* test

* comment

* use utils

* clean up (utils are cleaner and less buggy)

* clean up (utils are cleaner and less buggy)

* fixup test

* use a dash (prettier) and remove some platforms that can fingerprint now!

* compile global pattern

* same as what we do in values

* remove comments

* fuzzy_get_platform_codes is one or none here

* more clean up

* sort imports

* woah woah woah

* add comment

* fix reassigning different types

* add types

* adapt fuzzy test recently added (nice it caught this!)

* update lock

* options

comments

* stash

* comments and fixes

* better comments

* better

* test: run on exact fuzzy matching logic, same results!

* use match_fw_to_car

* test all fw

* ex

* unused random

* this is a possibility

* this is more clear

* fix

* revert

* revert to needing both ECUs to match to reduce false positives, test

* fix excluded platform test :( but it's ok

* add comment

* we actually want to only test fuzzy ecus to make it explicit

* fix mypy

* comment for tomorrow

* just add matches with fuzzy FP

* add comment

* this was the cleanest I could think of, but still working on it. not very easy to understand

* think this is better, but also worse...

* comment: reframing how this works

* revert back to what we did before

* was swapped

* else set

* remove old comment

* fixes from merge

* remove fuzzy_min_match_count from this pr

* fix static analysis

* also unused

* different method first draft

* copy existing fuzzy func

* check all possible ecus exist, only platform codes, slightly refactor main loop

* fix

* Revert recent

Revert "fix"

This reverts commit 5cdb7bda835f1e48e750ab4195e891afe08e11ea.

Revert "check all possible ecus exist, only platform codes, slightly refactor main loop"

This reverts commit d3e918fa20fa4ce881445850f5f7428a3c11adf8.

Revert "copy existing fuzzy func"

This reverts commit 34c8c0545097c84f55f4b4f61907606c93760ddd.

Revert "different method first draft"

This reverts commit b91139055d7d1802c1eb726504798c156a183c9c.

* new func

* fixup test

* remove changes from v1 from fw_versions.py

* clean up a bit

* return part as part of code

* fix test

* add original fuzzy function

* add an ecu match if the date is within range (or date doesn't exist)

* add format for what we're going to do

* not working stash

* the exact matching function does more of what we want with less code and less custom logic

* we don't care about found versions, only codes and dates

* actually we do have an exception

* this works pretty nicely now

* up here

* this is better

* some minor clean up

* old function=now junk

* fix platform code test

* remove old platform code function

* now rename _new to

* use FW_QUERY_CONFIG

* clean up imports

* rename that too

* one line

* correct typing

correct typing

* draft tests

* so that works

* fixup excluded platform test now too

* this is tested by excluded platform test

* test parts and dates

* remove old comment

* old import

* take platform code stuff out of FwQueryConfig

* fix test

* revert debug script

* flip order

* make this a set by default

* revert this part

* correct typing

* clean up comments

* clean that test up too/pylint

* combine these three tests ina clean way

* not right

* more general

* be consistent with quotes

* comment

* comment

* comment in fw_versions

* flip order

* this is more readable

* could test all this, but it's tested in test_hyundai and doesn't do a lot here

* only assert brands which use this

* invalidate all CAN FD ICE and hybrid

* tuple

* can get away without filtering

* add comment reasons

* fix

* some review suggestions

* this works (first draft)

* this is better

* script to print platform codes and dates

* sanity check for dates are in correct ecus and platforms

* mypy

* better variable name and comment

* rename

* same

* slightly better name

* subset

* exclude platforms and live car without dates

* consistent

* self explan

* better name

* test to make sure the functions agree

* clean that up

* comment

* we get other responses from queries not in DB, only check any

* not used or typed
old-commit-hash: f788edb6a5
2023-06-15 02:50:45 -07:00
Shane Smiskol df924490d9 HKG: test list of platforms with no fwdCamera dates (#28555)
* no dates test

* sorted
old-commit-hash: 2166adda5f
2023-06-15 02:14:33 -07:00
Shane Smiskol 8e29e20860 FPv2: rename live FW versions dict (#28550)
rename
old-commit-hash: e771660fa3
2023-06-15 01:29:55 -07:00
Shane Smiskol cfc79b5e8d HKG: add script to view platform codes (#28549)
add script
old-commit-hash: c453771492
2023-06-14 15:54:04 -07:00
Cameron Clough 24c600b9ce Ford Escape 2020 FW (#28545)
old-commit-hash: 7a5b0b97e1
2023-06-14 15:53:58 +01:00
Shane Smiskol a51819e9bb Hyundai FPv2 unit tests: clean up (#28542)
* be consistent with quotes

* combine tests

* cmt
old-commit-hash: d94c2a8ef7
2023-06-13 22:17:47 -07:00
Shane Smiskol 8464cdf3ec FPv2 timing unit test: halve runs (#28540)
Update test_fw_fingerprint.py
old-commit-hash: 6c619561ee
2023-06-13 21:26:31 -07:00
Shane Smiskol 4120ee014d FwQueryConfig: remove platform codes (#28538)
* bring platform codes out of config for now (can re-introduce later)

* clean that up

* flake8

* comment

* comments and better test names

* typo

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

* Update selfdrive/car/hyundai/tests/test_hyundai.py
old-commit-hash: 572a221a86
2023-06-13 20:41:03 -07:00
Maxime Desroches 5a13d234d4 Fix index out of bound error for body carcontroller (#28539)
old-commit-hash: 348df9c974
2023-06-13 20:37:17 -07:00
Shane Smiskol 1b7d771059 exact matching: use set for invalid (#28537)
use set
old-commit-hash: fcc268b8be
2023-06-13 20:00:54 -07:00
Shane Smiskol 40bc230fef HKG: split up platform code parsing (#28532)
* test diff

* clean up

* clean up

* doesn't work :(

* fix mypy
old-commit-hash: 55e489db7c
2023-06-13 14:47:45 -07:00
Shane Smiskol 24af8edc7f HKG: FW part number test (#28525)
* start on test

* better regex

* lookbehind

* comments to choose from

* i did not know that!

* common patterns in values.py

* messy messy

* need to remove these

* rmrmrm

* clean up test

* fixups

* not used yet

* none should be good enough

* Update selfdrive/car/hyundai/values.py
old-commit-hash: e54d05b42f
2023-06-13 02:01:40 -07:00
Shane Smiskol 52de14c8a1 Hyundai: remove old Sonata FW (#28527)
* Update values.py

* can't find last 2 years
old-commit-hash: 7fffb892e4
2023-06-13 00:26:02 -07:00
Shane Smiskol ef8e399237 Hyundai: remove old Elantra FW (#28526)
* Update values.py

* don't see this fw last 2 years

* add version from 3ea622c3c0ec3055

* Update selfdrive/car/hyundai/values.py
old-commit-hash: 8c784ae558
2023-06-13 00:14:49 -07:00
Shane Smiskol a9986892c0 Subaru: use latActive for steer request bit (#28453)
* subaru: use latactive

* Update ref_commit
old-commit-hash: bce19bf187
2023-06-12 23:03:04 -07:00
Erich Moraga ace8d7433b Add several missing RAM_1500 firmwares (#28515)
`ProjectZ3d#8762` 2023 RAM 1500  DongleID|route 4e0a5220533d9a86|2023-06-11--19-45-36
old-commit-hash: 9444df4c80
2023-06-12 15:18:35 -07:00
Jason Young a77df10dba VW MQB: Add FW for 2018 SEAT Leon (#28500)
aef9c04d6ec5cd57|2023-06-11--17-40-14
old-commit-hash: 5250975fa3
2023-06-11 13:07:46 -07:00
Cameron Clough a2bb797670 add Lincoln Aviator 2020 FW (#28494)
0b91b433b9332780|2023-06-11--13-43-59

VIN: 5LM5J7XC9LGL15606
old-commit-hash: a5a0d734ba
2023-06-11 12:57:22 -07:00
Cameron Clough c167ae232f Ford: shiftByWire ECU not used for fingerprinting (#28493)
old-commit-hash: 96420555e5
2023-06-11 00:09:57 -07:00
Cameron Clough 1befc68287 Ford: detect auxiliary panda (#28491)
old-commit-hash: 30c12e4557
2023-06-10 23:22:12 -07:00
Cameron Clough 5afe1c0ed0 selfdrive/car: reusable CanBus helper (#28489)
old-commit-hash: 28bf743693
2023-06-10 22:50:19 -07:00
Shane Smiskol de4b702ec3 FwQueryConfig: add platform code support and tests (#28475)
* add config options

* you know what, platform codes don't need to be related to fuzzy fingerprinting at all

* better comment?

* add comment

* add test from other PR

* add platform code function to hyundai

* comment and add eps!

* clean up config test

* fix test

* add error message to test

* until we have multiple ways a brand can set up fuzzy FP, let's leave func name fuzzy-specific

* rename in comment too

* hyundai tests

* simpler test!

* check all ecus with platform codes

* add types-python-dateutil = "^2.8.19.13"

* these aren't used any more

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

* not to imply this is active yet
old-commit-hash: f5e032b67f
2023-06-09 22:51:55 -07:00
Maxime Desroches dcdb4db5b9 car docs: test print_docs_diff (#28459)
* test print docs

* delete

* remove this

* print
old-commit-hash: 181b44b28e
2023-06-09 14:13:22 -07:00
Shane Smiskol 1b5e039afd Honda: set autoResumeSng for docs (#28458)
set autoResumeSng for Honda
old-commit-hash: 7a64385fcd
2023-06-09 11:20:42 -07:00
Shane Smiskol 1a3b5137b6 FPv2: add comment about nuance of fuzzy fingerprinting (#28465)
add comment describing this nuance of fuzzy fingerprint function
old-commit-hash: 3234243c97
2023-06-08 20:47:55 -07:00
Shane Smiskol c73ef08d08 FPv2: fix accidental FW version concatenation (#28462)
* fix missing commas

* more

* Revert "more"

This reverts commit ebe481fee44f284a598ad9d5a83da37653faee99.

* only
old-commit-hash: 5736cb8a7e
2023-06-08 19:53:45 -07:00
Shane Smiskol 30f43f5f82 FPv2: assert non-empty FW lists (#28441)
* test empty fw lists

* fix

* generic test name

* can rmeove this check now

* and here!

* can remove that

* add to print
old-commit-hash: f976fce7d0
2023-06-07 00:05:41 -07:00
Shane Smiskol 5482d71145 fuzzy fingerprint: track number of matching ECUs, not FW versions (#28423)
* first attempt trying to do it implicitly bad

* back to lists and explicitly do this

* continue checking if candidate switches on these, that's fine to check

* debugging

* clean up

* more clean up

* spot free

* only need to create/update on change

* fix test

* draft

* Revert "draft"

This reverts commit dbe32f58b172eddc8f9699044c6a5956e753305d.

* Revert "fix test"

This reverts commit 1d34269fe2de35d314aa0658fa47a78a08d93e08.

* fix test for real

* first draft of test

* this should be good

* can replace existing fuzzy test

* rm

* matching

* test non-empty fws

* TEST DOWN HERE

* no test

* unique + fix skip message + comment + clean up

* less confusing

* ing

* better
old-commit-hash: 9e8936be98
2023-06-07 00:03:01 -07:00
Shane Smiskol 5cbd015f3a FPv2: test minimum fuzzy fingerprint ECUs (#28433)
* basic messy test

* draft

* clean up

* clean up

* clean up

* clean up

* never was fuzzy, but be explicit

* switch it up
old-commit-hash: 0acc30d264
2023-06-06 21:38:10 -07:00
Shane Smiskol 9feba19670 FPv2: brand filter helper (#28439)
* pass in brand

* needs to be flipped for exact matching since it's subtractive

* new helper

* makes more sense flipped

* clean up

* not that stuff here

* not here
old-commit-hash: 2b07ec4bde
2023-06-06 21:14:03 -07:00
Shane Smiskol 83f4532169 match_fw_to_car: pass down log (#28434)
pass in log from match_fw_to_car
old-commit-hash: 2dda9a0532
2023-06-06 20:28:56 -07:00
tanotaru 876a237d90 VW: 2018 Audi RS3 FW (#27467)
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

old-commit-hash: 3785962684
2023-06-06 17:25:03 -07:00
Saber422 59572afeee VW MQB: Add FW for 2023 Skoda Koidaq RS (#28332)
0bbe367c98fa1538|2023-05-29--13-59-08--0

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

old-commit-hash: d97d908a2a
2023-06-06 16:15:25 -07:00
Vincent Wright a197a2ab7f Added additional Firmware for Ram 1500 (#28392)
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

old-commit-hash: 0d51a64bf2
2023-06-06 15:58:46 -07:00
Vincent Wright 51cdaa6cc3 More missing FW for the Ram 1500s (#28397)
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

old-commit-hash: ffa10d784a
2023-06-06 15:57:41 -07:00
John Paull bf8c9dd0ea Hyundai: add missing FW for Santa Fe Hybrid 2022 (#28410)
* values.py

added additional Firmware

* add fwdCamera too

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
old-commit-hash: 80623956ae
2023-06-06 13:07:48 -07:00
Saber422 deaf568649 VW MQB: Add FW for 2020 Skoda Kodiaq (#28428)
VW MQB: Add FW for 2020 Skoda Kodiaq

route name:cd4c3e2031f01e61|2023-06-04--19-53-13--0
old-commit-hash: 5b3ddabf51
2023-06-06 11:56:55 -07:00