* 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
old-commit-hash: c4b84783a0
* log responses from logging/debugging queries
* don't add logging FW to FW dict for fingerprinting
* flip?
* fine before
* log if extra in debug ecus
* clean up
* test extra ecus too
* Revert "test extra ecus too"
This reverts commit 8f7867844d.
* bump to master
old-commit-hash: f29e19cf42
* 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
* Add VMCU address for EV6
* Rename vmcu
* add to tests
add to tests
* rename to more generic name
* more explicit
* remove print
* Like this much better, removes subtle fingerprinting problems
* clean up
* add test and clean up
* remove hyundai stuffs
* global
* Fpv2Config class
* fix missing fw versions from import order
* unused
* revert for now
* test for fpv2 configs with subtests
* subtests don't work that way
* remove this
* .
* intersection
* print ecus
* shorter
* fix typing
* use config
old-commit-hash: 7e9961b9ac
* 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)
old-commit-hash: 4d7f4b4c9d
* Add VMCU address for EV6
* Rename vmcu
* add to tests
add to tests
* rename to more generic name
* more explicit
* remove print
* Like this much better, removes subtle fingerprinting problems
* clean up
* add test and clean up
* remove hyundai stuffs
* global
* Fpv2Config class
* fix missing fw versions from import order
* unused
* revert for now
* test for fpv2 configs with subtests
* subtests don't work that way
* do toyota as an example
* revert
revert
* do chrysler
* do rest
* stash
* much smaller of a diff than the alternative
* remove unused test
* fix tests
* remove brand from Request
* Make StandardQueries class
* add missing_ecus
clean up
* rename file
* unused
* test implemented
* add comment and rename
add comment and rename
add comment and rename
* should be impossible now
* this is a fixme
* rename to fw_query
* rename this too
* and this
* move vin queries to class
* order
* can use p16!
* formatting
* whoops, this wasn't gated on not len(found_versions)
* make this clear
* Standardize manufacturer software version query
old-commit-hash: 0ef6bb48df
* add model years
* update Focus steer ratio
* Ford: add EU label to Focus Mk4
* add packages
* add Ford Explorer 2020
Package: Co-Pilot 360 Assist+
Optional on XLT
Standard on Limited, Limited Hybrid, ST and Platinum
https://cdn.dealereprocess.org/cdn/brochures/ford/2020-explorer.pdf
* Ford: steering control with path angle
* Ford: add TJA toggle to buttons
* add Ford Explorer 2021
`62241b0c7fea4589|2022-08-30--11-58-24--0`
Package: Co-Pilot 360 Assist+
Optional on XLT
Standard on Limited, Limited Hybrid, ST and Platinum (same as 2020)
https://cdn.dealereprocess.org/cdn/brochures/ford/2021-explorer.pdf
* Ford: add shiftByWire ECU fw
* angle/steer refactor
* try always stop and go for US models
* no dashcam
* car info
* send resume button
* skip explorer
* escape and focus back in dashcam
* passthru buttons
* fordcan set bus for button message
* toggle off stock traffic jam assist so camera does not enforce driver presence checks
* not used
* update ramp rate/precision notes
* cleanup
* bump steering pressed torque to 0.8 Nm
* add standstill
* bump steer ratio
* try increasing delay?
* fix docs
* add kuga car info
* maybe fix tja toggle?
* compensate for ford roll compensation??
* oops
* better ui
* block non-adaptive
* add note on ui warning for hands on wheel
* try only checking/toggling TJA every 2 seconds
* add car test route
* dashcam only again
* send buttons to camera
* add process replay segment
* cleanup
* bump panda
* add extra FW
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
old-commit-hash: 9241de2210
* Try to get Chrysler engine FW
* try this
* Get engine FW for certain Chrysler
* Add our Ram's engine FW
* better name
* no whitelist
* engine and transmission only
old-commit-hash: 08510e2b0a
* Revert "FPv2: fingerprint on all FW combinations (#25204)"
This reverts commit c7e0622fa5bbf3ed8b000c86666f54f2b0a8c63d.
* Revert "Revert "FPv2: fingerprint on all FW combinations (#25204)""
This reverts commit bb68b7bc1c.
* For breaking, match only with current brand's FW
* Add comment for fuzzy matching
* fingerprint (online) only using FW from that brand
* test_fw_query_on_routes fingerprints like online
* extend match_fw_to_car to work for test_fw_query_on_routes
* Apply suggestions from code review
old-commit-hash: 45cfcfa3bb
* should be all that's required
* try using rx_addr (should be the same)
* log bus
* bump cereal
* remove debugging
* bump cereal to master
* rm line
* add printing to offline debug script
old-commit-hash: 937013e488
* Try to fingerprint on all possible combinations
* build_fw_dict creates set dict, tries each fw version for addr, subaddr
* clean up
* static analysis
* comment
* fix comment
* revert changes to test_fw_query_on_routes
* remove comment
old-commit-hash: ee081f278b
* Chrylser FPv2
* Update fw_versions.py
* formatting and remove default
* fix rx offset
* move to end
* add fw versions
* this won't be fingerprinted on as it returns from Mazda
* only log FW versions
* add type annotation
* fix typing
* Skip if FW versions are for read/request-only
* Fix crash if no fw versions
Fix crash if no fw versions
Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: b5f0cb22a5
* only send valid/needed queries
* just do volkswagen
* clean up
* add parameter name
clean up
* add test for whitelist
* rename
* Update selfdrive/car/fw_versions.py
Co-authored-by: Jason Young <46612682+jyoung8607@users.noreply.github.com>
* fix test
* log response addresses
* bump cereal
* handle response pending with IsoTpParallelQuery
* remove response pending stuff
* temporarily disregard cache for easier testing
* revert this
Co-authored-by: Jason Young <46612682+jyoung8607@users.noreply.github.com>
old-commit-hash: 479b66c992
* get_fw_versions returns all fw versions with request's brand
* keep track of everything received
* debug
* need to regen or write a hack in build_fw_dict
* to be safe, still replace old responses within same brands (hyundai responds to two queries, can fix later)
to be safe, still replace old responses within same brands (hyundai responds to two queries, can fix later)
* update test_fw_query_on_routes
* clean up
* better name
* slightly cleaner
* fix test_startup unit test
del
* fix imports
* fix test_fw_fingerprint
fix test_fw_fingerprint
fix
* fingerprint on all FW_VERSIONS, not just brands with requests
* support old routes in test_fw_query_on_routes
* regen and update refs
* similar function style to before
* better comment
* space
switch name
* try to exact match first
* useless else
* fix debug script
* simpler dictionary
* bump cereal to master
old-commit-hash: ea241bf3dc
* 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>
old-commit-hash: cccab50b16
* only send valid/needed queries
* just do volkswagen
* clean up
* add parameter name
clean up
* add test for whitelist
* rename
* Update selfdrive/car/fw_versions.py
Co-authored-by: Jason Young <46612682+jyoung8607@users.noreply.github.com>
* fix test
* log response addresses
* bump cereal
* handle response pending with IsoTpParallelQuery
* remove response pending stuff
* temporarily disregard cache for easier testing
* revert this
Co-authored-by: Jason Young <46612682+jyoung8607@users.noreply.github.com>
old-commit-hash: 6c02e554e7
* log fw query response offset
* one line still
* log request bytes as well
* bump cereal
* prettier order
* bump cereal
* I wonder if the radar sends a response pending...
debug
dont cache
fix
debug
* Revert "I wonder if the radar sends a response pending..."
This reverts commit 12a9552c27.
* log addr too
* bump cereal
old-commit-hash: 124f3f02d5
* non-essential ECU for logging
* bump cereal
* debug ECU
* match_fw_to_car_exact
* comment
* version instead of board date
* add old compatible value
* update_refs
old-commit-hash: 7908fb8829
* check in tuple instead of list
* Update selfdrive/car/toyota/carcontroller.py
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* Update selfdrive/car/mazda/interface.py
Co-authored-by: Willem Melching <willem.melching@gmail.com>
Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: a653461dec
* Add Subaru FPv2 support
* Add Subaru Ascent and Impreza FPv2 values
* Remove 10 second delay, use UDS for Subaru FPv2
* before VW
* before hyundai
Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 6b205347e5
Updated Python code with Python 3.6+ features:
- utf-8 encoding is now the default (PEP 3120)
- Replace list comprehensions by Generator Expressions (PEP 289)
- Replace yield loop by yield from (PEP 380)
- Remove the (object) subclass when defining a class
- Replace the IOError alias by OSError (PEP 3151)
- Define sets with curly braces {} instead of set()
- Remove "r" parameter from open function, which is default
Co-Authored-By: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com>
Co-Authored-By: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com>
Co-authored-by: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com>
Co-authored-by: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com>
old-commit-hash: 332f568a82
* Convert all text strings to f-strings
Reformats all the text from the old "%-formatted" and .format(...) format to the newer f-string format, as defined in PEP 498. This requires Python 3.6+.
Flynt 0.69 was used to reformat the strings. 120 f-strings were created in 51 files.
F-strings are in general more readable, concise and performant. See also: https://www.python.org/dev/peps/pep-0498/#rationale
* revert pyextra changes
* revert ublox.py
Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 55390d273f
* start to separate Avalon 2019+
* reverts #20824 (2020)...
and removes fw from a 2020 avalon
* revert 2020 fw from #20241
* revert 2021 fw from #19790
* bump opendbc, add smartDsu
* Add only removed fw from listed PRs above and from jryan's 2020
* bump opendbc to master
* comment out any non-original avalon fw
* new fw
* these 2016 (5 byte EPS_STATUS msg) Avalon fws are correct. comment out any 2019+ fw I haven't seen yet
* Add to release files
* these are good too
* nothing on 7e0 yet
* both have their engines on one address
* validated remaining fws! some from adeeb's, chris's, and kumar's PRs
* Add test route for Avalon 2019
* horrible
* Duplicate
* use nodsu dbc. Only difference is the addition of some signals that don't work, and max of BRAKE_PRESSURE is different
* Enablem 2019 Avalon test route
old-commit-hash: 07e4129edc