Commit Graph

23 Commits

Author SHA1 Message Date
Jason Wen 66e131a76d Hyundai: split Elantra and Elantra GT (i30) platforms (#29969)
* 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: 820cccf8d991450f72b3b80f91749b43fb3a90cc
2023-10-21 03:16:50 -07:00
Shane Smiskol ef8028f134 Car tests: fix serialize error on fail (#30185)
* Update test_toyota.py

* fix others

* fix
old-commit-hash: 9350b7e179d49b0c9ea29b7597660008430eed5a
2023-10-06 00:07:37 -07:00
Shane Smiskol 373ec5a067 HKG tests: assert standard FW requests in database (#30061)
* test to help catch random FW in PRs

* just fwdCamera

* better?
old-commit-hash: 7073882f87b1ecc4934fd42ff2ade4c8e9fed6e9
2023-09-26 16:41:24 -07:00
Shane Smiskol 78464b1d86 Hyundai: use EV/hybrid car lists for ELECT gear signal (#30009)
* remove duplicate hybrid/ev list

* test
old-commit-hash: 2ebf0b186e76e0027098fb0e39980760f38723f3
2023-09-22 21:52:29 -07:00
Shane Smiskol 75f4227690 Kia: Optima Hybrid 2019 car port (#29992)
* 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: 39c8bfc09c8add627b573583572e6bf46983e9bd
2023-09-22 00:58:14 -07:00
Shane Smiskol 8ca1aceb8c Hyundai: add platform code fuzzy FW test (#29847)
add test to assert no crashing
old-commit-hash: c61479b1aebcf9b713865d18b3e37947c821cca6
2023-09-08 15:15:22 -07:00
Shane Smiskol 5c8edc34f3 Kia: add test route for Optima Hybrid (#29520)
* add Optima H FW

* undashcam

* add to routes, but keep in dashcam mode for now

* rearrange
old-commit-hash: 3b69187b67357cbcba7a665af626147d8f52a347
2023-08-25 20:12:57 -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
Shane Smiskol 559c626fd1 add Kia Niro Hybrid 2019 to legacy safety mode list (#29472)
* add Kia Niro Hybrid 2019 to legacy safety mode list

* list

* test

* update docs

* space
old-commit-hash: 38f15237420e911294ff12f541529d21242e51aa
2023-08-18 20:57:42 -07:00
Justin Newberry a14f162bc7 Ruff: comprehensions conventions (#29317)
ignore c408
old-commit-hash: 4a9afd7554060ac5353e96f1d7feb06d3a3671e9
2023-08-10 16:40:30 -07:00
Shane Smiskol d3f018c45c Hyundai: blacklist bad camera FW (#28318)
* cmt

* common parts

* add code and date

* Revert "add code and date"

This reverts commit 47f9ac84cae8d1e73dc2b5af7d5701adc83da6eb.

* Revert "common parts"

This reverts commit aa5683bbce5b5e8e8414f5b90df9add3998e98ab.

* add back to santa cruz

* todo

* part number test

* pass test

* Update selfdrive/car/hyundai/tests/test_hyundai.py
old-commit-hash: 398dd771144fab835ebab4feebb4461f759bd07f
2023-07-08 01:33:41 -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: f788edb6a5c8d3f516076f886fe0d831ee43b580
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: 2166adda5f9c5a58c175c87d6e5f73e3d90d2e4f
2023-06-15 02:14:33 -07:00
Shane Smiskol cfc79b5e8d HKG: add script to view platform codes (#28549)
add script
old-commit-hash: c4537714925bed4b380c4a981669491f7a692031
2023-06-14 15:54:04 -07:00
Shane Smiskol a51819e9bb Hyundai FPv2 unit tests: clean up (#28542)
* be consistent with quotes

* combine tests

* cmt
old-commit-hash: d94c2a8ef7c0fd961c53ffb71ee79451eefa2d5f
2023-06-13 22:17:47 -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: 572a221a86d8048baba3fe50d6a950e4775f6f9f
2023-06-13 20:41:03 -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: e54d05b42f9f3e161f168dcc352a6e95cc60ad28
2023-06-13 02:01:40 -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: f5e032b67f6e37d2c12dcd90168a2b33b3b78831
2023-06-09 22:51:55 -07:00
Shane Smiskol 9676e15736 Hyundai: add CAN FD feature test (#27834)
* rename two can-specific feature lists

* the other lists don't say CAN_

* like to be safe
old-commit-hash: 2b6a3dcfd015de45018f49718475c4e2f8efb738
2023-04-07 14:16:48 -07:00
Shane Smiskol cc95e508a4 Hyundai: rename gears feature list (#27835)
just rename
old-commit-hash: 75b2c5a2a45e48f44fef25f6922bad1d65ae10ee
2023-04-07 14:15:14 -07:00
Shane Smiskol c63da0423b test: fix Honda and Hyundai tests (#27606)
test honda and hyundai
old-commit-hash: fe358102f2df380c070b3cfaed28cd3c9d2ea91b
2023-03-16 14:31:55 -07:00
Shane Smiskol 4e63d2d7e6 Hyundai: clean up fingerprint test (#27079)
* Clean up Hyundai test

* fine
old-commit-hash: 01fa0ca69dd7d6633bab754c3122efe0bc5a330c
2023-01-24 23:34:55 -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