Commit Graph

294 Commits

Author SHA1 Message Date
Shane Smiskol ae58ed5473 Toyota FPv2: log telematics ECU (#28613)
* add electronic parking brake ecu

* add

* add to whitelists

* update refs
old-commit-hash: ae0d1635b4b8532d0ee07729ba8ae10e06099ec2
2023-06-21 00:32:40 -07:00
Shane Smiskol b3f4985151 Toyota FPv2: log electronic parking brake ECU (#28612)
* add electronic parking brake ecu

* add comment

* bump

* screw sequential subaddrs
old-commit-hash: 12be5afb8a6973cda25ad78779e6cd22fe8694e3
2023-06-20 23:53:20 -07:00
Maxime Desroches 7be2b51229 simple fuzzing test for all processes (#28584)
* working test

* classmethod

* review

* add to ci
old-commit-hash: bac193bdd518a260bfbbdb4893520c4263ab2be6
2023-06-20 10:57:02 -07:00
Cameron Clough 7e9f1e1b79 Ford: remove Focus Mk4 from dashcam only (#28551)
old-commit-hash: 78bb6379937aae489dff501ec10694ff3aac17df
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: 2f2b94758bfa3c5bb8790c3828db420e7da9f0dc
2023-06-17 02:39:58 -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: 3fc104fb6d9db5f4853b61c4c525b581e0caad72
2023-06-15 17:01:13 -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 8464cdf3ec FPv2 timing unit test: halve runs (#28540)
Update test_fw_fingerprint.py
old-commit-hash: 6c619561ee7fc45ba8abb10bc37ec027fab0ba88
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: 572a221a86d8048baba3fe50d6a950e4775f6f9f
2023-06-13 20:41:03 -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
Maxime Desroches dcdb4db5b9 car docs: test print_docs_diff (#28459)
* test print docs

* delete

* remove this

* print
old-commit-hash: 181b44b28ea51429e270eb2c7a0cac20a871f214
2023-06-09 14:13:22 -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: f976fce7d0142088244ae4af8a1116691b621843
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: 9e8936be9863ea27c598685ee1b14775aa12cac4
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: 0acc30d2644729283cb3e3a6021c05e41f965ded
2023-06-06 21:38:10 -07:00
Shane Smiskol 31c1e66a01 car docs: document parts of parts (#28292)
* more stuff

* even more

* all parts func

* start to use it

* include self in parts

* use car_parts_new

* not used

* more usages

* remove get_parts

* remove more commented stuff

* remove iter

* clean up some more stuff

* more

more

* ford

* optional

optional

* nissan

* use new classes

* fix tests

* fix

* order

* no more required

* connector

* CARS.md

---------

Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
old-commit-hash: 024abe6455d44c7616ca7c694643c5324d0d371c
2023-05-31 21:30:50 -07:00
Maxime Desroches 734b6481b7 car docs: list all needed hardware (#28212)
* generic car parts

* better carparts

* add part type

* more tests

* multiple enums

* unit tests

* just check isinstance

* better name

* remove _connector suffix

* remove those hyundai lines

* remove default arg

* Revert "remove default arg"

This reverts commit 139650a3b6b94358c3b9b12bb5fbe0a326d7abad.

* cleaner code structure

* use fingerprint

* review

* abstrac data class + common

* no more dataclass

* conflict

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 9f5f8b603cf69b06c4804632268491cf38cfac7e
2023-05-22 10:17:33 -07:00
Maxime Desroches 4626add29c add harness kit content to the doc (#28139)
* add harness kit content to the doc

* parts as enum

* nissan

* merge column

* rename column

* scaling

* scaling again

* 500px

* align text

* more px

* add style

* more width

* more

* more

* smaller text

* make all text smaller

* prev width

* default list

* remove hidden a ref

* try to remove again

* revert

* replace harness with harness_kit

* try fix

* cleaner

* center everything

* make pylint happy

* allow more than 1 of each parts

* use copy module

* review

* testing spacing

* revert

* bigger text

* formating

* split harness col lines

* remove print

* resolve

* rename to view

* keep formating in template

* simplify

* add unit test

* more generic way

* better

* harness connector only

* comment

* review

* put back harness parts

* missing dash

* too much space

* don't reload when clicking

* shorter comment

* only last line

* generate

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 70677fe5fc044bff0ea99eab6bba5a6d02d5a85f
2023-05-15 15:33:54 -07:00
Cameron Clough fa70b20daf Ford: add Maverick test route (#28181)
* Ford: add Maverick test route

* docs

* bump
old-commit-hash: 202751a796580b6697f0e87f6e501fa909b679e0
2023-05-13 23:38:28 +01:00
JWingate80 5a37061d7e HKG: Genesis GV80 2023 support (#28069)
* Update values.py

* Update values.py

* Update routes.py

* Update values.py

* Update values.py

* Update interface.py

* Update override.yaml

* Updated car name in torque settings to the correct one

* Removed unused ECU's from GV80

Fix AssertionError: 3 != 0 : GENESIS GV80 2023: Car model has ECUs not in auxiliary request whitelists: Ecu.eps, Ecu.transmission, Ecu.engine

* Update routes.py

Updated to a better route

* Update routes.py

* Update test_models.py

* Update test_models.py

* Hopefully this route will work...

* Update selfdrive/car/hyundai/values.py

* Update selfdrive/car/hyundai/values.py

* this could use some cargo

* don't need to combine just yet

* add to docs and releases

* Update routes.py

* Update RELEASES.md

* Update routes.py

Updated route, hopefully this one works...

* Update selfdrive/car/tests/routes.py

* alphabetical

* update docs

* Update routes.py

Hopefully this route works

* Update routes.py

Trying segment 1 for GV80

* bump

* no need

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
old-commit-hash: 758a9d7c24e4736dd94cfbab127ab1414b3423a0
2023-05-06 23:18:06 -07:00
Cameron Clough d2881d6f48 Ford: add Escape test route and remove dashcam only (#28113)
* Ford: add Escape Mk4 test route

* generate docs

* remove from non_tested

* fix model years

* clearer packages for EU

* docs

* 2020 hybrid

26b2cace68e36212

1FMCU9DZ9LUA82589

* 2021 phev

1FMCU0LZXMUA80767

f8eaaccd2a90aef8

* add this too

* more docs
old-commit-hash: a0d2e4e711b5ca4f8e5267d6bf7c8f2e32765692
2023-05-04 17:21:36 -07:00
Shane Smiskol 15e6669b1f car interfaces: assert some friction (#28074)
* assert some friction

* duh

* convention

* order
old-commit-hash: 177ca52e76023e0e59deea0bd91b690de5b18a5d
2023-05-03 20:22:38 -07:00
Shane Smiskol d916e0ed2d Car docs: pass docs flag to car interfaces (#27311)
* docs

* docs

* docs

* docs

* use docs in gm
old-commit-hash: 5aebdb0ad0e7e527f5deb553ffd193abea02a357
2023-04-18 12:22:22 -07:00
Shane Smiskol 05e7547aa5 FPv2: add worst case timing test (#27917)
* can FP time

* add

* move the ref up

* assert function

* all brands

* Update selfdrive/car/tests/test_fw_fingerprint.py

* can this can vary a bit more

* or can it
old-commit-hash: 158c951d6fb0b2896800ec49dfa20d917567cccb
2023-04-14 23:41:12 -07:00
Adeeb Shihadeh 0e70553604 Hyundai: factor out bus numbers (#27903)
* mv bus

* mv that

* if len

* fix tests

* use that

* same name
old-commit-hash: 08e2149b0f0e62db8a30d4355d458b530167a7c0
2023-04-14 11:23:22 -07:00
AlexandreSato 4a7535fd17 Honda: HR-V 2023 port (#27731)
* initial commit

* HR-V is diff enought to split from Civic22

* Add US HR-V 2023

* update CARS.md

* Update RELEASES.md

* Use a alternative brake signal

* US HR-V have a weird noise in the BrakeSwitch

* Shane tunning

* this is added automatically

* sorry jyoung

* civic22_stop_faster

limit stopAccel to current safety model

* relax calib temporarily (12 deg)

relax calib temporarily (10 deg)

* compute accel (car overshoots requests at low speed)

* revert brake pressed caused controls mismatches

* fix crash

* cause a cruise fault

* Revert "cause a cruise fault"

This reverts commit 09a6469ac6fc38ebd38dd1c5d464712a15d0fde1.

* no brake error

* use alt brake

* Update selfdrive/car/honda/carcontroller.py

* change HONDA_BOSCH_ALT_BRAKE_SIGNAL to CP.flags

* Revert "change HONDA_BOSCH_ALT_BRAKE_SIGNAL to CP.flags"

This reverts commit e0f8123b33db3218f27c4b64a7b2a0b1f740860f.

* remove FPv2 from brazilian HR-V

* bump panda

* fix a bug

* revert calib threshold

* new test route

* separate pr

* update

* update that

* thought i removed this

* revert steer ratio

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 93c18105225ee03aa30d0a213ad5c4e4b1de624b
2023-04-14 03:12:10 -07:00
Shane Smiskol 16f852192a FPv2: add timing unit test (#27753)
* add timing unit test

* formatting

* not clean

* Revert "not clean"

This reverts commit dab35d582c274efc32d693fc0a2773d8727be2bd.

* Revert "formatting"

This reverts commit 56a1ae4bb721594cc68952e5747a3ebc652f62d9.

* need to consider subaddrs (0.3 to 0.7s for toyota)

* clean up

* move to test_fw_fingerprint

* use a thread to get real time

* lower threshold

* revert that

* ?

* some sleep

* at top

* use the config

* function to measure query time, similar to opendbc's convention

* revert that

* avg

* Update selfdrive/car/tests/test_fw_fingerprint.py

* draft

* starting a thread takes a long time!

* refs

* uncomment
old-commit-hash: f222d434b8da9fcff0769f0cc69ec9d23cd4ff9f
2023-04-14 02:21:52 -07:00
Shane Smiskol 85c7764c45 FW versions: import common variable (#27905)
* just import from fw_versions

* fix

* more fix
old-commit-hash: 1520716d429a7d4278c97d4689a6f77eae71bd40
2023-04-14 01:42:37 -07:00
Shane Smiskol 004da44410 Test lateral limits: fix jerk calculation (#27654)
* fix test

* add lower jerk limit, lower up tolerance

* add to ignored cars
old-commit-hash: 88ce2f7a52c909c74d935b81ca219d3f8c2854bf
2023-04-13 13:21:30 -07:00
Shane Smiskol 6670dee6c2 Lexus: support ES 2018 (#27683)
* add ES 2018

* standard

* add FW versions

* need to add a route

* verified

* add to DSU messages

* add to torque params

* older lexus do not have all-speed dynamic radar cruise control

* update docs

* Update selfdrive/car/toyota/values.py

* add CI route

* update docs

* add to releases

* assume no stop and go (can't know without dsu unplugged)

* Update selfdrive/car/toyota/values.py

* update docs

* update docs
old-commit-hash: 57f3b483e3e104bf0806db317b3e522360abf6d8
2023-04-13 12:17:03 -07:00
Yong-seok, Jang f8453b27d5 GM: Trailblazer 2021-22 support (#27830)
* Add trailblazer support

* Update routes.py

* Update routes.py

* Update CARS.md

* Fix incorrect torque name

* Update values.py and CARS.md

* Change to update another route

* update docs

* only 2021 https://en.wikipedia.org/wiki/Chevrolet_Trailblazer_(crossover)

only 2021

* new FP with missing addrs

* Update selfdrive/car/gm/interface.py

* tune the torque params

* update docs

* remove as a new platform

* Revert "remove as a new platform"

This reverts commit c9c65f29dbb1e1a5926540bb75433928325d6c0e.

* add comment and comment out FP

* need it to be in all_known_cars to test_model

* add to releases

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: e1ad8df5192c9273688ced8f4a379f6d65d09f4d
2023-04-12 23:32:03 -07:00
Josselin Lecocq 575d4b88d1 HKG: Car Port for Kia Niro EV 2023 (HDA1, European version) (#27788)
* Update values.py for 2023 Kia Niro EV

* Update interface.py for 2023 Kia Niro EV

* Update params.yaml for 2023 Kia Niro EV

* Update RELEASES.md for 2023 Kia Niro EV

* Update interface.py for 2023 Kia Niro EV

* Update routes.py for 2023 Kia Niro EV

* Update CARS.md for 2023 Kia Niro EV

* Update CARS.md for 2023 Kia Niro EV

* Put 2023 Kia Niro EV in CANFD_RADAR_SCC_CAR

* New values in params.yaml for 2023 Kia Niro EV

* Rollback - Remove CAR.KIA_NIRO_EV_2ND_GEN from CANFD_RADAR_SCC_CAR

* Update routes.py for 2023 Kia Niro EV

* Apply suggestions from code review

* use new route

* update cars

* test

* pass test

* add params, rename

* use average

use average

use average

use average

* around 2.05

* Update selfdrive/car/hyundai/interface.py

* Update selfdrive/car/hyundai/interface.py

* lower

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: e8d8304548b5b00a80e7170028d4fb146e448d72
2023-04-07 15:15:10 -07:00
eFini 3aafd33fd3 Toyota: support openpilot long with a smartDSU on nodsu models (#27417)
* init

* fix syntax

* add test route

* syntax

* cleanup

* bool

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 133721aafc0f8220a993a14fcade6ee8fc05c747
2023-04-01 15:34:55 -07:00
Shane Smiskol 0759da6d09 test lateral limits: remove Konas from blacklist (#27424)
* remove konas from blacklist

* update measured accel

* remove

* no longer needed
old-commit-hash: 8b8c4d810f84ae980f0a99c48e7fccc5888dc091
2023-03-22 13:37:09 -07:00
koch-cf b39f632403 GM: Buick LaCrosse 2017-19 support (#27332)
* Added Buick LaCrosse 2017

* Added Buick LaCrosse as candidate

* Added Buick LaCrosse CAR_INFO and Fingerprint

* Added Buick LaCrosse to non_tested_cars

* Added Buick LaCrosse

* Updated number of supported cars to 237

* Added ACC and LKAS description to Buick LaCrosse

* Updated CAR_INFO for Buick LaCrosse

* Added the Escalade which was recently updated

* Update selfdrive/car/gm/values.py

Suggested fingerprint by @sshane

Co-authored-by: Shane Smiskol <shane@smiskol.com>

* Premium is a trim with ACC. Use package name instead

* lacrosse custom FF;
fit info:
describe(steer_offsets) = DescribeResult(nobs=1649402, minmax=(-0.7127894163131714, 5.3997602462768555), mean=3.3090523060153645, variance=0.3130325564084465, skewness=-1.5986155151533736, kurtosis=8.18810418298873)
Samples: 1357787
Regularizing...
Regularized samples: 1140
speed: DescribeResult(nobs=1140, minmax=(8.478170424241286, 35.837870224662446), mean=27.888804767013475, variance=34.16742353763829, skewness=-1.068587303119431, kurtosis=0.6193071765927134)
angle: DescribeResult(nobs=1140, minmax=(-21.057768565637094, 28.516874490999708), mean=-0.4328602593886506, variance=43.19046813273241, skewness=0.001966426701503317, kurtosis=0.20547357649038434)
steer: DescribeResult(nobs=1140, minmax=(-0.8432471203007578, 0.9634959333674695), mean=-0.021981142946747863, variance=0.20152217060233915, skewness=0.03202313890158864, kurtosis=-1.2318826088567174)
Performing fit...
Fit: [5.85397825e-01 3.27650818e-01 4.60531117e-03 1.32307599e+01
 1.37194709e-01 1.33099557e-01 6.14782304e-02]
ANGLE_COEF = 0.58539783
ANGLE_COEF2 = 0.32765082
ANGLE_OFFSET = 0.00460531
SPEED_OFFSET = 13.23075991
SIGMOID_COEF_RIGHT = 0.13719471
SIGMOID_COEF_LEFT = 0.13309956
SPEED_COEF = 0.06147823
MAE old 0.2098, new 0.0309
STD old 0.1021, new 0.0273
deg 00-03:457, deg 03-06:258, deg 06-09:218, deg 09-12:132, deg 12-15:62
deg 15-18:6, deg 18-21:4, deg 21-24:1, deg 24-27:0, deg 27-30:2
deg 30-33:0, deg 33-36:0, deg 36-39:0, deg 39-42:0, deg 42-45:0

mph 10-15:0, mph 15-20:1, mph 20-25:18, mph 25-30:12, mph 30-35:30
mph 35-40:26, mph 40-45:52, mph 45-50:54, mph 50-55:73, mph 55-60:86
mph 60-65:204, mph 65-70:228, mph 70-75:179, mph 75-80:176, mph 80-85:1
mph 85-90:0,

* Update routes.py

* remove from non tested routes

* use torque controller

* update docs

* update releases

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: Tim Wilson <twilsonco@gmail.com>
old-commit-hash: ae423a68686ca258c40fa679b931011e99f5f780
2023-03-20 13:10:19 -07:00
Shane Smiskol 472d08fc2c Toyota: add 2023 RAV4/RAV4 Hybrid as dashcam (#27609)
* test out lta message

* correctly send

* percentage is percentage driver isn't overriding

* closer to stock system

* should be able to send LTA at 100hz, counter is the same as LKA

* small amount of torque towards desired

* Offset commanded torque correctly

* Too little torque

* use car's SETME's

* Revert "use car's SETME's"

This reverts commit c88856969995f97cc5ec4e2b24a5cc4e3ef4721a.

* try cutting steer every second

* Didn't seem to matter

This reverts commit 6923498b2a9eed8beb3998f441899f1df4948f6f.

* steer to 0

* let packer set counter

* add for camry

* log steer faults

* comments

* bump opendbc

* add opParams

* add lta safety

* set safety param

* fix torque control bug

* bump panda

* fix missing signal

* [experiment] apply some rate limiting and anti-windup

* no faults, clip to 90 deg, decent torque blending

* clean up blending

* toyota angle rate limits

* use std angle limits

* assert we only add angle control to TSS2 cars

* clean up carcontroller a bit

* space space

* bump opendbc

* clean up toyotacan from opendbc change

* bump panda

* will tests run?

* steer at zero

* refactor angle to use LatControlPID with zero gains

* stop some faults and tuning

* possibly fix integral wind up at max torque

* Add 2023 rav4

* limit torque inside EPS when overriding (no huge windup in edge cases when overriding)

* fix wind up issue after turns (or prolonged saturation)

* this doesn't work that well

* try these limits

* try this

* log the angle!

* global variable

* Apply suggestions from code review

* clip angle to 3 m/s/s

* some tolerance for roll

* raise limits a bit

* bumppanda

* fix faults

* still not good

* offsetting causing hugging?

* Revert "offsetting causing hugging?"

This reverts commit a42ec0b772ed74a1fd54b7fef2e7c275a3e8333b.

* reduce kp

* class var not needed

* limit up angle delta

* fix saturation check

* feedforward includes offset

* some threshold for roll

* bump panda

* surely we don't need this

* test stuff

* Toyota: Add FW for 2023 RAV4 Hybrid (#27494)

* Toyota: Add FW for 2023 RAV4 Hybrid

* Set RAVH_TSS2_2022 to use angle SteerControlType

* bump panda

* remove extras

* Revert "remove extras"

This reverts commit 87378e734915c107f57f99a5feef4dcb2b2a9a37.

* no max angle limit for now

* add as separate platforms

* remove debug scripts

* revert to master

* remove these FW versions from 2022

* dashcam these cars :(

* fix test

* interface

* add to untested routes

* never send torque with LTA cars

* fix values

* clean up controlsd

* reset lat control files

* use the car param

* add to params

* bump panda to master

* Update selfdrive/car/toyota/carcontroller.py

* don't set torque params if angle control (fixes controlsd bug)

* reset controlsd

* keyword

* in another pr

* simplify test

* rm line

* Update selfdrive/car/toyota/tests/test_toyota.py

---------

Co-authored-by: crispbee <84819466+crispbee@users.noreply.github.com>
old-commit-hash: 57c4d78869ad197189427ab68c45ac8cc7bbd9d0
2023-03-17 00:03:21 -07:00
Jason Young f442e12c1f VW MQB: Škoda Fabia Mk4 (#27520)
* VW MQB: Škoda Fabia Mk4

* typo
old-commit-hash: 186c48137a8cf94ec28136ca9a6f50d8512c3987
2023-03-07 10:39:36 -08:00
Ricky Gilleland 701bde9de3 GM: Escalade 2017 support (#27276)
* Initial 2017 Escalade values

* update docs/CARS.md

* revert back to v1 fingerprint & add test route

* revert bad merge

* update fingerprint

* update

* update

* Update selfdrive/car/gm/values.py

* Update selfdrive/car/gm/values.py

* no engine

* Try global tune

* pcm

* Driver Assist Package has ACC, and includes LKAS from previous package

* update docs

* add to releases

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: b76795d7f083c956004fefd07dbb406eeeb20584
2023-02-15 17:07:24 -08:00
Shane Smiskol 45996b2c65 Car interfaces: assert reasonable centerToFront range (#27356)
* assert reasonable centerToFront values

* comment

* fix Bolt centerToFront

* Update ref_commit
old-commit-hash: 89934b35d04291384b7a287a41ce49905f321167
2023-02-15 16:27:00 -08:00
Manu 15341714b3 Toyota: C-HR Hybrid 2022 support (#27269)
* Added C-HR 2022

* add harness link

* Revert "add harness link"

This reverts commit 54eaf4a5d83b2e844175cdcf4637329490e1a5b0.

* Revert "Added C-HR 2022"

This reverts commit b75a54886fbd0236a309b5c89bf74fd748a5b9e2.

* Added Toyota C-HR Hybrid 2022

Added Toyota C-HR Hybrid 2022

* another year

* it's a hybrid

* fix platform name

* new route

* add to releases

* right right, it's a hybrid

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 5ee47408218d0e36681a0ec300e455972db5ef64
2023-02-09 16:54:25 -08:00
Shane Smiskol acc8e38111 GM: enforce steering command message timing (#27250)
* draft

* bump opendbc

* still draft

* that's not right

* superset of the changes, 33hz

* cleanup

* this should work

* remove line

* pass it in again

* actually no need to check updated now

* now_nanos

* consistent name

* fix replay

* one line isn't that bad

switch

switch

* fix CarController tests

* Update ref_commit
old-commit-hash: 8f5057ff2dbea4ebc85bc8f55bc7a37e4d5969b6
2023-02-09 15:37:39 -08:00
Jason Wen 3c3f0da05a HKG: Car Port for Kia Niro Hybrid 2023 (HDA1) (#26827)
* HKG: Car Port for Kia Niro Hybrid 2023 (HDA1)

* bump opendbc

* bump

* Found gear signal

* Only set one flag

* bump opendbc

* Update CARS.md

* Update routes.py

* bump opendbc

* Update CARS.md

* some values cleanup

* new route with rlogs

* set from data

* merge

(3854+3391+3227+3336)/4

* fine move back down here for now

fine move back down here for now

* Update selfdrive/car/hyundai/interface.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: dae133181701f5f1cc84daa081a8c71d8c7e084a
2023-02-08 19:21:50 -08:00
eFini 03bfa64a26 Toyota: Car Port for Toyota C-HR 2021 (TSS2) (#27212)
* Toyota C-HR 2021 TSS2 Port

* remove

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 134766fe26443b5f2dca8e9df274229894028035
2023-02-08 18:05:23 -08:00
Jason Wen 061c6ca091 HKG: Car Port for Kia K5 Hybrid 2020 (#26947)
* HKG: Car Port for Kia K5 Hybrid 2020

* Add test route (Experimental Mode)

* No abs

* remove extra trans

* move up

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 1816b499c4c55461797d41b8418faeb58d5f7292
2023-02-02 22:58:29 -08:00
Adeeb Shihadeh 20fbb0a8fd rename carState.radarOffCan to radarUnavailable (#27187)
* rename carState.radarOffCan to radarUnavailable

* bump cereal
old-commit-hash: 6fa9b555a435cc9639193cca516b78a22189356c
2023-02-02 11:38:09 -08:00
Jason Young 96c273b7a9 VW MNB: Volkswagen Crafter Mk2 (#26006)
* VW MNB: Volkswagen Crafter Mk2

* Crafter has a min steer speed :(

* add to non_tested_cars for now

* autogratitude

* Revert "autogratitude"

This reverts commit 8f19085bfa3424a8a75d7c95f32be8ecb010f8f4.

* autogratitude

* regen docs
old-commit-hash: 5ce7572b46dcd2b32f11967cc559402eab2ab5ca
2023-01-31 11:00:10 -08:00
Cameron Clough eabca921b1 Ford: add Maverick 2022 (#27093)
* Ford: add Maverick 2022

VIN: 3FTTW8E36NRA74219

a6427650bff6b419|2022-09-19--10-51-30

* Ford: add missing Maverick 2022 FW

VIN: 3FTTW8F98NRA75889

c845bd8c366e6f3d|2022-12-03--18-57-00--0

* steer ratio
old-commit-hash: cf69653440a308c6e7abb7d56847b389b64c819f
2023-01-25 21:18:35 -08:00
Cameron Clough 7ce54c355d Ford: add Bronco Sport 2021-22 (#27092)
* cleanup

* add Ford Bronco Sport 2021 fw

VIN: 3FMCR9B61MRA17853

62241b0c7fea4589|2022-10-25--13-40-05--0

* add test route

* add Ford Bronco Sport 2022 fw

VIN: 3FMCR9B69NRD15990

54827bf84c38b14f|2023-01-23--14-58-23--0
old-commit-hash: d410206f14fc7a0207464905a1ff2f684bd3ed39
2023-01-25 20:56:03 -08:00
Shane Smiskol bf31067e92 Honda: merge Passport platform into Pilot (#27061)
* Move Passport FW versions to Pilot

* lol, all duplicates already in pilot

* No Passport

* Better params for both
old-commit-hash: b2c6d5d34a1cc194aaf98c4963677a5581bf0a94
2023-01-23 20:16:50 -08:00
Shane Smiskol 0ceb423ccc Car interface: require fingerprint and FW versions to get params (#26932)
* require fingerprint and FW versions

* add get_non_essential_params()

* comment

* all required

* classmethod, need to allow subclasses to override _get_params

* fix that

* fix

* fix

* wrong fix 🤦
old-commit-hash: b00bc4f57e2c9a3acb9e3b10528b7e30cbde43f1
2023-01-12 12:25:24 -08:00
Adeeb Shihadeh b67646e1ab Revert "Car interface: require fingerprint and FW versions to get params (#26766)"
This reverts commit ff80ac0f7525916211da2cd0fce2c9c5f35ef89d.

old-commit-hash: f14deae475f32af5b04fc2ef3744a77445ad8177
2023-01-12 11:28:04 -08:00