* Split joystickd into joystickd and joystick_control
* Update process config
* Undeprecate testJoystick
* Static analysis fixes
* Mark as +x
* Update README
* Add testJoystick back to services
* reset if testJoystick not received
* Fix quotes
* Remove self
* Add a send thread instead
* Add joystick_control into process config
* Add main
* Add additional condition
* Fix imports
* add longitudinal profiles
* stash
* unfortunately even longitudinalPlan causes circle
* add to process config
* reach target speed smoothly
* stash
* works
* clean up
* debug alert
* rename
* fix
* better text
* toggle via exp button
* try coming to a stop better, smoother target reaching
* closer to target
* revert controlsd migration
* add description to alert
* generate report from local logs
* hide bad maneuvers
* pdflike
* Revert "pdflike"
This reverts commit 6d4af1bf9b.
* try this
* use alert manager
* fix that check
* wat
* Revert "wat"
This reverts commit 93d0d27ab8.
* some clean up
* rm
* cleanup
* move
* fix test
* more fix
* clean up
* fix that
* Reapply "joystickd is a real process (#33490)"
This reverts commit c8465e3a21.
* catch this
* reset to 0 when unplugged
* catch this too
* pytest capturing breaks stdin (pytest -s) fixes
* true joystickd
* temp params hack, manager clears all on start
* implement main, assume js
* works
* fix enable
* clean up
* like a real controlsd
* clean up
* fix mypy
* clean up
* update refs
* clean up
* 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
old-commit-hash: 71f5c441fe
* 2eedcd90-b7db-46cb-86be-740f48ded7ab/700
* noop ciao
* here too
* mapsd too
* update translations
* disable mapsd test from test onroad
* disable mapRenderState test from timings
* lint
* fix exp mode toggle panel
* update tr
* french done
* dont build mapd
* only no nav
* just comment
* deprecate nav fields
* rm not comment
* dont deprecate too much
* remove from services
* merge cereal
old-commit-hash: 754dd45ffa
* timed
* rm timezoned
* just gps
* ok
* little more
* fix
* datetime
* sleep a little
---------
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 827aa2e4fa
* WebRTCClient and WebRTCServer abstractions
* webrtc client implementation
* Interactive test scripts
* Send localDescriptions as offer/asnwer, as they are different
* Tracks need to be added after setting remote description for multi-cam streaming to work
* Remove WebRTCStreamingMetadata
* Wait for tracks
* Move stuff to separate files, rename some things
* Refactor everything, create WebRTCStreamBuilder for both offer and answers
* ta flight done time to grind
* wait for incoming tracks and channels
* Dummy track and frame reader track. Fix timing.
* dt based on camera type
* first trial of the new api
* Fix audio track
* methods for checking for incoming tracks
* Web migration part 2
* Fixes for stream api
* use rtc description for web.py
* experimental cereal proxy
* remove old code from bodyav
* fix is_started
* serialize session description
* fix audio
* messaging channel wrapper
* fix audiotrack
* h264 codec preference
* Add codec preference to tracks
* override sdp codecs
* add logging
* Move cli stuff to separate file
* slight cleanup
* Fix audio track
* create codec_mime inside force_codec function
* fix incoming media estimation
* move builders to __init__
* stream updates following builders
* Update example script
* web.py support for new builder
* web speaker fixes
* StreamingMediaInfo API
* Move things around
* should_add_data_channel rename
* is_connected_and_ready
* fix linter errors
* make cli executable
* remove dumb comments
* logging support
* fix parse_info_from_offer
* improve type annotations
* satisfy linters
* Support for waiting for disconnection
* Split device tracks into video/audio files. Move audio speaker to audio.py
* default dt for dummy video track
* Fix cli
* new speaker fixes
* Remove almost all functionality from web.py
* webrtcd
* continue refactoring web.py
* after handling joystick reset in controlsd with #30409, controls are not necessary anymore
* ping endpoint
* Update js files to at least support what worked previously
* Fixes after some tests on the body
* Streaming fixes
* Remove the use of WebRTCStreamBuilder. Subclass use is now required
* Add todo
* delete all streams on shutdown
* Replace lastPing with lastChannelMessageTime
* Update ping text only if rtc is still on
* That should affect the chart too
* Fix paths in web
* use protocol in SSLContext
* remove warnings since aiortc is not used directly anymore
* check if task is done in stop
* remove channel handler wrapper, since theres only one channel
* Move things around
* Moved webrtc abstractions to separate repository
* Moved webrtcd to tools/webrtc
* Update imports
* Add bodyrtc as dependency
* Add webrtcd to process_config
* Remove usage of DummyVideoStreamTrack
* Add main to webrtcd
* Move webrtcd to system
* Fix imports
* Move cereal proxy logic outside of runner
* Incoming proxy abstractions
* Add some tests
* Make it executable
* Fix process config
* Fix imports
* Additional tests. Add tests to pyproject.toml
* Update poetry lock
* New line
* Bump aiortc to 1.6.0
* Added teleoprtc_repo as submodule, and linked its source dir
* Add init file to webrtc module
* Handle aiortc warnings
* Ignore deprecation warnings
* Ignore resource warning too
* Ignore the warnings
* find free port for test_webrtcd
* Start process inside the test case
* random sleep test
* test 2
* Test endpoint function instead
* Update comment
* Add system/webrtc to release
* default arguments for body fields
* Add teleoprtc to release
* Bump teleoprtc
* Exclude teleoprtc from static analysis
* Use separate event loop for stream session tests
old-commit-hash: f058b5d64e
* Added navmodeld.py
* Deleted navmodeld.cc
* Write SConscript config flags to config.py
* Remove deleted files from release/files_common
* Some more bug fixes
* Added config.py to gitignore
* Get rid of config.py
* Use set_realtime_priority
* A tiny bit more cleanup
* set realtime priority 1
* Use ModelRunner helper class from runners/__init__.py
* Formatting fixes
* mama mia that's a SPICY memory leak
old-commit-hash: 0c0af682a1
* refactor into sane api
* always set
* cleanup
* cleanup
* and there too
* fix order
* fail
* and ensure we test
* pass test
pass test
* order
* only diff not related
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: d013f2174a
* Enable nav features in modeld
* Enable mapsd/navmodeld
* Updated model_replay_ref_commit and added mapsd/navmodeld to test_onroad
* fixed process name
* always publish from mapsd
old-commit-hash: aadd9ae269
* Added navmodeld
* New nav model: 7c306685-5476-4bd4-ab65-105b01b6bca8/300, feats only
* little cleanup
* Remove NAV flag
* Moved to_kj_array_ptr to commonmodel.h
* Switch from decimation to last_frame_id check
* add to release files
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: bb8a38a050
* Automatically zoom to fixed scale in map_renderer.cc
* Always downsample in map_renderer
* Remove updateZoom function
* Added mapsd to process_config.py (commented out for now)
old-commit-hash: fcd6125deb