* DummyFrameReader
* dummy_dcam_if_missing flag
* Blank dcamera for all neo segments, as dmonitoringd does not support neo camera feeds
* Remove trailing whitespace
* zero_dcamera staticmethod
* enable dmonitoring in test_regen
* Simplify. User decides wether to use dummy or not
* Moving some stuff
* rename to dummy_driver_cam
* first working ProcessContainer and _replay_multi_process implementation
* Setup controlsd config_callback
* Add vision ipc support
* Remove old code
* add todo
* Update estimated processing times
* Use deepcopy when getting configs
* Rework the API to support passing multiple names or configs
* Add get_custom_params_from_lr
* Add more typing
* Enable simulation for controlsd
* Fix typing issues
* Regen refactor
* Fix linter issues
* Make wideRoadCameraState optional
* Move DummySocket to helpers
* Improve typing in regen
* Minor improvements
* Maintain sort order of internal_pub_queue using heapq
* Move ProcessContainer elsewhere
* Fix internal heap
* Change comment
* Remove subtest_name from ProcessConfig
* Update cereal
* Add newline
* Move migration code to new file
* Migrate messages in process replay. Remove old code
* Fix old_logtime
* Keep old logtimes on migrated messages
* Update ref commit
* 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
* Add support for whitelist-procs to toggle on/off specific processes during regen
* Use process CONFIGS from process_replay to generate fake processes instead of hard-coded values
* Add rawgpsd to fake_daemons. Remove duplicates from replayable_messages.
* Remove duplicate block of code from setup_env
* Remove rawgpsd comment
* wip torqued
* add basic logic
* setup in manager
* check sanity and publish msg
* add first order filter to outputs
* wire up controlsd, and update gains
* rename intercept to offset
* add cloudlog, live values are not updated
* fix bugs, do not reset points for now
* fix crashes
* rename to main
* fix bugs, works offline
* fix float in cereal bug
* add latacc filter
* randomly choose points, approx for iid
* add variable decay
* local param to capnp instead of dict
* verify works in replay
* use torqued output in controlsd
* use in controlsd; use points from past routes
* controlsd bugfix
* filter before updating gains, needs to be replaced
* save all points to ensure smooth transition across routes, revert friction factor to 1.5
* add filters to prevent noisy low-speed data points; improve fit sanity
* add engaged buffer
* revert lat_acc thresh
* use paramsd realtime process config
* make latacc-to-torque generic, and overrideable
* move freq to 4Hz, avoid storing in np.array, don't publish points in the message
* float instead of np
* remove constant while storing pts
* rename slope, offset to lat_accet_factor, offset
* resolve issues
* use camelcase in all capnp params
* use camelcase everywhere
* reduce latacc threshold or sanity, add car_sane todo, save points properly
* add and check tag
* write param to disk at end of route
* remove args
* rebase op, cereal
* save on exit
* restore default handler
* cpu usage check
* add to process replay
* handle reset better, reduce unnecessary computation
* always publish raw values - useful for debug
* regen routes
* update refs
* checks on cache restore
* check tuning vals too
* clean that up
* reduce cpu usage
* reduce cpu usage by 75%
* cleanup
* optimize further
* handle reset condition better, don't put points in init, use only in corolla
* bump cereal after rebasing
* update refs
* Update common/params.cc
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* remove unnecessary checks
* Update RELEASES.md
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* push
* do process replay
* commit
* update refs
* clean up
* clean up controlsd
* clean up controlsd
* Add assert
* debubuggier param name
* can be peristent
* Revert "can be peristent"
This reverts commit 6e6d3f6423.
* Update selfdrive/test/process_replay/process_replay.py
* 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
* fix camera malfunction
* revert
* send in one process to fix frames out of sync
* not used
* revert
* fix and add --no-upload for CI testing
* fingerprint if source is fw
* no FW versions
* regen and process replay clean up
* test_fuzzy actually uses fingerprint hardcoding
fix
* revert
* revert
* this can be a url or path so just print full variable
* rgb to nv12
* nv12 works (w memcpy)
* correct now
* no copy
* fix nv12 with fast debayer
* reverts of unused stuff
* ui use nv12
* comment out thumbnails for now
* rebase fix
* dm read nv12
* model read nv12
* fix ffmpeg encoder
* thumbnails from nv12
* replay to nv12
* python framereader support nv12
* remove hardcoded frame/buffer sizes
* fix build
* ffmpeg encoder fix buffers
* small cleanup
* reduce power usage test
* fix cpu usage test
* fix snapshot
* fix loggerd test
* bump cereal
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Joost Wooning <jwooning@gmail.com>
* remove log_name
* log without compression
* fix tests
* remove extension for bootlog
* another test fix
* uploader compresses
* also compress in athena
* only compress qlog
* more generic check in do_upload
* fix bootlog compression
* lower loggerd cpu usage
* dont link against bz2
* set core affinity to little cluster
* handle old files
* check if regenerated route is enabled
* elif
* initialize CUDA runner before all other processes
* Revert "initialize CUDA runner before all other processes"
This reverts commit 124e3dd4d3.
* add back fixes
* fix typo
* Renaming VISION_STREAM_RGB_.. to match yuv names like VISION_STREAM_ROAD
VISION_STREAM_RGB_BACK -> VISION_STREAM_RGB_ROAD
VISION_STREAM_RGB_FRONT -> VISION_STREAM_RGB_DRIVER
* little more
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* hacks to make process replay engage again
* dont change that
* enable engagement check again
* chmod +x
* first working regen
* proper logMonoTime
* fix video framerate consistency
* mpc is valid again
* proper alive checks
* revert loggerd change
* ensure engaged in regen, fix managerState, peripheralState
* ubloxRaw is unused
* add submaster config for gm
* regen all services we can run without HW
* fix loggerd
* loggerd: matroska without the extension
* update ref