* ban all of common & copy numpy_fast
* add numpy_fast
* these are okay
* and ban controls
* better name
* Conversions
* do utils, kalman
* clean up
* sorting
* don't forget
* format card
* standalone process
* no class member CS, there's no point
also can be confusing; what else could be using this?
* rename CoS
* Update selfdrive/controls/controlsd.py
* never works first time :D
* canRcvTimeout is bool
* hack
* add cpu
* see what testing closet comes up with
* first
* some clean up
* support passable CI, fix test models
* fix startup alert
* process replay changes
* test_fuzzy
* gate carOutput valid on carControl valid
* we should publish after we update carOutput
* controlsd was using actuatorsOutput from 2 frames ago for torque, not the most up to date
* check all checks for carControl in case controlsd dies
* log more timestamps
* more generic latency logger; needs some clean up
latency_logger.py was difficult to understand and modify
* card polls on can and carControl to get latest carControl possible
* temp try to send earlier
* add log
* remove latencylogger
* no mpld3!
* old loop
* detect first event
* normal send
* revert "card polls on can and carControl to get latest carControl possible"
how it was is best
* sheesh! update should be first
* first timestamp
* temp comment ( timestamp is slow :( )
* more final ordering, and make polling on/off test repeatable
* Received can
* new plot timestamps
* clean up
* no poll
* add controllers (draft)
* Revert "add controllers (draft)"
This reverts commit e2c3f01b2f.
* fix that
* conventions
* just use CS
* consider controlsd state machine in card: not fully done
* hmm it's just becoming controlsd
* rm debugging
* Revert "hmm it's just becoming controlsd"
This reverts commit 534a357ee9.
* Revert "just use CS"
This reverts commit 9fa7406f30.
* add vCruise
* migrate car state
* Revert "migrate car state"
This reverts commit 4ae86ca163.
* Revert "add vCruise"
This reverts commit af247a8da4.
* simple state machine in card (doesn't work as is)
* Revert "simple state machine in card (doesn't work as is)"
This reverts commit b4af8a9b0a.
* poll carState without conflate
* bump
* remove state transition
* fix
* update refs
* ignore cumLagMs and don't ignore valid
* fix controls mismatch; controlsd used to set alt exp
* controlsd_config_callback not needed for card
* revert ref temp
* update refs
* no poll
* not builder!
* test fix
* need to migrate initialized
* CC will be a reader
* more as_reader!
* fix None
* init after publish like before - no real difference
* controlsd clean up
* remove redundant check and check passive for init
* stash
* flip
* migrate missing carOutput for controlsd
* Update ref_commit
* bump cereal
* comment
* no class params
* no class
* Revert "no class"
This reverts commit 5499b83c2d.
* add todo
* regen and update refs
* fix
* update refs
* and fix that
* should be controlsstate
* remove controlsState migration
CoS.initialized isn't needed yet
* fix
* flip!
* bump
* fix that
* update refs
* fix
* if canValid goes false, controlsd would still send
* bump
* rm diff
* need to be very careful with initializing
* update refs
* with brand name
* migrate
* Fix
* fixes
* more
* passes
* fix
* fix the doc
* collects
* these too
* more stuff
* body exception :/
* more
* hardcode i guess
* update ref
* toyota
* more toyota
* and here
* final!
* fix notebooks and ccs
* move this here
* start at param
* start by sending personality
* change to personality
* POC: button changes personality
* what's wrong with this?
* fix
* not really possible but fuzzy test catches this
* there's always a typo
* dang, we're dropping messages
* clean up
* no comment
* bump
* rename
* revert longplan
* revert this
* Fix check
* more appropriate up here
* consistenet
* Update selfdrive/car/toyota/carstate.py
* Update ref_commit
* press the button
* 33hz/2
* fix tests
* PCM_CRUISE_SM is a UI message: it goes to 0 when not displayed, and is much lower rate
* only change when enabled so we don't hide the welcome message on cruise main button
* unbump
* then you can get into a weird state
* stuff
* for unplugged DSU we can still read PCM distance, but not buttons
* skip
* skip
* have been running this for a few weeks: good
* set setme_x3 closer to stock
* add comment to values about additional EPS torque rate safety
* rename some variables
* should use vEgoRaw here to match panda!
* switch
* more notes
* specify
* smaller
* for
* oof
* move ui message handling out of condition
* relay openpilot fcw to car
* only send normal fcw if DSU is unplugged
* add comment
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* try to disable radar
* fix bug and bump panda
* prep
* always attempt longitudinal for testers
* fix rav4
* send ACC_HUD
* bump panda
* revert
* check for failure to disable
* fix arg
* bump to master
* revert to master
* comments only
* correct check
* carcontroller
* something like this
* or this
* use flag
* send PCS HUD
* clean up
* carstate checks
* fix from test models
* consistent
* try to disable radar
* fix bug and bump panda
* prep
* always attempt longitudinal for testers
* fix rav4
* send ACC_HUD
* bump panda
* revert
* check for failure to disable
* fix arg
* bump to master
* revert to master
* comments only
* fix subaru fault
* try this!
* wip
* try this
* this more or less worked
* this is all under gen2
* that needs to be up there
* comment
* steer_angle
* test
* wip
* wip
* sync
* wip
* cleanup
* remove print
* use sets and fix unittests
* common fault avoidance
* common fault avoidance
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* revert subaru to get this part merged
* revert name change
* revert name change
* revert name change
* same as before
* add test case
* also verify zero tolerance
* keep the current behavior
* split into multiple tests for easier debugging
* added comments and remove tests
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: Comma Device <device@comma.ai>
* draft
* clean up
* there was a bug, need to subtract from last_angle essentially
* Revert "there was a bug, need to subtract from last_angle essentially"
This reverts commit a595e4af64.
* maybe
* Revert "maybe"
This reverts commit cc96523cc2.
* or can do this
* this seems simpler and actually would work
* update comment
* fix that case
* joystick testing
* revert testing changes
* comment should be more clear
* can have full thing
* bump panda to lta
* revert cc
* this seems to work well
* constants
* try setme_x64
* 99 just winds up torque?!
* try less torque
* add corolla
* clean up
* clean up
* clean up
* clean up
* better name
* -which
* fix
* fix typo
* use params
* use class params
* combine limiting, logic to create commands, and creating commands into one place
* remove super old debugging comment
* log angle
* Revert "log angle"
This reverts commit f5b763c59a.
* add headers
* 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 c888569699.
* try cutting steer every second
* Didn't seem to matter
This reverts commit 6923498b2a.
* 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 a42ec0b772.
* 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 87378e7349.
* 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>
* 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
* Toyota: pass through sway warning system signals
* signal doesn't seem to exist on the Prius V
bad log?
* remove duplicated checks
* syntax
* Revert "syntax"
This reverts commit 6c30c30d46.
* Revert "remove duplicated checks"
This reverts commit 6a364984eb.
* Revert "signal doesn't seem to exist on the Prius V"
This reverts commit 57fa571fde.
* Revert "Revert "signal doesn't seem to exist on the Prius V""
This reverts commit 9b1c3f6cac.
* Revert "Revert "remove duplicated checks""
This reverts commit 38bc7f3de6.
* Revert "Revert "syntax""
This reverts commit f81f93631f.
* hard code values for Prius V
* send ui once every 25 frames
remove send ui logic
* send UI immediately on pcm_cancel_cmd
* draft
* clean that up
* same order as toyotacan
* update refs
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* note for dsu cars
* don't hardcode dsu footnote (1/2)
* test
* revert the experimental long toggle
* another day:(
* DSU doesn't have to be toyota specific, it's a generic carParam!
* this is safe, just make sure it's unknown
* these cars do not have OP long for some reason
* UNSUPPORTED_DSU_CAR
* forgot this
* .
* .
* revert
* revert
* smaller diff
* try a method to kill those faults
* cut torque for 1 frame
* sign doesn't seem to matter
* clean up
* better name
* Toyota allows you to keep your apply_steer, better control
* the logic was wrong entire time?
* cut steer for two frames
* Revert "cut steer for two frames"
This reverts commit 13a68ecc56.
* better variable names and comments
better variable names and comments
* should be good
* add safety
* actual number of frames
* constant
* bump panda
* bump panda
* bump panda
* bump panda
* bump panda
* bump panda
* bump panda
* fix to use min valid frames
* rm line
* simplify check
* bump panda
* bump panda to master
* Toyota: fill steerFaultPermanent
* same behavior as before, 0 is also fault (0 is most likely initializing)
* think this was just wrong (2 or 10 would mean we think it's a fault)
* Initial commit
* Fix bugs
* Need more torque rate
* Cleanup cray cray control
* Write nicely
* Chiiil
* Not relevant for cray cray control
* Do some logging
* Seems like it has more torque than I thought
* Bit more feedforward
* Tune change
* Retune
* Retune
* Little more chill
* Add coroll
* Add corolla
* Give craycray a good name
* Update to proper logging
* D to the PI
* Should be in radians
* Add d
* Start oscillations
* Add D term
* Only change torque rate limits for new tune
* Add d logging
* Should be enough
* Wrong sign in D
* Downtune a little
* Needed to prevent faults
* Add lqr rav4 to tune
* Try derivative again
* Data based retune
* Data based retune
* add friction compensation
* Doesnt need too much P with friction comp
* remove lqr
* Remove kd
* Fix tests
* fix tests
* Too much error
* Get roll induced error under 1cm/deg
* Too much jitter
* Do roll comp
* Add ki
* Final update
* Update refs
* Cleanup latcontrol_torque a little more
* do tesla
* parentheses
* Do Chrysler
* Make sure Hyundai long never actuates when long inactive
.
* clean up Hyundai
* more clear
* formatting
* Stock sets these to zero
* fix params
* move jerk logic into CC
clean up