* replay_process_with_fake_sockets implementation
* add missing polled_pubs to configs
* drained_pubs field
* updated cereal
* Remove python/native variations of process replay. Replace with universal one using cereal fake sockets
* Replace old py FakeSocket with DummySocket
* Invalidate and deregister fake sockets after replay is done
* Remove unused import
* Set up new prefix for each replay
* Fixes for radard
* Refactor ReplayContext and ProcessConfig
* Minor fixes
* Reimplement controlsd fingerprinting callback
* time.sleep for sockets to safely reconnect
* Fix fingerprinting for controlsd
* Fixes for regen to work
* Fix replay loop to respect submaster frames
* Fix profiler to use new ProcessConfig fields
* Remove tqdm
* Refactor tests to use new ProcessConfig
* Add FrequencyBasedRcvCallback
* Make tolerance None by default
* Update cereal
* Add get_process_config utility func
* Update cereal. Simplify sync procedure
* Chain context managers
* New sub-socket reconnection procedure
* Fix linter issues
* Revert chaining of context managers
* Init controlsState only when replaying controlsd. Update cereal
* Update cereal
* Update process_replay to use new cereal API
* Update cereal
* Update cereal
* Update cereal
* Simplify radard recv callback
* Update release/files_common
* indecisive
* rename to generic FW query
* remove code and update comment
* we need this to start off, unless we set multiplexing immediately
* draft
* draft 2
* try that
* can't do this either, boardd might read Enabled after removing, but before setting new Request param
* this should work
* use one less param
* fix params
* match behavior (set all pandas to safety param of 1, disabling multiplexing for fingerprinting
* clean up (some tests may temp break)
* fix param name and sort
* time it
* yes it does matter
* add to hyundai's bus 5 query
* remove hyundai for now
* this should work
* clean up
* clean up
* flip argument around, clean up
* fix test_startup
* some clean up
* rm line
* comment makes more sense
* required typing
* clean up common type
* comments
* Update selfdrive/car/car_helpers.py
* line
* whoops, need to set before vin!
* fix debug
* annoying
* more debugging
* bug fix (needs both keys always)
* debuGG
debuGG
* Revert "debuGG"
This reverts commit 55b2f42932.
* Revert "more debugging"
This reverts commit 02934c3403.
* Revert "annoying"
This reverts commit 8b4e5e0998.
* clean that up
* bumpback
* bumpback
* every second write param
* flip
* stuff
* move up?
* fix timing out in CI
* rm
* 10s lat
* Full length MPC
* redfine N
* Leave controls the same for now
* Updates
* use long plan in lat plan
* interp plan
* add new interp
* simplergit add selfdrive/controls/plannerd.py selfdrive/controls/
* expand to 10s
* revert this
* fix linter
* Update sconscripts
* fix test
* fix test
* fix test
* Revert "Update sconscripts"
This reverts commit 6e23c69dce.
* Dont import drive helpers
* better compile deps
* fix compile
* comment
* update replay
* Update plannerd time
* 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
* 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
* helper functions and fix resetting/enabling
* comment (resume not yet tested)
* make it clear how this resets
* this is fine to enable once
* same here
* start to add some tests
* test !pcmCruise
* test !pcmCruise
* better test
* fix pylint
* new test for making sure we adjust on falling edge of buttons
* 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
* Add explicit cost on steering wheel movement
* Laxer low speed control
* Laxer low speed control
* Lower min speed now there is a cost
* 3m/s
* Similar to old master
* Add cost
* Crazy high
* Update ref
* comment
* lateral overriding is overriding
* Update test
* remove
* also could do something like this and only have one OVERRIDE ET
* Revert "also could do something like this and only have one OVERRIDE ET"
This reverts commit 5c381641c0.
* full names
* bump cereal
* test every event type
* update refs
* Add params for lead and danger
* fix long params
* E2e passes simple maneuver tests
* Make tests run with e2e long mode
* Slightly more error allowed in e2e mode
* FCW back and populate long source field
* Fix planner name
* FCW still doesnt work
* Slightly less aggressive
* Doesn't need to simulate from stop
* 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
* Handle NO_ENTRY in PRE_ENABLED
* add test
* add preEnabled NO_ENTRY test
* stash
* test soft disable
* tuples
* remove overriding until it's merged in
* use Events class
* fix tests and split out
* don't rely on controlsd's counter
* lat_mpc: make v_ego, rotation_radius parameters instead of states
* lat_mpc: remove rotation_radius argument, since it is part of the parameters
* lat_mpc: use qp_solver_cond_N = 1
slightly faster and in line with case study in Fig. 2/ 3 in Frison2016 - https://cdn.syscop.de/publications/Frison2016.pdf
An Efficient Implementation of Partial Condensing for Nonlinear Model Predictive Control
* adapt test_lateral_mpc to formulation with parameters
* lat_mpc: set parameters in reset() and copy values
* acados_ocp_solver_pyx: make options_set useable
* update ref
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* 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>
* 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>
* Add cost for creep
* more reasonable cost
* seems better than before
* science tune
* more chill
* closer follow
* stopping takes some leeway
* better cruise
* needed to be cumsum all along
* jerk not even needed
* matches better
* 6 is too much
* add back
* a little extra buffer is good for badly tuned cars
* new refs
* refs again
* rebased
* cleaner, seems to drive better?
* more stable
* wrong import
* new way of thinking
* reports look nice
* start move back
* works at leas
* good timestamps
* step by step
* somewhat work
* tests pass
* ALL CARS STOPPED
* should work
* fake a cruise obstacle
* cleaner costs
* pretty good except cruise braking
* works pretty well now!
* cleanup
* add source
* add source
* that is needed for unit tests
* nan recovery
* little cleaner
* stop wasting arrays
* unreasonable without unfair init
* this isnt needed without the exponential
* that works too
* unused
* uses less
* new ref
* long enough
* e2e long api
* DONT PUT IN A VIEW INTO ACADOS
* new ref for outside weights
* remove debug prints
* acados long
* new ref
* SPPEEEEEDDD
* less iterations
* this shouldn't be so high
* reset only essentials
* minimal reset for long mpc
* more cpu usage plannerd
* Use lead mpc even when going to crash
* reset to current state
* Use open loop speed for lead mpc
* 1 iteration is too little for cruise mpc
* add whitespace
* update refs