* 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 ae77d5cd54.
* 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: 6acf763db4
* 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 6156bcd674.
* better msg
* yes we do
old-commit-hash: 1306edd085
* rm from ed882557605319f9
* rm from 310cf131d28b30d8
* rm from e6dd11f4969e1f74
* rm from 145908dabb729ad9
* rm from b938870bef07f799
* rm from b0af2fff166d80fe
* unknown about these, but safe to do this
* rm from 077309a26bf98013
* rm from 01d4ba35f8288743
* rm from b5374bdeea21f5ce
* rm from 979eb0f6c3682a58
* rm from eb5a50f9e98f50b9
* rm from 786fc028c014be71
* rm from 3f77febac29e35d5
* these also unknown, but should be safe
* format!
* test all ecus
old-commit-hash: ae6761f508
* rm from e8421f268ea89d79
* rm from 9d4fa1c83653b90b
* rm from 3f77febac29e35d5
* rm from 979eb0f6c3682a58
* rm from 077309a26bf98013
* rm from ef8d357a38dc4cf2
* these are probably fine
* rm from 54f0bbcb6527012e
* rm from 051378e6086bc3ef
* rm from 561e5f3991916e4b
* rm from 3fd9853538e1bca9
* rm from c8f86b163152d2c5
* rm from 40725113b3e20872
* rm from 3c8bfd637f561f13
* rm from 129db7c75bce8445
* format and test radar
* eps!
old-commit-hash: 6b710a5d89
* rm from ed882557605319f9
* rm from ffce4a1d578827ee
* rm from 700d37ccd12315cf
* can't find, but probably same
* rm from 15755effe9d073b1
* rm from 5b7caafa7ec1a5cf
* rm from ec07911a91f863f3
* rm from 7627c16a16a6f69b
* rm from 007d5e4ad9f86d13
* rm from 06a3b9e474ce581d
* rm from 22203eb8892a6f28
* rm from ff973b941a69366f
* rm from 3ea622c3c0ec3055
* rm from https://github.com/commaai/openpilot/pull/23517
* rm from b0e1cdf87262c7ad
* old format FW version
* rm from 54f0bbcb6527012e & 4cbcc16b655c1591
* test abs
* format
old-commit-hash: bbd08baacd
* 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: b0eb3ba4f4
* Hyundai: Add FW Versions for 2019 Elantra
* wrong platform
* Update selfdrive/car/hyundai/values.py
* split platforms again
* add engine and other trans
* legacy: don't trust long
* fix
* elantra has no eps and i30 has no dates as well
* 19 still has no sng
* new harness
* todo comment
* Update CARS.md
* re-did
* add back
* rev
* Add Elantra 2017 FW from f6f9e1708bae2ef6
* Add Elantra 2017 FW from 5af39b105269f0f3
* Add Elantra 2017 FW from 2e158bb0e7396dd9
* should be all i30 and elantra drivers
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 820cccf8d9
* add 2019 OptimaH
* fix
* fix gears
* rename
* should be in unsup long
* fix
* probable cause
* add test route
* update docs
* fix test
* spacing
* note it's only old
old-commit-hash: 39c8bfc09c
* cmt
* common parts
* add code and date
* Revert "add code and date"
This reverts commit 47f9ac84ca.
* Revert "common parts"
This reverts commit aa5683bbce.
* add back to santa cruz
* todo
* part number test
* pass test
* Update selfdrive/car/hyundai/tests/test_hyundai.py
old-commit-hash: 398dd77114
* 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 3251b9cc5c.
* 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 5cdb7bda83.
Revert "check all possible ecus exist, only platform codes, slightly refactor main loop"
This reverts commit d3e918fa20.
Revert "copy existing fuzzy func"
This reverts commit 34c8c05450.
Revert "different method first draft"
This reverts commit b91139055d.
* 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
* 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
* 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
* 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
* 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 ab88a7e7df.
* 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: 7bf70bf7d8