* start
* hmm API doesn't seem great
* better
* rm line
* sendcan -> can_send callable for best static type coverage, list -> tuple msg
TODO: logcan
* more sendcan -> can_send references
* remove pandad's capnp from selfdrive/car
* fix and remove cereal from test_can_fingerprint
* test_fw_fingerprint: remove pandad, less cereal
* comment done too
* better comment
* fix test_models test
* niceeee it works
* move to can_definitions
* can't come up with a better name :(
* I think we can remove SimpleNamespace soon
* fix test_can_fingerprint.py
* maintain previous behavior
* Revert "maintain previous behavior"
This reverts commit f848fd3213.
* can test comment
* no need for get_one_can now!
* big clean up: no SimpleNamespace
* now self explanatory!
* not needed
* use empty can again since this is now real
* cmt
* car logger
* try this
* fix double printing!
* clean up
* need to import where we actually use it (card won't be in submodule)
* NullHandler does not forward everything properly, need propagate=False to stop root logger from printing
* card is staying
* set up
* forward
* 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>