* Ford: move to PlatformConfig
* Align Aviator model years with Explorer
* Add CarSpecs to PlatformConfig
---------
Co-authored-by: justin <justin@comma.ai>
* subaru platform config
* forester wrong dbc
* spacing
* subaru car specs
* someday!
* more red diff
* all brands can be done like this
* but this should be done first and thats subaru specific
* that seems very low but we shouldn't change it here
* as long as it subclasses str its fine
* well that sucked
* cleanup and follow refactor
* diff reduction
* oops
* fix
* force fingerprint
* Revert "force fingerprint"
This reverts commit 600fbcd7d559703601a06c8876a640de417e5b6c.
* space
* Fix specs
* this one too
---------
Co-authored-by: Justin Newberry <justin@comma.ai>
* subaru platform config
* forester wrong dbc
* spacing
* subaru car specs
* someday!
* more red diff
* all brands can be done like this
* but this should be done first and thats subaru specific
* that seems very low but we shouldn't change it here
* as long as it subclasses str its fine
* fix
* URLFile: default value test
* cleanup
* fix env
* improvements
* fix GET response
* only delete cache dir if it exists
* env pop
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* check end_event while uploading, throw abort exception if we need to shut down/restart
* fix
* draft test
stash
* Revert - there's no easy way to know if it breaks early in upload loop
or not yet
This reverts commit ad893687e196ebb31d276a114c19e9af963ed02a.
* todo for now
* these pass in 0.5s since server sends ping on connect
* comments
* unused
* fix
* fix these too
* check end_event while uploading, throw abort exception if we need to shut down/restart
* Revert "check end_event while uploading, throw abort exception if we need to shut down/restart"
This reverts commit f0b822fca98cd8e2b3d4d6d5ede6b512d3ed3ec0.
* more tol for lte connection
* card v1
* fix car events
* fix proc replay
* lets keep that the same
* no extra space here
* move can recv timeouts to card
* organize imports
* organize imports
* slightly bump cpu
* not a card!
* log params when calculable
* better
* Update ref_commit
* this is redundant
* this is only used in one place, confusing which to use so remove
* better
* Adding pre-commit hook for cython static analysis
* Adding changes to cython files to pass static analysis
* Revert "Adding changes to cython files to pass static analysis"
This reverts commit 9a0eb733199abd9eef1eac3d024ef2760348d67c.
* Adding ignore rule for indentation of 4 spaces (E111)
* Fixes for cython-lint static analysis
* Revert "Fixes for cython-lint static analysis"
This reverts commit 972741735b2bdc73460d65a4d7ea167dfc0f4644.
* Adding two new rules into ignore list (2 new lines after difinition of class)
* Adding fixes for cython static analysis
* Do Accord
* add comment
* good test
* this catches the accord/accordh issue!
* as expected, only if both radar&camera have in common FW does the test fail
* cmt
* clean up
* better
* Use HondaFlags
* detect alt brake
* for test
* hypothesis isn't installed
* test failure
* works
* Revert " works"
This reverts commit bfc0d808abe548630e6507431f13b01e8a1316cb.
* Revert "test failure"
This reverts commit 10ab6eb63ccd411740751b742f31fd610397fe8e.
* Revert "hypothesis isn't installed"
This reverts commit d474cc3f0ed7e84fe8bd24f452b3315fd2b8d47c.
* Revert "for test"
This reverts commit 98e039f4fc0189ccb57c1dae6b344209ef15eb1c.
* this is important too
* clean up
* more clean up
* Update ref_commit
* more explicit
* fix it
* use non capturing group
* only needed for regex101
* make test_logreader.py executable
* fix
* stash
* passes test
* none
* type anotate
* test
* fix
* nice for syntax highlighting
* type annotate SegmentRange
* proper formatting
* oops
* numpy?
format test too
* draft
* fixed
* clean up
* rm
* more
* clean up
* clean up
* rm
* not here
* revert
* more examples
* how is it so fast?!
* 500
* is there a hypothesis cache?
all
* Revert "is there a hypothesis cache?"
This reverts commit e628ba73d5b639e36f95df0ab9049697b34a58b8.
* same as jenkins
* Update carstate.py
* 42 is safe
* mirai
* we hit this after 30 mins: Exceeded message traversal limit. See capnp::ReaderOptions.
* too easy to write this bug, no need to be generic yet
* Update ref_commit
* Honda Civic Bosch: remove OBD-reliant ECUs from fingerprinting
* eligible to fingerprint with these responses now
* same for CRV bosch
* add back all FW to test fingerprinting diff on data
* set these ECUs as non essential instead
* comment
* compare old fingerprinting with non essential fingerprinting
* clean up
* cmt
* wait for valid
* reuuse that
* assert warmup
* Wip
* fix that
* reset
* none
* timeout
* maxlen
* consecutive
* proc
* fix
* local
* same as before
* mean
* fixes
* SA
* this is the real warmup time
* this is the real warmup time
* Cleanup
* Cleanup
* monotonic + len
* reduce duplication
* fix
* fix
---------
Co-authored-by: Comma Device <device@comma.ai>
* Initial pass
* Add physical measurements for LEXUS_LC_2024
* Add new test route for TOYOTA.LEXUS_LC_TSS2
* Add new public-OK test route for TOYOTA.LEXUS_LC_TSS2
* update docs
* | not /
---------
Co-authored-by: Justin Newberry <justin@comma.ai>
* We never had any bus 0 logging queries for CAN!
* should be logging
* try all, and try on can fd as well
* update refs
* oof forgot about hda2 can fd where pt is bus 1
* sheesh
* fix the timing
* fix ref
* We never had any bus 0 logging queries for CAN!
* should be logging
* try all, and try on can fd as well
* update refs
* oof forgot about hda2 can fd where pt is bus 1
* sheesh
* fix the timing
* not here
* revert
* this just simply measured the total time of all the brands with aux queries (1.25s)
* clean up
* Add 2021 Kia Niro Plug-in Hybrid
* Added CAR.KIA_NIRO_PHEV_2021
* Added CAR.KIA_NIRO_PHEV_2021
Created new block and moved 2022 model to it as well, with correct mass and steerRatio values.
* Added 2021 Kia Niro PHEV
* Added 2021 Kia Niro PHEV
For now, using 2020 Niro EV torque data
* Update values.py
Add '21 Kia Niro PHEV to HYBRID_CAR for gas signal and DBC info
* Test route for 2021 Kia Niro PHEV
* Add public test route for 2021 Kia Niro PHEV
* Fixed typo in test route for 2021 Kia Niro PHEV
* Move '21 Kia Niro PHEV car info under '22
...and remove other mention of '21 as distinct car
* Added '21 Kia Niro PHEV fingerprint under '22
...and removed separate car definition
* Removed '21 Kia Niro PHEV as separate car, now under '22
* Removed '21 Kia Niro PHEV, now under '22 fingerprint
* Removed test route for '21 Kia Niro PHEV
* Update values.py
Missed removing one more reference to '21 Kiro Niro PHEV, consolidating under '22.
* Update selfdrive/car/hyundai/interface.py
* Update selfdrive/car/hyundai/fingerprints.py
* Apply suggestions from code review
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Lazy imports in webrtcd
* Lazy imports in web.py
* Type hints
* Remove FrameReaderVideoStreamTrack
* leave the aiohttp.web import
* Leave the client session
* main leftover
* not pytest?
* copy what build release does
* test controls step with CI and lat/long controllers, car controller.update, etc
* clean up
* not needed
* not here
* here
* better cmt
* fix test_fuzzy
* see what's failing
* need conftest for OPENPILOT_PREFIX to work!
* up
* clean up
* test
* fix
* params put is slow
* stash
* Revert "stash"
This reverts commit 22cc9f814c0699f7046970763663205907f2890b.
* stash
bad
* just freaking merge
* sort
* rm
* simplify git remote is comma check
* cast to str
* eliminate default and always return string
* add type annotation for cache decorator
* fix up default handling
* bump
* from https://github.com/commaai/openpilot/pull/27929
* get VIN on bolt!
* might as well try on other gms
* remove vin
* ugh gm is going to be slow
* fix
* should really fix this
* revert
* happy?1
* fix unit test
* bump
* functional addressing must be an OBD gateway feature, this does nothing
* fix vin response
* fix addr!
* finally fix fw_versions bugs since boardd IsOnroad refactor
* for
* only bus 0
* clean up
* Update selfdrive/car/gm/values.py
* ChatGPT re-write
* filter out did
* todo
* oof
* preview: what multiple DIDs per ECU would look like in the future
* Revert "preview: what multiple DIDs per ECU would look like in the future"
This reverts commit 88f0d8611e638de644adc5feabade848c03d59e4.
* function to get all ecus
* we can remove this!
* can also do this!
* and this one too :o
* consistency
* yay
* clean up
* bump
* from https://github.com/commaai/openpilot/pull/27929
* get VIN on bolt!
* might as well try on other gms
* remove vin
* ugh gm is going to be slow
* fix
* should really fix this
* revert
* happy?1
* fix unit test
* bump
* functional addressing must be an OBD gateway feature, this does nothing
* fix vin response
* fix addr!
* finally fix fw_versions bugs since boardd IsOnroad refactor
* for
* only bus 0
* clean up
* Update selfdrive/car/gm/values.py
* ChatGPT re-write
* filter out did
* todo
* oof
* preview: what multiple DIDs per ECU would look like in the future
* Revert "preview: what multiple DIDs per ECU would look like in the future"
This reverts commit 88f0d8611e638de644adc5feabade848c03d59e4.
* function to get all ecus
* we can remove this!
* can also do this!
* and this one too :o
* consistency
* yay
* add tests
* revert GM stuff
* another PR
* reads better
* revert rest of gm
* use that
* interesting
* these are exactly the same (with ordering differences)
* Revert "these are exactly the same (with ordering differences)"
This reverts commit a9e918dc351d24f1b7c8a05c7ec402e057a0e09a.
* flip
* bump
* gm vin
* that's not right
* only check relevant buses
* instead try queries for each bus first
* clean up
* use default retry in function
* all
* add instructions to my fork
* add braziliam TAOS fingerprint
* Revert "add instructions to my fork"
This reverts commit 46fbee3ebe7ecbb211d855e63b2d4c8919c31b63.
* add instructions to my fork
* add paypall.png to gitignore
* Revert "add instructions to my fork"
This reverts commit a6a6f93533add212e321e8472a78a8a69bf932f4.
* translate
* revert this
* why?
---------
Co-authored-by: Comma Device <device@comma.ai>
* use radar instead of abs
* str the strenum
* Lexus ES: non-TSS2 probably don't have stop and go without DSU-pull and/or pedal
* remove from NO_STOP_TIMER_CAR. this set is so confusing
* Combine ES & ESH (preferring ESH's DSU msgs)
* ES: forgot substitute
* comment
* Highlander: combine, preferring the hybrid for DSU msg mismatches (0x365 and 0x366)
* remove duplicates and sort
* update docs
* toyota non_essential ECU test
* Lexus RX: combine, preferring hybrid's msgs (they all exist on ICE)
* sort and remove dups
* parameterize so we can test with notebook
* this too
* clean up
* clean up
* tuple makes more sense
* update comments
* update
* update
* update
* print
* name
* add missing
* -----
* add list so can fingerprint
* transmission doesn't exist on these
* fix abs addr!
* apparantly abs isn't on these cars
* 2018 too
* clean up
* rm abs
* add missing versions!
* Revert "add missing versions!"
This reverts commit 45d36a49363a9c540841e6618c1a73cd3948c754.
* need this to fingerprint!
* Add FW from CAN fingerprinting cars last 90 days on 0.9.5-release
* need this temporarily
* Add rest of dongles
* update docs
* remove FINGERPRINTS
* Apply suggestions from code review
* Update selfdrive/car/fw_versions.py
* Dynamic QtGui version
* Fixed use of undeclared identifier 'va_start'
* Fix for Qt deprecations
* Fix for dynamic QtGui version
* Update selfdrive/ui/SConscript
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Revert "Revert "FW query timing test: mock get_data function for timeout" (#30696)"
This reverts commit b1ecfd55ce.
* no thread
* clean up a bit
* no thread!
* combine functions
* re-enable total time check
* back to 5
* minimal diff
* minimal diff
* Add GH Actions workflow to check for a PR template
* switch to headings and checkboxes for template detection
* check for bold text in template too
* move template check over to auto_pr_review action and remove label only if check succeeded
* only run template check on external PRs
* wording
---------
Co-authored-by: Justin Newberry <justin@comma.ai>
* add instructions to my fork
* Revert "add instructions to my fork"
This reverts commit 46fbee3ebe7ecbb211d855e63b2d4c8919c31b63.
* test llm
* Revert "test llm"
This reverts commit fc531f0a1ba81b3444a34a1be8d02a51a060ec7a.
* update pt-BR translation
* segment range reader
* rename that
* revert that
* cleanup
* revert this for now
* revert this for now
* Fix + test
* rm that
* rm that
* use for auto_fingerprint
* simpler
* for notebook too
* match numpy indexing
* just use numpy directly
* remove that
* spacing
* spacing
* use qlog for auto fingerprint
* add 'read mode'
* pass in read mode
* add test for modes
* numpy indexing
* fix that case
* more examples
* fix the notebook
* cleanup the notebook
* cleaner
* fix those
* VW MQB: Improved stopping and starting
* get longcontrol to take off sooner
* oops
* use the carParam instead of the constant
* update refs
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* carparams gave me a new firmware entry for "shiftByWire" from 'ford', so i added it here, as well as a new fw value under ecs.engine
* Update selfdrive/car/ford/fingerprints.py
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* not sure why this is a test
* Revert "not sure why this is a test"
This reverts commit c13e16311eb882df65d216bbd59acb5702e985e6.
* no ruff for this pattern :(
* this is always caught
* should fail
* simpler
* Revert "should fail"
This reverts commit 21bd15275c46cd42fd19b058245334bae83cce77.
* fix
* cleanup this
* better comment
* better
* this can be more localized
* better names
* better names
* should fail
* Revert "should fail"
This reverts commit c58495e8b3417ce351df8048752ec60177827cb3.
---------
Co-authored-by: Justin Newberry <justin@comma.ai>
* fails if no skip function
* Revert "fails if no skip function"
This reverts commit ff3d697d38dce56057c83f06033a689f2301a29d.
* Revert "test_models: fallback to public route when route isn't uploaded to CI bucket (#30794)"
This reverts commit 05dc0b51e6.
* Add script
* fix script
* fix script
* fix for subaddr
* run the script
* old style can fingerprints
* cleanup
* sort imports, make executable, fix path
* newline w/o newline
* match og can formatting
* match og formatting
* generate template once
* standard name
* less nested
* can fingerprints comments
* fix spacing
* no need for PLATFORM_TO_ENUM_NAME!
* prep for PRs
* comments for all, add honda comments
* Auto-generated fingerprint PR from fuzzy fingerprinting cars
* Revert "Auto-generated fingerprint PR from fuzzy fingerprinting cars"
This reverts commit 97bc9e3bdb9d819dcbe684ceba92ea702d40eaf0.
* even closer to original
* readd this comment
* and run script
* add to precommit
* add comments
* add comments
* add to release
* use for auto fingerprint
* disable precommit for now
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* pre-hypothesis
* some hypothesis junk
* this kinda works but is really slow due to counter check
* choose addrs from fingerprint
* stash
* honda nidec brake pressed mismatches fixed
* bump panda
* stash
* tesla: use DI_torque2 (panda msg)
* run
* run
* ah this honda mismatch too
* no more multi can msgs
* clean up, remove old file
* add todo
* prob can remove urandom
* stash, huge examples
* fix pq standstill mismatch
* yuge
* yup there's a leak somewhere
* try to find leak
* skip dashcam (pq and tesla)
* PR comments
* bump
* draft stash
* fix alt brake hondas
* bump
* bump
* bump
* some clean up
* minor clean up
* more clean up
* stash
* fix honda bug
* more
* 100 examples
* revert tesla
* no memory leak any more?
* bring back tests with skips
* parameterize max_examples
* skip interceptor
* is jenkins on my branch?
* ooh that's fast
* 50 is not bad for GH CI
* 300 might be better with rest of test_models
* no more detection
* bump
* need CS_prev to catch bugs where openpilot changes and panda doesn't (eg. not setting interceptor safety mode)
* need to simplify all this
* need a warm up first, since some signals are 1 by default (toyota's gas_released!=1)
* changes
* set honda safety param
* set toyota safety param
* bump panda
* clean up honda
* rm interceptor
* thought interleaving addrs might help, but we can fine tune later
* Revert "thought interleaving addrs might help, but we can fine tune later"
This reverts commit 153301384b48c9f33f9e2af3c224241eaeec41c1.
* get size from dict
* what
* add nocapture marker
* clean up
* try to raise logging level
* need to run last as pytest_runtest_call, since it starts capturing
* get capman conditionally
* mark
* type fingerprint
* should use gen_empty_fingerprint
* no longer needed
* draft
* no longer need gc
* clean that up
* test everything!
* more clean up
* more
* no point
* fix that
* fix errors
* bump
* nice even 300 examples for 300 segs
* final bump :fingers_crossed:
* better import order
* remove debugging prints
* warm up kinda works
* Revert "warm up kinda works"
This reverts commit 7fc77b07d592edb13eadca77deb49540954a7d69.
* random seed
* revert
* strat
strat
* add expl comment
* cmt
* check controls allowed
* Revert "check controls allowed"
This reverts commit e82a0e5396810dd4670e6847aa555194a709e10f.
* not unittests
* run tests!
* run tests 2!
* run tests 3!
* seed unused
* revert
* add shrink phase, and remove health check suppression
* hello
* oncemore
* Update selfdrive/car/tests/test_models.py
* Cython KF1D to Python
* cleanup
* set x
* less nesting
* fix release
* Revert "fix release"
This reverts commit 97e5d0f80405660efb861c7b9df7fbfd5dda5dd9.
* sanity check on velocity
* import from there
* use raw
* just check last
* ignore body
* reduce tolerance and bump panda
* its not average anymore
* slightly higher tolerance
* bump
* bump
* space
* remove from boardd
* set flag for honda to pass tests
* migrate
* Update ref_commit
* final bump
* bump cereal
* bump to master
* Safe and efficient asynchronous writing parameters
* call putNonBlocking in locationd
* remove space
* ->AsyncWriter
* remove semicolon
* use member function
* asyc write multiple times
* add test case for AsyncWriter
* merge master
* add missing include
* public
* cleanup
* create once
* cleanup
* update that
* explicit waiting
* improve test case
* pass prefix to asywriter
* move to params
* assert(queue.empty())
* add comment
* add todo
* test_power_monitoring: remove patch
* rm laikad.py
* fix import
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Hyundai CAN-FD: Interface small cleanup
* some more
* Do this too
* fix
* cleaner
* use flag
* consolidate
* do it there
* Fix
* hda2 only
* cleaner
* default to False
* in another PR
* lint
* enable radar
* manual new track
* Don't filter points
* cleanup
* Update radar_interface.py
* This is non-zero in stock
* add speed
* more extreme
* A few more things
* fixes
* cleanup
* revert that
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Hyundai: Car Port for Staria 2023
* camera scc!
* add test route
* Update RELEASES.md
* Apply suggestions from code review
* bump down max torque
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* retry pc setup
* sleep and retry
* exception
* throw e
* remove force exit
* make a function for it
* remove force exit
* move to top
* separate exception
* Update joystick mode in step
* Stop putting the body in joystick mode by default
* Toggle JoystickDebugMode by default for notCars in process_replay
* Remove subsection about web joystick
* Update param only in non-cars
* Make joystickDebug non-static event, and add it in a loop
* Add comment
* HKG: Car Port for Kia Niro Plug-in Hybrid 2022
* Update CARS.md and add test route
* add to releases
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* use a mock function to simulate timeout
* Cleanup
* Cleanup
* clean refs
* tolerance can also go down
* fix
* better name
revert refs
* use unittest
* revert
* Revert "use unittest"
This reverts commit 7a1d6a6fc72fa129a66590e0e5998c2438ecbe55.
* order
* local
* use a context
* revert
* stress test it
* let's try
* it's consistent
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* randomize internal seg list segments
* random
* pytest-randomly sets random.seed to a consistent value for all the workers/processes
* noeol
* update
* Revert "update"
This reverts commit aff9a69c4e5e3934deebaa33986b42f44b55b002.
* lock
* don't randomize by default
* remove random-order
* strict
* random
* one fix
* test
* does nothing
* rm tests
* Revert "rm tests"
This reverts commit b548e3fcd48e60538695506888d863c01b459d27.
* (can't repro locally) just athena should be fine
* bs1
* bs2
* bs3
* bs4
* bs5
* wrong way
* no controls
* no car
* no board
* controls?
* crazy -common
* Revert "crazy -common"
This reverts commit 02365d712b3d09cab1893cce2261a4b418bb3851.
* test athena
* test athena 2
* test athena 3
* test athena 4
* test athena 5
* test athena 6
* test athena 7
* test athena 8
* test athena 9
* ??
* in one commit
* common?
* car and board
* -controls -board
* random-order
* no board
* revert
* car/tests
* least likely
* try
* try 2
* draft
* draft
* so much better
* cmt
* use randomly
* not needed here
* directly modify option works
* bb
* test time
* Revert "test time"
This reverts commit 2c5caabe2b470b47b7322e37800680b92773fccc.
* tmut
* i concur
* revert
* just use the default device :/
* Ruff
* this seems like the most reliable way
* Ruff
* move comments too
* wait for devices
* fix that
* and that
* ruff
* add logging for avaliable devices
---------
Co-authored-by: Comma Device <device@comma.ai>
* Disable locationd temporary error alert on the body
* Disable locationd/paramsd/planner alerts on body with joystick mode
* joystick_enabled param not joystick_mode
* will it work
* retry build devel
* correct p[ath
* try a failure
* Revert "try a failure"
This reverts commit ba4e6a0a2096b94887fcfbf7d011e34aa2a16c41.
* new msgs default to invalid
* fix lm
* set more valid
* update rest
* update refs
* fix logMessage
* more valids
* cleanup
* fix llk test
* pigeond is also valid
* more valids
* 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
* 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
* Add '19-'20 Santa Fe video
Add link to YouTube video for 2019-2020 Hyundai Santa Fe
* update docs
---------
Co-authored-by: Steve J <easternpa@gmail.com>
* test rav4 2023 (stripped)
* don't use initData, remove relay malfunction tolerance!
* all passes!
* some clean up
* more
* uncomment
* rm line
* remove ignore_addr_checks_valid
* right
* some changes for stripping data
* clean up
* check exist
* shouldn't be possible
* should be success if here
* no delete
* ""
* rm
* rm
* cleanup
* one list comp
* more clear
* not used
* add back legit source
* clean up
* copy files we don't need to strip (need sas to copy between accounts)
* default to strip
* revert
* add job
* add job (#52)
* add body
* Bump submodules (#53)
* add job
* add body
* add .
* rm that
* need submodules too
* better message
* monday at 4am
* i thought i was still est lol
* spinner POC cpu
* should be single threaded
* how tf did that get added
* allow non offscreen
---------
Co-authored-by: Comma Device <device@comma.ai>
[cabana] Improve signal timing calculation in findsingal.cc
The variables `first_sec` and `last_sec` have been separately initialized first before being used in `std::minmax` for signal timings. This resolves compilation warnings and potential risks of using temporary values of these variables.
* Update SConstruct allow no-inline
Allows disabling inline functions when compiling to help with the debugging process
* Update SConstruct
typos
* Update SConstruct
* Remove laika submodule
* Remove laika check for minimal builds
* Fix minimal build check
* Bring back exclude for opendbc in codespell
* Fix typo
* Copy GNSS indices from laika
* Delete laika dependencies
* test modem recovery
* static analysis
* also test lte reload
* this should just be try catched as well
* maybe we can find a better way than this
* rm the test
* make it clear
---------
Co-authored-by: Comma Device <device@comma.ai>
* VW MQB: Add FW for 2021 Tiguan
route name:f3946aa3bdb4bfc7|2023-11-06--14-53-07--0
The carParams always show transmission as "Hyundai", cant get VW format
* add correct transmission
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* VW: Add fw-versions for Passat GTE 2018
* Remove duplicate fw-versions for PASSAT_MK8
* Removed duplicate fw version for PASSAT_MK8
One of them included \023 and the other \x13 which was interpreted as the same character in python
* Apply suggestions from code review
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Added 2023 Kia Stinger Fingerprint
* Fixed type on FP value
* Fixed typo on fingerprint value
* update docs
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* added GSF ECU values
* Added Lexus GSF data
* added route for GSF
* test RC code
* revert fingerprints back from RC test to GSF
* fixed type for route
* specify route segment for GSF
* added GSF to torque substitute
* removed year designation for GSF
* added MY back to all "Lexus GSF"
* removed route, don't think it does anything
* move GSF ecu values to better place
* remove whitespace from toyota > interface.py
* added in public route for LEXUS_GSF
* added GSF to docs
* update test route
* update test route
* update 266 Supported cars
* trying different dbc
* updated to working route
* clean up
* add to releases
* updated test route
* new route
* docs
* slightly better torque params
---------
Co-authored-by: cchui <cchui@eogresources.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* jenkins: use build.py to manage cache size
* label
* set pp
* double
* cleanup
* non mimimal build on PC
---------
Co-authored-by: Justin Newberry <justin@comma.ai>
* remove separate previous route carparams from each daemon and add centrally to controlsd
* extract out sigint handler
* make process replay work for torqued
* don't write param if None
* mapsd -> cpu
* link directly to mesa
* Fix gitignore
* without launcher script
* dont change that
* dont need that
* add to files_common
* rename to configure cpu rendering
* without a symlink!
* update time refs
* update ref
* update ref
* remove duplicate include
* bump up again
---------
Co-authored-by: Comma Device <device@comma.ai>
* cleanup and fix test
* sa
* fix test failing
* increase tolerance more for stddev
* increase that more
---------
Co-authored-by: Comma Device <device@comma.ai>
* 6f6e3749-1b7c-42e8-a33b-03929b7fc476/700
* oops deleted too much
* 1b4308b7-a659-4ebd-b4c6-c81c1c3890f8/700
* 1be192f3-f407-4217-9757-78b9ad92750a/700
* remove some todos
* more cleanup in lat planner
* vego > min_speed
* regen and update process replay refs
* update model replay ref
* update model replay ref commit again
* Revert "update model replay ref commit again"
This reverts commit 922cb796b8dfe264b0cce7a18206bb898b18bcb3.
* update again
* bump cereal
* 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
* Hyundai: Add FW Versions for 2019 Elantra
* wrong platform
* Update selfdrive/car/hyundai/values.py
* split platforms again
* add engine and other trans
* legacy: don't trust long
* fix
* elantra has no eps and i30 has no dates as well
* 19 still has no sng
* new harness
* todo comment
* Update CARS.md
* re-did
* add back
* rev
* Add Elantra 2017 FW from f6f9e1708bae2ef6
* Add Elantra 2017 FW from 5af39b105269f0f3
* Add Elantra 2017 FW from 2e158bb0e7396dd9
* should be all i30 and elantra drivers
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* add CADILLAC ESCALADE ESV PLATINUM 2019
* add test route
* Update selfdrive/car/gm/interface.py
* combine params
* that's just a trim
* wow, there's a huge torque offset (left is 1.2 m/s^2, right is 1.9 m/s^2 max lat accel)
* don't hard code
* Update selfdrive/car/torque_data/override.yaml
* consistent formatting
* add to releases
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* WIP try modeld all in python
* fix plan
* add lane lines stds
* fix lane lines prob
* add lead prob
* add meta
* simplify plan parsing
* add hard brake pred
* add confidence
* fix desire state and desire pred
* check this file for now
* rm prints
* rm debug
* add todos
* add plan_t_idxs
* same as cpp
* removed cython
* add wfd width - rm cpp code
* add new files rm old files
* get metadata at compile time
* forgot this file
* now uses more CPU
* not used
* update readme
* lint
* copy this too
* simplify disengage probs
* update model replay ref commit
* update again
* confidence: remove if statemens
* use publish_state.enqueue
* Revert "use publish_state.enqueue"
This reverts commit d8807c8348338a1f773a8de00fd796abb8181404.
* confidence: better shape defs
* use ModelConstants class
* fix confidence
* Parser
* slightly more power too
* no inline ifs :(
* confidence: just use if statements
* bump tinygrad to master
* ops_cpu is required now
* and that one too
* tinygrad is getting out of hand with all the files
* bump tinygrad
* update ref commit
* tinygrad master
* Revert "update ref commit"
This reverts commit e7284152899d6dd8a986d9570e6021addfbc6b0f.
* bump tinygrad repo
* bump master
* update ref commit
* Update values.py - Hyundai Kona 2022 fingerprints
Car was new in summer 2023 in EU/Norway
* Update selfdrive/car/hyundai/values.py
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* add test from hyundai
* found tss2
* abs and engine are very rarely shared (avalonh tss2 and camryh tss2 is one example)
* some bad regex
* some pattern work
* some work
* .
* some conceptual clean up
* fix short fw pattern
* hyundai test
* clean up values.py a bit
* print platform codes
* hyundai fuzzy
* pass test
* move around constants
* clean up
* clean up hyundai
* fix print
* more clean up, fix med pattern
* add documentation
* use major version
* some clean up from merge
* some clean up from merge 2
* spot check
* clean up imports
* missing FW_QUERY_CONFIG
* short version: always prefixed with 3, get real platform code
* limit to max chunks seen (3)
* rm engine
* fix that
* get_platform_codes returns dict
* tests
* comments
* fix test
* enable a test
* fix script
* print ecu parts
* enable old test
* clean up some tests
* clean up
* more clean up
* static
* this is all it took?
* add note
* ...
* use less ECUs
* bump
* todo
* clean up fuzzy fp function
* make deterministic in a feat of engineering
* add temp exclude_fw argument for testing
* fix logic
* add blacklist
* add platform and its matches
* fix for nb
* remove fw exclusion
* Revert "remove fw exclusion"
This reverts commit 0e3b47c5a30ebdb647caf5d792b10f517cbdf48f.
* clean up
* Revert "Revert "remove fw exclusion""
This reverts commit 42c55f006a4a0596ff404c67db1a88eb64b45d9e.
* these two have similar chassis according to wikipedia (but mass is relatively different)
* Revert "Revert "Revert "remove fw exclusion"""
This reverts commit 0f874233422d2007cc87bfb1c714cabed6e80049.
* Revert "Revert "Revert "Revert "remove fw exclusion""""
This reverts commit 2411967f5a2b0712773d614ee589321cca4d52a5.
* oof
* shadows global variable
* rm comment
* combine corolla
* corolla tss2: remove duplicates
* remove gas pedal hybrid signal
* combine RX TSS2
* we only split for static DSU msgs, or sng differences
* Combine NX TSS2
* remove nb
* Combine ES TSS2
* Combine RAV4 TSS2 (torque params for each EPS variant are similar enough, and eps and fwdcamera all are identical)
* Merge TSS-P Lexus NX
* TSS-P Lexus NX: remove duplicates
* TSS-P C-HR: merge
* TSS-P C-HR: remove duplicates
* fix routes
* re-did everything: no diff 🎉
* update test models seg list
* Update ref_commit
* I'm batman
* chown batman
* sudo
* add batman to sudo group
* try without cleanup
* Revert "try without cleanup"
This reverts commit f59554f2f373417f2c59fd250463eca2fda4d49e.
* comment
* Ability to whitelist/blacklist cars in regen_all
* Add CI job for regen, running on 2 segments
* Run regen_all, not regen
* Use coverage run
* Add test_regen
* Use test_regen in ci test
* Add test case names
* ONNXCPU = 1
* Add mazda segment
* Use RUN_CL
* build cl image before running
* unset PYTHONWARNINGS
* Create regen cache
* Replace daemons with processes
* Skip ford
* Skip mazda
* Add comment about commented segments
* Update selfdrive/test/process_replay/test_regen.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Remove unset pythonwarnings
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Migrate pandaStates
* Fix import
* Make pandaStates migration optional, so process_replay still works on logs without carParams
* peripheralState migration if its not available
* Do nothing if log file has peripheralStates
* Add migrate_managerState
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* pandad: ensure panda is in a good state before each test case
* less overhead
* fix pc
* update that
* Update selfdrive/boardd/tests/test_pandad.py
* update
* Fix assertion for vision_pubs
* Get camera states from meta
* Convert deviceType to string
* Use neo instead of eon for frame sizes dict
* update vision_pubs of process config when creating vipc
* run unit tests in a random order by default
* bump panda
* fix startup
* re-add random order plugin
---------
Co-authored-by: Justin Newberry <justin@comma.ai>
* Install virtualgl in a container
* Initialize virtualgl in bashrc
* Create virtual screen when starting
* Start vglclient on host
* Run Xvfb in separate tmux session to keep it running
* Add note about virtualGL in readme
* Add wget
* source vglrun
* Start xvfb only when forwarding x11
* Remove section about vglrun from readme
* HOST_DISPLAY implementation
* Add MOTD message instead of readme section
* split bridge into two files
* fix metadrive
* wip
* fix tests too
* separate process
* sepeprate process
* finish moving to another process
* remove spammy output
* HKG: Car Port for Hyundai Cusitn 1st Gen
Hyundai Custin is asia only car ,named Custo in China.
Hyundai K , talk with Sotana CAN BUS
test route"0bbe367c98fa1538|2023-08-19--01-58-42--0"
It's my fisrt time to PR a port car. I must miss something I don't know. Waiting your instruction to complete it.
* Add route
Add route
* update interface.py
Add interface values
* Update values.py
type
* slight cleanup
* stock openpilot route
* Add credit to release note
* lkas11 fault fix
* Generate CARS.md
* SCC is standard
* crc8
* Update new route
Add a new route "0bbe367c98fa1538|2023-09-16--00-16-49--0"
* sort
* Update selfdrive/car/hyundai/interface.py
* rename platform var
* we want abs!
* was looking at a vw lol
* 096
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* devcontainer user
* cleanup permissions
* remove that
* remove that since it's not used
* clean that up after merge
* build base image first
* remove the pull
* build base image
* ensure we can pip install
* build base image as batman user
* add user uid
* add temporary comment about chown instruction
* return a dict where minor version is not in keys
* limit valid chunks to 3 (max seen)
* First short version character is always 3 (we were using wrong platform code)
* docs updates
* not here
* fixes for printing new platform code format
* ecu notes
* notes
* platform code tests
* no tuple
* can visualize the whole thing now
* make it clear there's no major versions
make it clear there's no major versions
* static analysis
* two minor versions
* fix
* not using dsu
* comment
* comment
* comment
* forgot this one
* add 2019 OptimaH
* fix
* fix gears
* rename
* should be in unsup long
* fix
* probable cause
* add test route
* update docs
* fix test
* spacing
* note it's only old
* bump pandaStates to 10Hz
* run thermald at 2 Hz
* use service list for freq
* even better
* fix import
* use DT_TRML
* revert service list
* bump cereal
* no inter
* not sure why 5hz before
* revert
* revert peripheral
* poll on peripheralState
after pandaStates
* Revert "poll on peripheralState"
This reverts commit 5eecb83e070dd51b550a47f3e0e7a1600b8da4e4.
* revert this
* bump
* cmt
* fix
* bump to master
Update scipy version in custom_dep.py
This commit updates the version of scipy in custom_dep.py from 1.7.1 to 1.11.1. This change is done to allow installing from non prebilt branches as the former scipy requested is incompatible with python 3.11.
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* Update languages.json
* update_translations.py
* update_translations.py + vanish
* fix unfinished
* use arabic language for name and move down based on similar
* goreless
* better
* Revert "better"
This reverts commit f19f6cb5ba31209bd2659a16953fcc20b3ce31e7.
* better again
* Update values.py for VW Tiguan 2019 SEL
Added all ECU Firmware Versions for VW Tiguan 2019 SEL model
* rm duplicates
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Update values.py
Added Crafter_MK2 fwVersions: Problem there where two engine ecu's with the same address, I added both into the fwVersion list.
* Update values.py
deleted the hyundai engine ecu fwVersion - Discord told me to ignore Hyundai parts so I deleted that one line again.
* Add prompt about the state of macos support in mac_setup
* Change words
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* export host config via .host/.env file. fix mac display issues
* append instead of replace for bashrc
* Log when mac display override happens
* Update xauthority path in json
* support display&edit node name
* cleanup
* set validator for Node name
* modify validator to support multiple receivers
* set default to XXX in updateMsg
* add DEFAULT_NODE_NAME
* Update tools/cabana/commands.h
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* use torque for 2023 RAV4s that allow it
* FW
* better cmt
* better
* better values comment
* switch
* add torque params
* simpler
* better to use steerControlType
* ???
* fix condition
* adjust params
* pid is only for old cars
* add comment
* move comment up
* one if
fix
* invert
* better comment
* better here
* for
* add torque hybrid test route
* fix condition
* this might be simpler
* back to one if
fix
* better name
* other way
* this reads so much better
* last change
* better
* did i break ci?
* HKG: Car Port for Kia K8 2023 (HDA2)
* Fix release docs
* add test route
* engaged segment
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Hyundai: Car Port for Azera 2022
* harness k
* not crc8
* use gen
* add test route
* Middle East only
* Revert "Middle East only"
This reverts commit 1abe795ad00d10344761e99f415a1cfc14f4c163.
* rename to 6th gen
* sorting
* has a little less torque
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* upadting the readme.md to make it easier to follow
* addressing pr comments
* addressing the pr
* Update README.md
* bold
---------
Co-authored-by: Harald Schäfer <harald.the.engineer@gmail.com>
* add pytest-cpp package (#29828)
* add pytest-cpp package
* disable for now
* use in ci
* use pytest cpp
* use my branch
* add missing tests
* that doesn't make sense
* it was merged upstream
* replace TEST_RLOG_URL with a publicly accessible url
* PR Cleanup
* assert instead
* update poetry lock
* add comment about pytest-cpp
---------
Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
Co-authored-by: Justin Newberry <justin@comma.ai>
Co-authored-by: deanlee <deanlee3@gmail.com>
* auto label
* on pull request
* checkout
* yaml not yml
* recursive here too
* start with just car stuff and CI
* require all
* no fps
* add translations and fix CI
* arch specific tags
* merge multiarch script
* arm64 build and merge jobs
* update tag script
* casual ci test
* change image to 2204
* docker -v test
* arch specific naming
* Remove test_buildjet
* build -arch images only when CURRENT_ARCH_BUILD is set
* support new tags in tag_multiarch
* Toggle CURRENT_ARCH_BUILD on in ci
* Docker common
* Fix condition
* Fix path to docker_common
* Add more stuff to common
* Add build_arm job
* composite job for building
* Run checkout before build composite
* add shell arg
* move timeout to selfdrive_tests
* TARGET ARCHITECTURE var
* Support TARGET_ARCHITECTURE in workflow
* Rewrite to Single build job with matrix
* Remove shebang from docker_common
* Attempt for fix build matrix
* Remove setup arch
* build matrix for docker push
* Use 2vcpu for arm build
* 2vcpu for docker_push too
* temporarly unlock docker_push
* Remove requirement for target arch when pushing
* Unset target architecture in docker_push cl
* fix sha tags
* Rename action to compile-openpilot
* move push_image line to tag_multiarch step
* arch suffix for scons cache
* cache_key_prefix for setup-with-retry
* Re-disable docker_push on non-master
* Add newlines
* subaru steer faults
* it takes a bool now
* Update selfdrive/car/subaru/carcontroller.py
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* that was removed
* should be abs
* bump panda
* bump panda
* subaru faults
* add fixme
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* review suggestions
* still want zero steer when lat not active
* bump submodules
* move it under the non-preglobal section
* better comment for steer limited
Co-authored-by: Shane Smiskol <shane@smiskol.com>
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* 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
* use OP prefix for logmessage
* cleanup paths too
* cleanup the paths too
* add hw.py to release
* fix those issues
* fix unittests
* fix unittests
* fix unittests
* do swaglog_ipc properly across all the files
* fix that
* fix swaglog in c++
* review suggestions
* camera-gyro cross checks, but one way
* increase factor to account for gyro noise (potholes, bad roads etc
* increase factor to reduce FP with device taps, bad roads, etc
* factor to 30
* add inputsok to sensoir data invalid alert
* bugfix
* move the sensors check
* add localizer catchall alert
* update refcommit
* remove permanent alert
* revert sensorDataInvalid alert change, split into new PR
* try a setup action
* should be uses
* fix that formatting
* try conclusion
* continue on error
* try without hyphens
* only when failure
* make it optional
* continue on error
* those don't fail anymore
* what about 3 failures
* remove stuff for debugging
* cleanup
* review suggestions
* change that too
* fix pj
* add long route
* fix duplicates
* need to bump that slightly up
* commented for now
Co-authored-by: Shane Smiskol <shane@smiskol.com>
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Safe and efficient asynchronous writing parameters
* call putNonBlocking in locationd
* remove space
* ->AsyncWriter
* remove semicolon
* use member function
* asyc write multiple times
* add test case for AsyncWriter
* merge master
* add missing include
* public
* cleanup
* create once
* cleanup
* update that
* explicit waiting
* improve test case
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* wait to leave elm mode before checking relay malfunction
* clean up
* clean up
* pycharm is best
* clean up
* more
* use pandaStatesDEPRECATED
* fix
* use constant
* only radar
* cmt
* set inline
* comment and re-arrange
* enable for relay malfunc check
* down here
* Update selfdrive/car/tests/test_models.py
* rm
* don't affect other tests
* up here
* one line
* update cmt
* no tolerance
* Revert "no tolerance"
This reverts commit 41b1c7e8beda87a878c3bb1f37ec96b256965966.
* comment is real solution
---------
Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
* pytest: use a clean environment for all tests
* rm that
* fix pj
* put build back
* fix params
* fix that
* handle no key
* that was removed
---------
Co-authored-by: Justin Newberry <justin@comma.ai>
* switch to pytest
* static analysis
* fix the helpers
* static analysis
* remove that
* more parallel test
* cleanup
* static analysis
* durations min and tolerance
* reduce those iterations
* sleep time could be decreased too
* in case it's negative
* try using caching
* remove parallelization for first PR
* PR Cleanup
* reduce diff
* fix that
* bump panda
* CAR docs: add video for Hyundai Kona Electric 2023 (KOR) HDA2
CAR docs: add video for Hyundai Kona Electric 2023 (KOR) HDA2
update values.py
* Update CARS.md
* Update values.py
* Update values.py
* Hyundai: Car Port for Ioniq 6 2023
* Update docs
* bump panda
* Attempt to block laneline information to suppress LFA
* Try 0x364
* Block 0x364|BYTE7
* Attempt to block LFA on 0x364
* Block all bus 2/6 messages
* Lowercase to match DBC
* Aight
* we don't use this
* Final test to block LFA
* No byte 7
* Fix
* Fix tx
* This platform does SCC from radar
* Generate CARS.md
* cleanup
* Fix
* Fix 2
* bump submodules
* add test route for HDA2
* Support non-HDA2 trims in future PR
* segment 6
* bump opendbc
* Update username
* Check for new LKAS addr instead
* Update comment
* sync with dbc
* Combine LFA suppress can sends
* Add new tx to unit test
* bump opendbc
* we'd need a new DBC for that
* update docs
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Hyundai: Car Port for Kona EV 2nd Generation (2023 Korean Ver.)
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* gate with flag
* new blinker signals for 2nd Gen Kona
* add test route
* Update CARS.md
* bump opendbc
* match opendbc definition
* Attempt to block laneline information to suppress LFA
* Try 0x364
* Block 0x364|BYTE7
* Block all bus 2/6 messages
* Lowercase to match DBC
* Aight
* we don't use this
* Final test to block LFA
* No byte 7
* Fix
* Fix tx
* cleanup
* HDA2 support
* Update RELEASES.md
* bump opendbc
* from `liveTorqueParameters`
* add test route
* bump panda
* official spec
* Check for new LKAS addr instead
* Update comment
* sync with dbc
* Combine LFA suppress can sends
* bump opendbc
* Add new tx to unit test
* linter
* Consolidate
* rename and update torque params
* add note for blinker weirdness
* bump
* bump
* clean up block msg
* it uses LFA if long
* not used in multiple places
* bump panda
* correct name
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Create .pyenvrc if it does not exist
* Replace source zshrc with pyenvrc
* Remove unnecessary variables if pyenv wasn't installed
* Add check fo PYENV_SHELL
* source instead of eval
* printf instead of echo
* leave previous pyenvrc path to source
* Add newline
* Change shebang
* Dont source the file after setup
* eval virtualenv-init too
* modify comment
* Just unset broken function on macos
* reduce global state
* use a decorator here too
* use that one
* use base imports
* ipchandler in setup
* move to common dir
* move to helpers
* wip
* fix the decorator
* assert no duplicate checks
* bump
* remove duplicates
* are both messages present?
* guess we need this extra check
* this makes it more clear
* bump opendbc
* fix preglobal
* Revert "IsoTpParallelQuery: extend timeout for every frame type (#29654)"
This reverts commit a160f1a624.
* bump
* bump to master
* figure out a clean way to exclude segments
* revert
* bump
* Hyundai: refactor button messages creation and consolidation
* one bool should be enough
* Use CLU11|0x4F1 to determine
* grammar pls
* action
* fix duplication
* move to bottom
* one area
* type
* Revert "one area"
This reverts commit c2b794f964b3df09a5ae9f35a3853e6cec69f93a.
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Update French translation - main_fr.ts
Hello
I noticed that some translations were sticking out a bit in the new interface, so I'm proposing an update to correct this. I've arranged for the translations that cause problems to have the same number of letters including spaces as the original sentence so that they fit in the UI.
@maxime-desroches if you can give me your feedback, that would be very kind. Thank you.
* Update selfdrive/ui/translations/main_fr.ts
Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
* Update Footnote 1
Updated Footnote 1 for new name for toggle "openpilot Longitudinal Control (Alpha)" as well as made it clearer on how to change to devel or master-ci branches, taken from comma.ai blog (https://blog.comma.ai/090release/#experimental-longitudinal-control).
* Add 3X
* Added to Docs_definitions
* just update name
* fix
* fix
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* fix connecting not show
* clear connect state
* pass network by value
* add comment
* move pass by value to anoter pr
* should always use function to set connecting_to_network
* remove connecting when forgetting
* out here
* can't do this :(
* Revert "can't do this :("
This reverts commit e06145202de34142e74667c876dc22442eb30796.
Revert "out here"
This reverts commit 8ca7b47a28854a92d95fcb5c5fc435e140f9af2c.
Revert "remove connecting when forgetting"
This reverts commit 671db0b5e76b6266a48f20bf4a1fd40cad4f90a4.
Revert "should always use function to set connecting_to_network"
This reverts commit a220b518fa2a4103046f9522afada80db76ae90d.
* makes sense to keep this the same
* not in between slots
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* 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>
* move translation files to assets.qrc
* cleanup
* add main_en
* dynamically add
* not sure if required
* revert to master
* move translations above assets
* add translations to qrc file
* comment
* now add translations_assets_src to assets sources
* this is built
* add to .gitignore
* consistent name
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* pandad: recover from bad bootstub
* more
* adjust that
* ugh guess multipanda is still a thing
* reset
---------
Co-authored-by: Comma Device <device@comma.ai>
* Remove common dependency of lateral mpc
* Replace cereal dir dependency with cereal lib in long mpc
* Add missing files to generated sources
* Typo fix
* messaging_python dep
* rename function first and foremost
* the function
* comment
* move usages over
* probably fine
* comments
* btn
* single line
* not comments
* fix keyword
* is it not clear?
* noEntry while holding cancel
* bumpo
* remove
* better?
* better?
* try this
* try this
* loop
* better
* more clear
* Revert "more clear"
This reverts commit 37e0277e4bfe6f1c553dbbcece6f532a280be62e.
* no optional
* fine
* add comment
* clean up honda
* one line
* can also do this
* but unclear
This reverts commit 1984a72cc8680b23c202695b8aeeb1aa28f7160c.
* bumppanda
* Added modeld.py (WIP)
* No more VisionIpcBufExtra
* Started work on cython bindings for runmodel
* Got ONNXModel cython bindings mostly working, added ModelFrame bindings
* Got modeld main loop running without model eval
* Move everything into ModelState
* Doesn't crash!
* Moved ModelState into modeld.py
* Added driving_pyx
* Added cython bindings for message generation
* Moved CLContext definition to visionipc.pxd
* *facepalm*
* Move cl_pyx into commonmodel_pyx
* Split out ONNXModel into a subclass of RunModel
* Added snpemodel/thneedmodel bindings
* Removed modeld.cc
* Fixed scons for macOS
* Fixed sconscript
* Added flag for thneedmodel
* paths are now relative to openpilot root dir
* Set cl kernel paths in SConscript
* Set LD_PRELOAD=libthneed.so to fix ioctl interception
* Run from root dir
* A few more fixes
* A few more minor fixes
* Use C update_calibration for now to exactly match refs
* Add nav_instructions input
* Link driving_pyx.pyx with transformations
* Checked python FirstOrderFilter against C++ FirstOrderFilter
* Set process name to fix test_onroad
* Revert changes to onnxmodel.cc
* Fixed bad onnx_runner.py path in onnxmodel.cc
* Import all constants from driving.h
* logging -> cloudlog
* pylint import-error suppressions no longer needed?
* Loop in SConscript
* Added parens
* Bump modeld cpu usage in test_onroad
* Get rid of use_nav
* use config_realtime_process
* error message from ioctl sniffer was messing up pyenv
* cast distance_idx to int
* Removed cloudlog.infos in model.run
* Fixed rebase conflicts
* Clean up driving.pxd/pyx
* Fixed linter error
* comma dir
* mkdir
* fix issues
* test
* fix that
* fix
* do the other ones too
* missed that
* fix
* fix pr comments by moving into two different directories
* fix location
* fix that
* only change current
* fix
* use scripts
* remove common
* do login in the workflow
* separate step
* cleanup
* one script is cleaner
* keep it consistent
* review suggestions
* move in ci too
* PR cleanup
* all the changes I want to make
* Revert "all the changes I want to make"
This reverts commit c18132b73eb9bba4d7871631d7cd4155eb7efcd0.
* add initialized
* clip to 10 m/s
* fix bug
* rm
* here?
* 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>
* Add support for Forester Hybrid 2020
Co-authored-by: martinl <martin@mlp.ee>
* it's a param now
* make it work
* fix
* merge and cleanup
* remove duplicate
* should be forester
* bump submodules
* should be abs
* add missing params
* still need a test route
* still need a test route
* consitent
* here too
* todo
* more
* Update selfdrive/car/tests/routes.py
* clean up
---------
Co-authored-by: martinl <martin@mlp.ee>
Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
* Toyota: enable BSM on C-Hr
* Update selfdrive/car/toyota/carstate.py
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
* remove duplicate block
* Remove useless addition
* make this a comment for now
* remove extra bit
* clean up
* clean up
---------
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Subaru: Crosstrek Hybrid support
* hybrid cars in dashcam only
* revert that
* just dashcam
* tah should be abs
* remove unused import
* use the old dbc for now
* hybrid car exceptions in carstate
* need dashstatus until we get a proper cruiseactivated bit
* missing CP
* merge conflicts
* lets be consistent about extend
* cleanup
* fix and comments
* preglobal fix
* and the rest
* and this
* added hybrid to release
---------
Co-authored-by: Justin Newberry <justin@comma.ai>
* rotate icon with current bearing
When user is rotating the map, the car icon should stay fixed on the cars bearing, not the map.
* spacing
* comment
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* do set reset for every measurement cycle
* use one sensorvec
* convert from continuous to manual mode
* separate the set/reset and TM_M
* make magnetometer readings manual, set appropriate sleep
* add more sleep and check validity of values
* add magnetometer to a separate thread
* refactor
* bugfix
* each sensor in a new thread, handle generically
* bugfix
* rm global
* update cpu
* update test
* update test
* revert cereal change
* split out temp sensors
* little more
* fix
* fix
* bump cereal
* linter fixes
---------
Co-authored-by: nuwandavek <vivekaithal44@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
* empty socketcan class
* works on linux with vcan
* add open stream widget
* fix MacOS build
* update readme
* unused
* no socketcan on C3
* fix in cabana sconstruct
* serial -> device
* Setup xauthority link on host in initializeCommand
* Create a dummy xauthority if it does no exist on host machine
* Remove xauthority line from ci test
* put one subaddr in parallel_addrs
* p
* remove print
* update test refs
* test
* revert test changes
* do same in present ECU query, lower threshold to catch (~0.82 to ~0.72 right within bounds)
* type
* clean up
* update test ref
* 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
* mvp devcontainer. builds, runs and UI works
* fix indentation
* enable color and fix openpilot_env path
* separate dockerfile for devcontainer
* use prebuilt image
* Fix openpilot_env setup
* Add dev container section in readme
* Fix typo
* Fix typo again
* Move dev dockerfile to .devcontainer dir
* Update README
* Add note about x11 forwarding on macos
* Update dev container json
* Fix typo
* Override DISPLAY on macOS
* Mention XAUTHORITY for macOS setup in README
* fix typo
* Add devcontainer CI test
* Rename to devcontainer
* Fix git issues
* ripgrep
* Link instead of vscode manual
* Replace raw path with containerWorkspaceFolder
* Fix typo
* Remove dev tools workflow
* Link away X11 forwarding setup isntructions for mac
* Remove fork consrtaint, add test run of scons
* Add submodules as safe.directories in postStartCommand
* Remove openpilot_env references
* Add scons cache volume
---------
Co-authored-by: Robbe Derks <robbe@localhost.localdomain>
Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
* Revert "CI: prevent moc from running in cache population step (#29401)"
This reverts commit d1aedccfbe.
* Revert "SCons: respect cache read only (#29437)"
This reverts commit 59abb469ea.
* don't change moc path
* Do not remove moc_files from cache
* Add cache cleanup script
* Use cache cleanup script
* Dry-run in cache population command
* Add newline
* Temporarly disable master only constraint for cache cleanup step
* Add test lines
* one more
* Fix shebang
* Remove debug lines
* Bring back master branch constraints
* Ford: test FW query config and versions
* comments about software p/n
* should keep it in bytes
* don't need car_model
* it prints nicely
* add todo
* Update selfdrive/car/ford/tests/test_ford.py
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* use_laika
* Update test
* fix spacing
* fix proc replay
* small fix
* Try correct std
* cast correctly
* experimental
* simpler
* update reset thresholds
* improve
* Ready for live running
* outlier reject
* update laika
* add fine speeds
* more experiments
* fixes
* all in laika
* more small tweaks
* outlier rejection not needed
* fix conflict
* no more gpslocation
* update test
* refactor to laika
* runs again
* Update ref
* build docker image with scons cache
* use setup
* scons cache
* added the dockerfile
* add the shell
* docs use cache
* dont pull lfs for docs
* simulator too
* dont pull the cache image
* fix inputs
* inputs
* booleans aren't supported
* bool not supported
* bool isnt supported
* fix
* readonly cache
* fix sim cache too
* respect readonly
* gitignore and move to correct folder
* also copy old
* move to tools/ci
* move to selfdrive/test
* just make the cache writable, it's discarded anyway
* minimize diff in this pr
* HKG: Car Port for Kia Sorento Hybrid 2023
* Update CARS.md
* Oops
* add test route
* specify segment
* all packages
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* cancel rate
* Update selfdrive/car/subaru/carcontroller.py
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* leave it as it was for now
* cleanup
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* code from setup cleanup #29419
update ci
update ci
export variables for mac os
check env
what is in the profile script?
install pyenv the same everywhere
temporarily disable brew cache
temporarily disable brew cache
try fixing pyenv virtualenv-init
try this
inject shims path earlier
try alternate install method
switch back to brew install
try eval "$(pyenv init --path)"
add eval "\$(pyenv init --path)"
* Add local .env file to the cache list
* Change .env paths
* debug line
* order?
* remove .env
* Add .venv to caches
---------
Co-authored-by: Greg Hogan <gregjhogan@gmail.com>
* use interactive_counter instead of separate zoom and pan counters
* use interaction_counter instead of separate zoom and pan counters
* same styling
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* test fingerprint frames (timing)
* guess not needed
* it checks both buses
* use case list
* this is safe since we call current test only in the current loop, never after
* prof
* test this too
* round distance
* use same format in ETA
* remove vanish
* restore translate
* use nearbyint
* update translations
* mark finished
* consistent style
* we don't include this anywhere in ui, needed?
* fix missing std
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* GM: Don't send belowSteerSpeed when resumeRequired
* Set belowSteerSpeed alert to LOW priority, resumeRequired to MID
* Add script to output all events and their priorities by type
* Set CP, CS, sm
* Subscribe to same messages as controlsd
* Create callable alerts
* Remove event print script
* Remove sng check
* do not skip connected network
* simplify
* revert
* revert
* no implicit
* ifwt
* fix missing ssid
* makes more sense to only update security_type once (first vs. last)
* better comment
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* timing test
* test
* fix
* print
* loop
* clean up
* wider range
* Update selfdrive/car/tests/test_models.py
* Apply suggestions from code review
* run many times
* Update selfdrive/car/tests/test_models.py
* run for many its
* run with unittest and print as list
* Update .github/workflows/selfdrive_tests.yaml
* Update .github/workflows/selfdrive_tests.yaml
* total time is super inconsistent (body)
* Update selfdrive/car/tests/test_models.py
* clean up
* clean up
* clean up
* this works!
* draft
* test suite not as modular
* try something like this
* can do kb, but not too representative
* clean up
* remove kb? it depends on signals
* clean up
* more clean up
* rename
* just measure all CANParsers
* can do all this manually
* but this is way simpler
* comment
* stash
* draft
* draft
* remove old script
* clean up
* revert
* use it
* remove test
* opt
* no partial
* remove
* revert test_models
* test can fingerprinting
* so much simpler!
* fix dict resizing
* simplify
* need to do this
* fix
* move to new file
* rename
* comment
* ignore function-uses-loop-variable
* Multilang: add Turkish language
* update translation
* vanish
* move up
* missing %n
* format args
* pass this test now
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Add longitudinal support for Subaru Crosstrek and Impreza
* Update experimentalLongitudinalAvailable check
* Update supported cars list
* bump panda
* Remove/rename es_lkas_msg to es_lkas_state_msg
* Use stockAeb for AEB passthrough
* bump panda
* bump panda
* remove stockFcw from stockAeb
* Subaru: Add FCW_Cont_Beep to stockFcw signals
* bump panda
* bump panda
* update poetry deps: shellingham
* bump panda
* bump panda
* Revert "update poetry deps: shellingham"
This reverts commit 6e9b20964890c8a5c416a17b8aaad4cc16fddcfc.
* Merge fixes
* bump panda
* bump panda
* update supported cars list
* dont use counters for long control
* fix unittests
* submodules update
* only soft disable in long control
* use common functions and cleanup
* apply hystersis correctly
* move to comma repo
* use CanBus
* cleanup
* explicit copy
* behind a flag
* remove unrequired rpm checks
* add comment
* fix flag issue
* we still need to check rpm
* update docs
* enable long for a test route
* unit tests
* inactive throttle fix
* Update subarucan.py
* Update carcontroller.py
* Update carcontroller.py
* inactive throttle fix
* Delete settings
* fix rate limit
* bump submodules
* bump panda
* bump panda
* bump panda
* bump panda
* simplify initial implementation, remove AEB
* reduce initial complexity by not intercepting cruisecontrol or brake_status
* fix fwd hook test
* show pcb off warning
* cleanup and setup for tuning
* fix sumobuldes
* revert unrelated changes
* only whats required
* only whats required
* clean that up
* better comments
* behind the flag for now
* comments and minimize diff
* align stuff
* cleanup for PR
* apply review suggestions
---------
Co-authored-by: Martin Lillepuu <martin@mlp.ee>
* timing test
* test
* fix
* print
* loop
* clean up
* wider range
* Update selfdrive/car/tests/test_models.py
* Apply suggestions from code review
* run many times
* Update selfdrive/car/tests/test_models.py
* run for many its
* run with unittest and print as list
* Update .github/workflows/selfdrive_tests.yaml
* Update .github/workflows/selfdrive_tests.yaml
* total time is super inconsistent (body)
* Update selfdrive/car/tests/test_models.py
* clean up
* clean up
* clean up
* this works!
* draft
* test suite not as modular
* try something like this
* can do kb, but not too representative
* clean up
* remove kb? it depends on signals
* clean up
* more clean up
* rename
* just measure all CANParsers
* can do all this manually
* but this is way simpler
* comment
* stash
* draft
* draft
* remove old script
* clean up
* revert
* use it
* remove test
* opt
* no partial
* remove
* revert test_models
full internal test models seg list
remove avalon and sienna
volt with ascm on
another volt with ascm on
9bc2ee633c361c3d|2023-07-28--20-17-51--2
dashcam mode
c4e21532b6fe3847|2023-07-05--08-34-05--1
can invalid (missing PSCMStatus)
cf6ba99592c48848|2023-07-01--11-36-56--20
* timing test
* test
* fix
* print
* loop
* clean up
* wider range
* Update selfdrive/car/tests/test_models.py
* Apply suggestions from code review
* run many times
* Update selfdrive/car/tests/test_models.py
* run for many its
* run with unittest and print as list
* Update .github/workflows/selfdrive_tests.yaml
* Update .github/workflows/selfdrive_tests.yaml
* total time is super inconsistent (body)
* Update selfdrive/car/tests/test_models.py
* clean up
* clean up
* clean up
* this works!
* draft
* test suite not as modular
* try something like this
* can do kb, but not too representative
* clean up
* remove kb? it depends on signals
* clean up
* more clean up
* rename
* just measure all CANParsers
* can do all this manually
* but this is way simpler
* comment
* fix mypy
* this is correct too
* 3 seconds instead of 1.5
* use 0.2.2
* Add mac binaries
* Replace libqpOASES with symlink on larch64
* Add comment to build script
---------
Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
* calculate rate
* added adeeb's comment
* move to selfdrive/car
* that makes way more sense
* much simpler
* fix rate
* preglobal doesn't have a counter
* update ref
* merge
* update ref after merging
* Update Car/Subaru values.py to support 2022 Crosstrek
Tested via SP, just want support via stock OP
* remove duplicates
* started adding support for toyota bZ4X
* Add files via upload
* Update values.py
* Update values.py
* Update values.py
* Update values.py
* remove duplicates and mistakes
---------
Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
* check relay malfunction in test_models
* draft
* actual relay malfunction (or ASCM was turned on)
* rav4: not dashcam and op enabled, but we're not sending anything
* clean up
* spaces
* more space
* flip
* better?
* combine
* for
* move up
* radard: tie radard frequency to modelV2
Accumulate parsed messages until state is updated (toyota)
Same for honda
Rename rr to something more descriptive
* Change _update method name, since signature has changed
* Update ref commit
* Some renames
* Check for number of cans
* random_string now returns a significantly higher entropy random string
sizeof(char*) is going to be 8 on a 64-bit system, not the length of the
string. Before, only strings of integer values [0-6] were being generated. Also
switched to C++ constructs for simplicity.
* Update common/util.cc
* maintain repo style
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* What if: no signals! 🙅🤌🎆
* do hyundai
* honda!
* do gm
* and vw! (sorry comments)
* do those
* -500
* little more
* fix subie
* change back
* bumpopendbc
* oof lol
* messages
* some clean up
* here too
* clean up honda radar_interface.py
fix
rm
* bump opendbc to master
* add todo
* rename checks in tesla/radar_interface
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* enable flake8-builtins
* replace any with contains
* fix typo in pack
* fix type
* format is from the parent module, has to be enabled
* item_id
* fix item_id
* disable for id since that's what the remote server returns
* move to openpilot
* draft
* support internal urls
* not used
* update seg list
* regen segment list
* regen seg list
* regen
* regen
* regen
* no dirty segments
* regen seg list with no fuzzy or fixed fp
* regen segments with hda2 exception
* regen with added filters
* regen without bad dongle
* regen
* regenerate!
* regenerate, only OP enabled
* regen
* regenerate!
* regenerate!
* stash
* use SegmentName
* new route list
* add temp comment
* remove comment
* let's see if this works
* comment out other tests to speed up
* fix agent
* ?
* hmm
* oh whoops...
* add matrix
* fix
* how many levels do we need?
* fix values
* matrix can't be in parallel
* how about this
* try this
* Revert matrix
Revert "try this"
This reverts commit 8d0d91fd70c467c1fbb4e4e9aed511d15b2a30ef.
Revert "how about this"
This reverts commit a8e4fc53234824e77cbfb1e471277bc033e9dea1.
Revert "matrix can't be in parallel"
This reverts commit daaa6fcc3c75c74cbb90e97c565099a94123994c.
Revert "fix values"
This reverts commit df554b6a3371d124a574eb8d26bc51ef5b5b8fde.
Revert "how many levels do we need?"
This reverts commit 1a17320fa1c5e7220ef60e29981bbb3bb7da16c6.
Revert "fix"
This reverts commit e7eb6e404358fbd2eac3fea1901a8d30ea92d729.
Revert "add matrix"
This reverts commit a1b57e5725417d3c2f639f8edfc0c889b84b6753.
* use pytest instead! (5 jobs is ~150 mins)
* split lines, uncomment
* This Sienna seg has a fault SDSU that stopped forwarding/sending msgs
* picked a route with no PSCMStatus and no panda errors, recent routes are working
* this cadillac was dashcammed (no radar)
* opened an issue for this, it's 'expected' right now
* small clean up
* small clean up
* i don't think that worked
* is this needed?
* add to new PC tests
* cache
* draft
* Revert "draft"
This reverts commit 3b7f740dd4883118747300bc3687074c2d3c2116.
* probably should be function
* draft
* clean up
* add todo
* 600 random segments
* debug
* does this fix pythonpath issues?
fix
* try this
* mount?
* pytest again!
* no need for PYTHONPATH now
* Update Jenkinsfile
* ?
* convention
* clean up
* would be even more complex (have to unset ci which is class level)
* track
* is lfs pulled at all?
* ah no it's not
* Added all maneuvers to navInstruction message
* Added nav instruction logic to modeld
* New model: fcee01c1-96bb-414f-b00d-e4a994a00922/700
* Fixed bug in navd
* Added sharp/slight modifiers
* Updated refs
* test
* draft
* draft
* clean up
* clean up
* better test
* clean up
* check car info
* uncomment
* rm space
* no loop
* use dbc
* more clear
* one line
* test
* draft
* draft
* clean up
* clean up
* better test
* clean up
* check car info
* uncomment
* rm space
* no loop
* use dbc
* more clear
* one line
* Add support for aarch64 pc linux
* Add new libyuv path to release files
* Add libyuv's x86_64 lib dir
* Move left-over platform specific dirs from files_common
* Remove libyuv/lib directory (duplicate)
* Fix mpc Sconscripts
* Remove acados lib path from mpc sources
* Fix typo
* Add watch3 exec on aarch64
* 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>
* Add ProcessOutputProxy
* Move launcher to its own field
* Move ProcessOutputCapture to its own file
* Return itself from __enter__ of OpenpilotPrefix
* Integrate ProcessOutputCapture into process_replay
* Add note about capture_output_store to README
* ipykernel import is optional
* Disable type checking for link_with_current_proc
* Remove assertion
* Decode outputs to utf-8
* read(self): return empty buf if its none
* Fix type annotations
* Replace fifo with regular file, to avoid hitting fifo size limit
* Update Car/Subaru values.py to support 2022 Crosstrek
Tested via SP, just want support via stock OP
* remove duplicates
---------
Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
* fix empty banner instructions when arriving at destination
* bug fixes
* hide distance on arrival
* stash
* simpler
* can also do this, but i don't like modifying the response
* clean up
* rm
* revert
* rm
* flip this order
* move up
* need to flip order
* Revert "need to flip order"
This reverts commit ba961b8e6aa5d9490ab0dc661866cff9c72db91d.
* Revert "move up"
This reverts commit f1a4d8ae883080d52547fdaf9472457050e40669.
* Update selfdrive/navd/navd.py
* add image
* remove extra spacing
* add images
* use nav-settings-square-smaller.png
* draft
* clean up
* kinda works!
* nop need to update state
* can just use clicked
* MORE
* remove old button
* slightly smaller (todo change image))
* this works but is ugly
* remove old settings button
* draft
* no it's not
* draft 2.0
* clean up
* clean up
* let's make map_settings_btn public
* since we don't have map, use enabled
* fix image size
* can do clean up in another PR
show
* add line
* rename
* useless spacing
* use old nav icon
* handle DM icon (and test)
* clean up
* no reason
* remove old image
* don't use setCurrentIndex
* Revert "don't use setCurrentIndex"
This reverts commit 6fde765a3cd3a9ee39205614587a23fbfbc60950.
* also can use a ternary
* seems cleanest
This reverts commit f9287230704b94f46b6bb5376d9a17075a20caf7.
* draft
* assertrue
* this is way too complicated, even with unittest discover
* works
* test we can send resume button
* nice catches this
* fix
* fixed
* not needed
* draft
* works
* comment out to let catch
* clean up into a function
* clean ups
* final clean up
* no this is final
* bump
* simplify
* simplify
* pass
* bump
* globals don't work inside methods
* space
* all my debugging stuff
* this works
* add comment
* bb navd
* navInstruction is valid when we get a non-empty route response
* now don't need this
* stash
* big cleanup
* clean up
* clean up
* debug
* final clean up
* one line
* flip order
* update translations
* is this simpler?
* log in pandaStates
* Revert "log in pandaStates"
This reverts commit 87ee283ac45c2eeed94d9a958927e3072ec4460f.
* log to param
* dumps datetime
* cloudlog instead
* add truncation
* fix
* try isotimestamp
* duh
* more fixes
* should be __class__
* add some time to account for log gathering
* use new fast interface
* Revert "add some time to account for log gathering"
This reverts commit 2c08ad48052dfc0546530059a0cda03b04c4939a.
* cleanup
* simple test
* fix wrong serial
---------
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add hybrid FW for a2c30de116fe186d
* add hybrid FW for 60b363805ee9fc06
* add hybrid FW for 5b05f9d3f9574132 & 459707e5f696e897
* remove from extra_ecus, we can't conditionally mark not logging
* add likely protocols
* sleep in launch
* set time loop
* log
* try longer delay + logging
* try longer delay + logging
* fix order of update
* fix order of update
* fix order of update
* revert panda
* also don't show connectivity error without failed checks
* slightly cleanup updated
* fix type error
* init overlay first
* minimal diff
* comment
* minimal diff
* minimal diff
* explicit parameter to make it clear
* explicit parameter to make it clear
* use finally
* dont use finally
* PR cleanup
* reduce frequency
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* draft
* draft
* clean up
* clean up
* cleaner
* needs to be here to work
* or this works
* works too
* stash
* clean up qdebugs
* revert to master
* reapply changes
add bool
* consistent cmts
* clean up
* can be simpler combined
* clean up/fix
* 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
* 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 a595e4af64523665519fd450dbeb2fefd293ce2b.
* maybe
* Revert "maybe"
This reverts commit cc96523cc28b82e74018011e5a476be2e6f68d92.
* 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
* bump
* should be bytes
* draft fuzzy car params
* stash
* bump
* bump
* this is explored!
* some clean up
* more clean up
* clean up
* can't easily
* clean up
* no import
* Apply suggestions from code review
* move into a function
* Update selfdrive/car/tests/test_car_interfaces.py
* Update selfdrive/car/tests/test_car_interfaces.py
* Update selfdrive/car/tests/test_car_interfaces.py
* come onn
* we know it will return a dict here
* draft
* clean up
* helper
* comment
* debug
* Revert "debug"
This reverts commit d30ff3e996e73818e14f28b51afed206337bf6da.
* nav path
* transition
* revert width transition
revert width transition
* 400 is better, hard to see flicker at 500
* add width back
* tune
* tune
* 12 might be good
* 400ms is good
* lower case company lcc
* up here
* up here
* clean up
* multiple lines
* self explanetory
* first draft copy, needs updates
* gate behind exp mode
* can be one line
* this is no longer true
* toggle isn't just e2e long now, rename
* don't enable/disable
* kinda works!
* remove old giant qstring
* comment clean up
* similar breakpoint
* more clean up
* fixup onroad
* preserve planner behavior, and we don't need to look at confirmed param if we're onroad
* update translations
* vanish translations
* use scene for op long
* lowercase!
* updated copy
* need to check longitudinal here now too
* clean up!
* here is better
* used
* no nav emoji
* don't check param if not valid
* revert this
revert this
* ed
* revert experimental mode longitudinal checks (still need to revert toggle change)
* revert
* logic works
* revert test
* fix
* update translation
* fix (reset and update)
* Revert "Nissan FPv2: log different diagnostic session types (#28585)"
This reverts commit 2f2b94758b.
* switch to standard KWP2000 diagnostic session type
* we're speedy again
* proto version check
* bump panda
* update bootstub
* test
* bump panda
* fix that
* bump panda
* fix test case
* more fix
---------
Co-authored-by: Comma Device <device@comma.ai>
* bump
* should be bytes
* draft fuzzy car params
* stash
* bump
* bump
* this is explored!
* some clean up
* more clean up
* clean up
* do we need draw??
* draft
* this was confusing
* revert
* draft
* Revert "draft"
This reverts commit c593a03474b04d4df2648d8149798196c991a108.
* draft
* more typing!
* complete typing
* fix that
* cleanup
* better
* first draft copy, needs updates
* gate behind exp mode
* can be one line
* this is no longer true
* toggle isn't just e2e long now, rename
* don't enable/disable
* kinda works!
* remove old giant qstring
* comment clean up
* similar breakpoint
* more clean up
* fixup onroad
* preserve planner behavior, and we don't need to look at confirmed param if we're onroad
* update translations
* vanish translations
* use scene for op long
* lowercase!
* updated copy
* need to check longitudinal here now too
* clean up!
* here is better
* used
* no nav emoji
* don't check param if not valid
* revert this
revert this
* ed
* Update ui.cc
* add a bunch of debugging stuff i don't want to lose
* Revert "add a bunch of debugging stuff i don't want to lose"
This reverts commit 2de6ab5b68bc528e913db68f7fe576b6ebe89a9b.
* enable stencil buffer
* lower ui CPU usage
* Revert "lower ui CPU usage"
This reverts commit 650241c0d89c1476de3995f1dc3f87f671dd1dd7.
* Retry assistance
* rm whitespace
* Only inject when it's there
* will be rmd anyway
* Update test
* Actually disable internet in test
* Fix tests
* cleanup test
* fix tests more
* add late assist test
* use process
* Dont double clear
* ignore
* Small improvements
* Make tests
---------
Co-authored-by: Comma Device <device@comma.ai>
* accept touch events in map settings
* draft
* draft 2.0
* revert this stuff
* need this
* fix
* clean up debug prints
* fraft
* only show map on closeSettings if nav
* works!
* can't do it here
* I was going to connect signals from UIState to HomeWindow, then to OnroadWidget, but that seems like too much
* just need to keep track of it in onroad, seems like the cleanest option
* ideally we show the map where we set the scene variable, and that's in map.cc
* old variable
* comments
* less confusing
* app comment
* add back
* fix
* move to top
* remove this comment
* Fix flicker in nav enabled state
* Move all relevant information for validity checks into navModel packet
* Ignore locationMonoTime in replay tests
* Check route valid in navmodeld
* sm update
* check that
* update refs
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* dont clearlayout
* replace show with setVisible
* remove signals&connections, call updateDistance in updateInstructions
* refactor updateDistance to getDistance
* draw ETA with rich formatted text
* no rounded at the bottom corners
* add Params param to member
* fix font typo
* restore opendbc
* set antialiasing
* fix time format
* cmt
* common parts
* add code and date
* Revert "add code and date"
This reverts commit 47f9ac84cae8d1e73dc2b5af7d5701adc83da6eb.
* Revert "common parts"
This reverts commit aa5683bbce5b5e8e8414f5b90df9add3998e98ab.
* add back to santa cruz
* todo
* part number test
* pass test
* Update selfdrive/car/hyundai/tests/test_hyundai.py
* Started work on model runner refactor
* Fixed some compile errors
* everything compiles
* Fixed bug in SNPEModel
* updateInput -> setInputBuffer
* I understand nothing
* whoops lol
* use std::string instead of char*
* Move common logic into RunModel
* formatting fix
* HKG: Car Port for Kia Carnival (China only) 2023 (HDA1)
* add FW
* seems to be radar SCC
* Update CARS.md
* Update CARS.md
* Add test route
* Fix docs
* New route
* Fix docs formatting
* update with US model
* 2 total
* Update RELEASES.md
* add FW for US carnival 2023
* fix docs
* update test routes
* no rlogs for chinese route
* update docs
* revert chinese to merge now
* Apply suggestions from code review
* fine to fully remove
* less precise
* remove from releases
* Apply suggestions from code review
* Update selfdrive/car/tests/routes.py
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Indicate whether nav is enabled in UI
* update border spacing on both enabled and navEnabled change
* update less
* more
* cleanup
* simplify
* fix
---------
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
* request callbacks
* support in IsoTpParallelQuery
* tiny bit simpler
* shorter lines
* need to check length again, could return empty list
* takes in prev response
* typing
* test
* only test
* simple test
* revert this
* subtest!
* bump cereal
* more queries (to see the new time)
* fix
* not sure what i want this to do yet
not sure what i want this to do yet
* no body
* no body
* add test
* spacing
* bodyless
* add documentation
* cmt
* cmt
* 1a
* oof
* just the comments
* revert
* ?
* bump cereal
* more queries (to see the new time)
* fix
* not sure what i want this to do yet
not sure what i want this to do yet
* no body
* no body
* add test
* spacing
* revert
* check len
* static fix
* shorter cmt
* disallowed openpilotLongitudinalControl when experimental_long is off on radarUnavailable vehicle
* try this
* this is a better check?
* use it here
* use it here
* more explicit (pending more cleanup)
* some documentation
* clean up
* same
* this also works, but it adds a bunch of indirection
* Revert "this also works, but it adds a bunch of indirection"
This reverts commit 822095b96569faf10a6841cf3892b5db29f0c01b.
* Update selfdrive/car/toyota/interface.py
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* 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 f5b763c59a2aeb8e2ca2b39236e8637efdd82964.
* add headers
* check LTA faults if using LTA
* add test
* add LTA_STATE
* add comment for 0 state
* why did test_models not catch this?
* code 21
* same behavior as LKA (only if LTA is used)
* common definitions!
* more comment
* directly
* fault
* :
* check LTA faults if using LTA
* add test
* add LTA_STATE
* add comment for 0 state
* why did test_models not catch this?
* code 21
* same behavior as LKA (only if LTA is used)
* common definitions!
* more comment
* revert LTA
* no lta here
* revert test
* no period
* -LTA
* init
* add missing addresses FP for silverado
* add for all camera acc gm
* add test
* check both rx and tx
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Document WSL bug workaround
WSL developers may run into an issue while running GUIs, where GUIs will segfault or crash due to hardware rendering issues.
Use LIBGL_ALWAYS_SOFTWARE=1 if you see segfaults or other strange GUI failures even after setting up a fresh WSL.
History: https://github.com/commaai/openpilot/discussions/26091#discussioncomment-4258846 .
* make smaller
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* put one subaddr in parallel_addrs
* p
* remove print
* update test refs
* test
* revert that
* clean up
* clean up
* fix
* print results
* fixup cmt
* move down
* put one subaddr in parallel_addrs
* p
* remove print
* update test refs
* test
* revert that
* clean up
* clean up
* only clean up
* clean up
* rm
* type
* one line
* this is fine
* 0.7
* magic
* faster magic
* more simple
* up
* empty
* more mid bits
* naive
* flatten
* dz
* that can stay
* this is fine
* what the
* what the
* giRevert "what the"
This reverts commit 1619ba68e6098dc581fe9b82e7ecb74562b619cc.
* Revert "what the"
This reverts commit 0037dd368290497a6d0009ca34adb2184b584d2e.
* 1x fine
* that was fine
* combined
* independent cum
* 0 is fine
* use metrics
* up cereal
* process and publish from modeld
* cleanup
* use s.output
* bg
* a greener approach
* dns
* serial
* update ref commit
* rebase
* ref
* cereal master
---------
Co-authored-by: Comma Device <device@comma.ai>
* border is for engagement state
* round shading too
* alerts =/= status
* no debug print
* Full still full
* more cleanup
* more radius
* Update mui too
* normal black
* cleanup
---------
Co-authored-by: Bruce Wayne <harald.the.engineer@gmail.com>
* vipc support. modeld and dmonitoringmodeld configs
* Update cereal
* Add vision meta
* Use vision meta in process replay
* Exclude modeld and dmonitoringmodeld from test_processes
* Refactor other pieces of code to use vision meta
* remove unnecessary imports
* Add MAX_FRAMES_PER_SEGMENT
* cameraState migration
* Move camera state migration to migration module
* model_replay refactor
* Fix lint issues
* Reduce number of vipc buffers to 2
* Update spinner message
* Update model replay ref
* Support the new log order
* Replace CameraFrameSizes with dict. Add encode_index field
* Migrate camera states based on encode indices
* Refactor process replay
* Refactor model replay
* Remove unnecessary print
* Update model replay ref
* Make camera state migration optional
* Remove unused import
* Add ignore_alive_pubs field
* Add assertion for carParams inside fingerprinting callback
* Remove WideCameraOnly param setup
* Refactor ModeldCameraSyncRcvCallback
* Update model replay ref commit
* Fix camera state migration
* Only migrate camera states when process has vision pubs
* Refactor model replay again
* Fix linter issues
* One more linter fix
* Update model replay ref commit
* add comments
* we query abs
* lower
* add hybrid controller
* bump cereal to master
* another PR
* add hybrid to whitelists
* consistency
* check data for this
* Uncomment build_mac job
* Add PYCURL_CURL_CONFIG
* Acados universal binary
* Remove x86 macos references from sconscript
* Add missing include in cabana
* Update cereal
* Update workflow
* Remove unnecessary libpaths for darwin
* Add missing path to cached dirs
* Fix path in cache preparation step
* Add poetry caches to CI cache
* Compile acados with lower deployment target for CI
* Update cereal
* Pass -rpath in linker flags as scons doed not support RPATH on macos
* Use scons api instead of os
* @rpath in install name of acados dylibs
* SConstruct cleanup
* fix liblocationd tests by adding lib suffix based on platform
* Update cereal
* Update opendbc
* Update opendbc
* Add acados gitignore to release files
* Update cereal
* Update cereal
* Add scons_cache to build cache
* Add Caskroom to cache
* Fix typo
* Link all packages at once, instead of one by one
* Run cleanup stage using poetry
* Remove casks from cache
* Move scons cache to separate cache step
* Save scons cache only on master
* Remove restore-keys from save-scons-cache step
* Uncomment if conditions for scons save
* Add gcc-arm-embedded cask cache to cache
* Custom handling of gcc-arm-embedded toolchain cache
* Rename dep cache key
* Exclude .fseventsd from cache
* Fix glob pattern
* Remove .feventsd before caching
* Run mac_setup only if dependency cache-hit != true
* Update cereal to master
* Add overwrite flag to brew link
* Remove manual casadi build from mac_setup
* Remove restore-keys from dependency cache
* Remove linux requirement for casadi
* Restore restore-keys to dependency cache
* 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
* add a hysteresis band for the slow offset valid check
* add hysteresis to total_ofset and roll valid cases
* bugfix: roll is in radians, offsets are in degs
* remove defaults
* remove kwarg
* remove slow offset check while loading params
* random car control
* format
* struct generation
* math
* staying real
* really staying real
* move
* split this
* format
* Revert "format"
This reverts commit a70a73952ee3833c4ae839d7b2729ee2a1e1a85b.
* Revert "split this"
This reverts commit ae96be63cbfbee230101e69a0f84c874f321fafa.
* space
* debugging
* this test works, but find a better place
* make test more generic to start testing more than timings
no need to run again in another test function. eventually we
can simulate ECUs and have IsoTpParallelQuery work properly
* Revert "make test more generic to start testing more than timings"
This reverts commit 58e8536b1d8b138902d373e1e1194e70c9eb4b24.
* 2nd try
* clean up
* not even MappingProxyType works
* works
* test that too
* clean up
* refactor to avoid modification online
* revert tests
* more revert
* no longer needed
* clean up
* thermald: save last offroad status packet on onroad transition
* update param
* write every time
---------
Co-authored-by: Comma Device <device@comma.ai>
* get gas/ev/hev from FW (not all correct, poc)
* add test for essential ecus for fuzzy fingerprinting
* kinda works
* stash
* clean up
* add code
* simpler
* use the function
* test it with our cars
* no re
no re
no re
* debugging
* handle empty dict
* simpl
* this is promising
start on making existing fingerprinting functions use the config, instead of entirely replacing them
* needs to allow 1 match
* lay out how this should look
* changes
* executable
* some work
* use config
* fuzzy ecus
* config test
* comment and some clean up
* test platform codes
* use regex, simpler and fixes bug
* in func
* rm bad func
* typing for new func and remove old from dc
* todo done
* tested!
* remove fake platform codes
* thought we needed this, but actually...
* not needed
* not applicable any more
* use config for essential ecus
* first draft of test to make adding/removing fuzzy FP platform intentional
* compile
* clean up test
* even cleaner
* fix default ecus type
* temp fix
* this is mostly in tests now
* test every fuzzy ecu fw returns one platform code
* experiment with dates
* Revert "experiment with dates"
This reverts commit 3251b9cc5c3ca41ca92c8b75ad9b2234b720aa0b.
* clean that up
* comment
* test
* work on all cars
* fix fuzz_fw_fingerprint
* comment
* get first by search
* bit more clean up
* and more
* use compiled pattern for nicer syntax
* default
* flip dat around, much cleaner
* clean up hyundai test a bit
* flip order
same here
* rename test and flip subTest
* fix pylint
* revert fw changes
revert fw changes
* line
* add original functions to test
* needs to be a list
* cmt
* draft (need to count one ecu as a match)
* tiny clean up
* todo: date range
* only in notebook
* remove comment (still can be either list or set)
* same, only notebook
* more consistent signature
* copilot inspired
* copilot no good
* test for date parsing
* better name
* good, now we don't have to worry about the dates mismatching in another test/logic
* comment up+
* some stuff
* clean up
fix test
fix test
* test
* comment
* use utils
* clean up (utils are cleaner and less buggy)
* clean up (utils are cleaner and less buggy)
* fixup test
* use a dash (prettier) and remove some platforms that can fingerprint now!
* compile global pattern
* same as what we do in values
* remove comments
* fuzzy_get_platform_codes is one or none here
* more clean up
* sort imports
* woah woah woah
* add comment
* fix reassigning different types
* add types
* adapt fuzzy test recently added (nice it caught this!)
* update lock
* options
comments
* stash
* comments and fixes
* better comments
* better
* test: run on exact fuzzy matching logic, same results!
* use match_fw_to_car
* test all fw
* ex
* unused random
* this is a possibility
* this is more clear
* fix
* revert
* revert to needing both ECUs to match to reduce false positives, test
* fix excluded platform test :( but it's ok
* add comment
* we actually want to only test fuzzy ecus to make it explicit
* fix mypy
* comment for tomorrow
* just add matches with fuzzy FP
* add comment
* this was the cleanest I could think of, but still working on it. not very easy to understand
* think this is better, but also worse...
* comment: reframing how this works
* revert back to what we did before
* was swapped
* else set
* remove old comment
* fixes from merge
* remove fuzzy_min_match_count from this pr
* fix static analysis
* also unused
* different method first draft
* copy existing fuzzy func
* check all possible ecus exist, only platform codes, slightly refactor main loop
* fix
* Revert recent
Revert "fix"
This reverts commit 5cdb7bda835f1e48e750ab4195e891afe08e11ea.
Revert "check all possible ecus exist, only platform codes, slightly refactor main loop"
This reverts commit d3e918fa20fa4ce881445850f5f7428a3c11adf8.
Revert "copy existing fuzzy func"
This reverts commit 34c8c0545097c84f55f4b4f61907606c93760ddd.
Revert "different method first draft"
This reverts commit b91139055d7d1802c1eb726504798c156a183c9c.
* new func
* fixup test
* remove changes from v1 from fw_versions.py
* clean up a bit
* return part as part of code
* fix test
* add original fuzzy function
* add an ecu match if the date is within range (or date doesn't exist)
* add format for what we're going to do
* not working stash
* the exact matching function does more of what we want with less code and less custom logic
* we don't care about found versions, only codes and dates
* actually we do have an exception
* this works pretty nicely now
* up here
* this is better
* some minor clean up
* old function=now junk
* fix platform code test
* remove old platform code function
* now rename _new to
* use FW_QUERY_CONFIG
* clean up imports
* rename that too
* one line
* correct typing
correct typing
* draft tests
* so that works
* fixup excluded platform test now too
* this is tested by excluded platform test
* test parts and dates
* remove old comment
* old import
* take platform code stuff out of FwQueryConfig
* fix test
* revert debug script
* flip order
* make this a set by default
* revert this part
* correct typing
* clean up comments
* clean that test up too/pylint
* combine these three tests ina clean way
* not right
* more general
* be consistent with quotes
* comment
* comment
* comment in fw_versions
* flip order
* this is more readable
* could test all this, but it's tested in test_hyundai and doesn't do a lot here
* only assert brands which use this
* invalidate all CAN FD ICE and hybrid
* tuple
* can get away without filtering
* add comment reasons
* fix
* some review suggestions
* this works (first draft)
* this is better
* script to print platform codes and dates
* sanity check for dates are in correct ecus and platforms
* mypy
* better variable name and comment
* rename
* same
* slightly better name
* subset
* exclude platforms and live car without dates
* consistent
* self explan
* better name
* test to make sure the functions agree
* clean that up
* comment
* we get other responses from queries not in DB, only check any
* not used or typed
* Limit OPENBLAS to 1 thread in manager
* Restrict openblas threads when running openpilot
* print in CI
* Disable internet for laika, even in CI
* update ref
* logmessaged conflicts with onnxrunner
* More fixes, now engages
* Fix can properly
* Otherwise it faults
* Put check back
* remove more hacks
* remove more hacks
* Not relevant anymore
* Narrow camera default
* bring platform codes out of config for now (can re-introduce later)
* clean that up
* flake8
* comment
* comments and better test names
* typo
* Update selfdrive/car/hyundai/tests/test_hyundai.py
* Update selfdrive/car/hyundai/tests/test_hyundai.py
* support muxed signals
* write multiplexor in generateDBC
* edit multiplex_switch_value in signalView
* no overlapping warning for mux signals
* group signals by multiplexer indicator
* display freq for each multiplexed signals
* remove all multiplexed signals after switch deleted
* disable switch value
* cleanup
* historyView: use getValue
* sort by switch value
* check address
* rename variables
* rename signale type
* parse multiplexed signals in dbcmanater
* cache signal color in member variable
* cleanup num_decimals
* remove sources from dbcmanager and cleanup code
* fix sort
* check mltiplex in operator==
* fix sizehint
* convert multipledxed to normal after changing multiplxor to normal
* throw error on multiple 'M' signals
* add comment
* parse multipled signals in test case
* cleanup
* change order
* cleanup open
* display multiplexed/overlapping signals in binaryview
* sort overlapped signals by size
* refactor dbcmanager
* trimmed
* parse multiplexed signals in test case
* cleanup
* merge master
* space
* use pointer for sigs
* alldbcFiles
* cleanup
* cleanup sparkline
* use std::vector
* skip draw sparkline if isnull
* bigger capacity
* start on test
* better regex
* lookbehind
* comments to choose from
* i did not know that!
* common patterns in values.py
* messy messy
* need to remove these
* rmrmrm
* clean up test
* fixups
* not used yet
* none should be good enough
* Update selfdrive/car/hyundai/values.py
* Use whatever stream is available as main, if there's only one
* Move logw somewhere else
* Add wideRoadCameraState to ignore_alive if its not available
* add config options
* you know what, platform codes don't need to be related to fuzzy fingerprinting at all
* better comment?
* add comment
* add test from other PR
* add platform code function to hyundai
* comment and add eps!
* clean up config test
* fix test
* add error message to test
* until we have multiple ways a brand can set up fuzzy FP, let's leave func name fuzzy-specific
* rename in comment too
* hyundai tests
* simpler test!
* check all ecus with platform codes
* add types-python-dateutil = "^2.8.19.13"
* these aren't used any more
* Update selfdrive/car/hyundai/tests/test_hyundai.py
* not to imply this is active yet
* 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
* Update README.md
* add error troubleshooting and delScreenRecords btn
* Revert "Update README.md"
This reverts commit 5d22fe815f.
* complete coment at paths
* add button to delete screen record
* remove button to delete screen record
* index cleanup
* rename
* simpler
* same module
* no need auth on home
* ide
* name
* smaller text
* spacing
* Update README.md
* Update CHANGELOGS.md
* '\n on changelogs.md
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* Check msg count in test_power_draw.
* Use drain_sock
* Bug fix
* Combine into a single table
* Check camera state msgs and no default value for Proc.msgs
* Update system/hardware/tici/tests/test_power_draw.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* first attempt trying to do it implicitly bad
* back to lists and explicitly do this
* continue checking if candidate switches on these, that's fine to check
* debugging
* clean up
* more clean up
* spot free
* only need to create/update on change
* fix test
* draft
* Revert "draft"
This reverts commit dbe32f58b172eddc8f9699044c6a5956e753305d.
* Revert "fix test"
This reverts commit 1d34269fe2de35d314aa0658fa47a78a08d93e08.
* fix test for real
* first draft of test
* this should be good
* can replace existing fuzzy test
* rm
* matching
* test non-empty fws
* TEST DOWN HERE
* no test
* unique + fix skip message + comment + clean up
* less confusing
* ing
* better
* pass in brand
* needs to be flipped for exact matching since it's subtractive
* new helper
* makes more sense flipped
* clean up
* not that stuff here
* not here
* OffroadHome: move experimental mode button to right column
* OffroadHome: replace DriveStats with PrimeAd when no prime
* SetupWidget: remove PrimeAd
* SetupWidget: tweaks to fit smaller space
* UI: add WiFiPromptWidget
* WiFiPrompt: update using network type
* add WiFiPromptWidget to offroad home
* reduce spacing to fit vertical space
* WiFiPromptWidget: open Wi-Fi settings
* no longer necessary
* cleanup
* shrink PrimeUser widget and increase Setup Wi-Fi font size
* correctly resize widget when stack index changes
* layout tweaks
* debug
* spacing
* slightly improved style
* helps -> help
* .
* 1061b1c7-b944-43e3-a940-b56b64d66f54/700
* bump cereal
* bump cereal
* make mypy happy
* write TODO
* read height from written params
* fix certain_if_calib logic and unit tests
* factor moving_avg_with_linear_decay
* remove whitespace
* update model ref commit
* default value for CI
* update process replay ref commit
* update process replay ref commit
* update process replay ref commit
* bump cereal
* Add ui-debug flag, for replaying ui debug states
* Fix flag description
* Replace --ui-debug with --all flag
* Add base_blacklist for services blacklisted by default
* init bootstrap 5.3
* bootstrap done
* watch screen records
* formatting
* syntax
* import
* specific path
* pathing
* text
* not needed
* sunnypilot home
* better name
* Revert "syntax"
This reverts commit 45c54a54ef.
* path
* fix miss "/" at end of path and show current screenrecord video
* Created the About page
* Display errors in a more communicative way
* enable <br> at error messages
* display title on top of the page
* link to download screenrecord
* Update README.md
* Update styles
* Navbar on top, don't block content
* Don't center and format
* Update CHANGELOGS.md
* Update About page
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* refactor radard
* Revert "refactor radard"
This reverts commit 4b3507ff58e753334969b6ba2c2f6b1b35a200cc.
* May work
* No radar for test
* check length
* no accel for now
* First accel
* Cleaner way
* Re-enable radar
* update proc replay
* This might cause oscillation
* Update ref commit
* Added support for Ram steer to 0/7
* Made the suggested changes
Also added in additional FW to support the other trucks.
* Spacing
* Spacing
* Match stock
* Match stock
* Reverted FW changes
* Put back the max steer
* Bring back comment
* Unused
* Remove DashCamOnly for HD
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* more stuff
* even more
* all parts func
* start to use it
* include self in parts
* use car_parts_new
* not used
* more usages
* remove get_parts
* remove more commented stuff
* remove iter
* clean up some more stuff
* more
more
* ford
* optional
optional
* nissan
* use new classes
* fix tests
* fix
* order
* no more required
* connector
* CARS.md
---------
Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
* Added support for Ram steer to 0/7
* Made the suggested changes
Also added in additional FW to support the other trucks.
* Spacing
* Spacing
* Match stock
* Match stock
* Reverted FW changes
* Put back the max steer
* Bring back comment
* Unused
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* Fork
* Revert "Fork"
This reverts commit a10cb9677b.
* I think this is it, to be tested.
* Correct panda
* update panda
* Revert "update panda"
This reverts commit 09d7cc9330.
* Revert "Correct panda"
This reverts commit aa052a52e7.
* Update sunnypilot_carname.json
* bump panda
* sort
* formatting
* could break OP long cars
* simpler
* separate
* missed
* format
* cleaner
* bump panda
* Clarity is not in HONDA_BOSCH_RADARLESS
* match
* update MY in docs
* format
* format
* Update CHANGELOGS.md
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* add webserver + dashcam reviewer
* add offroad flag to webserver process
* fix process and rename tag in webpage
* add read me
* formatting & shadow names
* small cleanup
* +
* Force offroad only
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* Update function name
change from "hello_world" to "index"
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* Change webserver process name
now dashcam_viewer
* change process name to dashcam(_)viewer
* sort
* Update README.md
* Credit
* fix
* shadow
* name
* name
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* Higher torque limit (3071) for 2018 Crosstrek / 2017 Impreza @ClockeNessMnstr
* bump panda
* set with int flag
* bump panda
* flag
* sync tune
* bump panda
* fix
* fix
* oops
* update FW
* List comprehension
* bump panda
* Assisted GPS works
* cleanup
* add error handling
* use pycurl instead with timeout
* Add file size check
* More cleanup
* more cleanup
* Dont crash on large file
* define signals in brandcan.py
* seems so
* fix and reorder
* lkas11 for hyundai
* clu11
* honda: we only use this one signal for BRAKE_COMMAND
* Revert "honda: we only use this one signal for BRAKE_COMMAND"
This reverts commit f5f3aaed7e2fa1cdf35c3608b259fab11164644e.
* do cam and cruise info
* add todo
* do nissan
* s for signal
* do nissan
* mazda
* toyota
* gm
* ford
* ES_DISTANCE_SIGNALS is used twice
* for s
* volks
* tesla
* no copy
* oh there's mqbcan
* same with mqb lka message
* all s's
* these actually are different (pre vs. global)
* this is not in the DBC...
* fix
* check len
* rm import
* need to copy counter!
* fix other proc replay diff (TODO: the rest)
* missing cs/cnt
* frequency based messaging
* frequency based messaging
* frequency based messaging
* frequency based messaging
* rename better
* use frame in if statement
* syntax
* remove extra space
* put all behind one if statement
* update refs
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* horribly messy
* bit simpler
* is this right?
* simpler and should work?
* used to be int/frames, but added easing so treat as float
* end slow (start fast)
* little faster
* clean up
* not needed
* try ease in/ease out and fix
* remove debugging print
* fix
* revert to previous curve
* based on speed
* not right
* fix
* fix
* this kinda works
* Revert zoom by speed
Revert "this kinda works"
This reverts commit 48aa30b945148b8eb79fbe33eb58e3fc3a6a7009.
Revert "fix"
This reverts commit 4ff2d33486231727d7cd68d366342c2273e3a315.
Revert "fix"
This reverts commit 15b22f8e8284eb017000856abb05b5e8973a6c0e.
Revert "not right"
This reverts commit 378b9965e14250c57ed39e1976de60d89054c2c8.
Revert "based on speed"
This reverts commit 1f7bfa5d73a2dee3740096da64eda24b33288b51.
Revert "Revert "not right""
This reverts commit 1beeb402534a755208d19771eb4a2afdc69b8739.
* better curve
* revert
* use constants and fixes
* up here too
* feels more intuitive to make zoom_transition=1 be zoomed in
* rm line
* fix
* cmt
* better handling
* better name
* zoom if ANY other stream is requested
* Update selfdrive/ui/qt/widgets/cameraview.cc
* 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
* Drain the sockets until the next cycle in python process replay
* Add waiting mechanism to native process replay, which mimics the syncing
* Sort logs when comparing them. Drain all the sockets instead of only recv_socks.
* Reverse the retrieval order of FakeSocket
* Change pub order for torqued
* Update ref commit
* generic car parts
* better carparts
* add part type
* more tests
* multiple enums
* unit tests
* just check isinstance
* better name
* remove _connector suffix
* remove those hyundai lines
* remove default arg
* Revert "remove default arg"
This reverts commit 139650a3b6b94358c3b9b12bb5fbe0a326d7abad.
* cleaner code structure
* use fingerprint
* review
* abstrac data class + common
* no more dataclass
* conflict
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* time to onroad test
* run few times
* test on stripped builds
* manager
* cleanup
* split those out
* run first
---------
Co-authored-by: Comma Device <device@comma.ai>
* bump panda
* set safety config/configure experimental longitudinal
* send inactive signals
* bump
* just calculate in function
* already in the variable
* clean that up
* add comment, on ford stock long, prchg seems to be set from the possible future accel
* comment
* this signal didn't have an impact on engaging
* add comment and fix
* worst case while AEB
* and kill ACCDATAs
* this could be dangerous
* need to test this too
* Revert "need to test this too"
This reverts commit 09bba75950fa55d90a82f0109e3138ffe5a1d08c.
* Revert "this could be dangerous"
This reverts commit 323143e84727f1a780bbb600be5f7ceb763516b1.
* Revert "and kill ACCDATAs"
This reverts commit 15f6804bf64d01145daf57a592c2f3fd44ceba27.
* Revert "worst case while AEB"
This reverts commit 85e1aaa8e1af90373c688d1973dbfbb07b1fb8b2.
* bump panda
* Update selfdrive/car/ford/fordcan.py
* move around
* was already here
* rm
* use variable
* update docs
* Update ref_commit
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* add harness kit content to the doc
* parts as enum
* nissan
* merge column
* rename column
* scaling
* scaling again
* 500px
* align text
* more px
* add style
* more width
* more
* more
* smaller text
* make all text smaller
* prev width
* default list
* remove hidden a ref
* try to remove again
* revert
* replace harness with harness_kit
* try fix
* cleaner
* center everything
* make pylint happy
* allow more than 1 of each parts
* use copy module
* review
* testing spacing
* revert
* bigger text
* formating
* split harness col lines
* remove print
* resolve
* rename to view
* keep formating in template
* simplify
* add unit test
* more generic way
* better
* harness connector only
* comment
* review
* put back harness parts
* missing dash
* too much space
* don't reload when clicking
* shorter comment
* only last line
* generate
---------
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Ford: improved ACC UI for OP long
- Show "stopped" status message on IPC when in standstill, similar to stock
- Prevent the distance control UI from appearing on button press (as
this does not influence OP long).
* set lead indicator and only override stock when OP is controlling long
* match DBC
* hybrid fords are dashcammed
* something like this?
* just do an alert
* good comment
* space
* bb
bb
* top
* Update selfdrive/car/ford/interface.py
* add a noEntry
* remove from release notes
* sad :(
---------
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
* Updated values.py
Added fingerprinting for 2023 Genesis GV70
* Updated values.py
2023 GV70: needed a different harness than the one originally listed (M instead of L)
* Update values.py
Removed L harness line (just in case)
* should be good
* fix
* update docs
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* bootlog: log agnos partition hashes
* full path
* trimming
* slot
* boot is big
* give some time to start
---------
Co-authored-by: Comma Device <device@comma.ai>
* just ford
* no need to copy this
* or these
* or these
* match DBC order
* remove these
* used in carcontroller
---------
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
* rename from ignition to onroad/offroad
* forgot one
* clear in manager
* don't clear in boardd anymore
fix
* params isn't used here
* add comment
* Revert "add comment"
This reverts commit 54fb6660501679e5a989c3f06c0a438bdb04dc7e.
* write params in manager
* first part is self explanatory
* remove these from thermald now
* start safety setter thread with IsOnroad
* drivesss
* more
* less
* come back
* makes sense here
* Ford: fix LateralMotionControl2 checksum
* loop is nice
* these are redundant
* need to shift left, before didn't match
* same, but more conventional
* whoops
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* read the accel from the submaster outside of the loop.
* const max_idx
* remove data copy and converting from list to vector
* correct name is len
* fix drawing last point
* add comment, remove right_points
* fix
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* add event for steering angle calibrating
* how about this
how about this
* rename
* more openpilot-y
* add comment to code
* move to top
* better wording
* more general
* fix
* ?
* above
* bump cereal to master
* add more comms
* show all messages present in DBC files
* set last section stretch
* user can't resize data section
* re-fetch if filtering freq|count|data
* reserve set space
* use contains
* emit signalAdded for all related sources
* Update values.py
* Update values.py
* Update routes.py
* Update values.py
* Update values.py
* Update interface.py
* Update override.yaml
* Updated car name in torque settings to the correct one
* Removed unused ECU's from GV80
Fix AssertionError: 3 != 0 : GENESIS GV80 2023: Car model has ECUs not in auxiliary request whitelists: Ecu.eps, Ecu.transmission, Ecu.engine
* Update routes.py
Updated to a better route
* Update routes.py
* Update test_models.py
* Update test_models.py
* Hopefully this route will work...
* Update selfdrive/car/hyundai/values.py
* Update selfdrive/car/hyundai/values.py
* this could use some cargo
* don't need to combine just yet
* add to docs and releases
* Update routes.py
* Update RELEASES.md
* Update routes.py
Updated route, hopefully this one works...
* Update selfdrive/car/tests/routes.py
* alphabetical
* update docs
* Update routes.py
Hopefully this route works
* Update routes.py
Trying segment 1 for GV80
* bump
* no need
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
* add accel
* debugging
* use uiPlan for acceleration
* draw on same frame, ui color enhancements
* adjustments
* not needed
* add back alerts and wide cam
* use linear accel -> saturation (red -> green transition is more gradual, should be easier to understand)
* 1.5x was good from the non-linear previous commit
* fix crash?
* revert draw on same frame
* bump lightness add lightness mod with comment for future use (reverting in next commit)
* revert (but keep lightness bump)
* max accel isn't blueish (#3DFF3D)
* clean up
* revert lightness
* remove experiment
* try a different domain
* doesn't work
This reverts commit 7a398b03920d6d2d2c804d1290803bc533051fc1.
* clean that up
* actually should be 0.75
* some clean up
* debug timing
* fix
* debug
* round
* revert wide
* not used
* clean up
* remove slow qDebug
* this too
* draw max constant points, ensure we draw first and last
* clean up
* more clean up
* draft
* Revert "draft"
This reverts commit 59db097611dc633f397c509bf95490eb0614b7f0.
* Revert "Revert "draft""
This reverts commit ee86c385b39dbe36430effd58fc5c41ede51f9f0.
* simplify
* clean that up
* and all that
* and more
* aaaand that
* aaaand that
* track vert is created in update_line_data, it us the sum of two equal
len lists
* keep debugging stuff around
* keep debugging stuff around
* remove prints
* rm that
* moreee
* use existing helper 😄
* clean up
* make it const
* F
---------
Co-authored-by: Bruce Wayne <harald.the.engineer@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Ford: add Escape Mk4 test route
* generate docs
* remove from non_tested
* fix model years
* clearer packages for EU
* docs
* 2020 hybrid
26b2cace68e36212
1FMCU9DZ9LUA82589
* 2021 phev
1FMCU0LZXMUA80767
f8eaaccd2a90aef8
* add this too
* more docs
* delete files that are not defined in the keys
* assert after create file
* remove util::remove_files_in_dir
* cleanup
* fix up test
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add non functional lineedits
* implement actual filtering
* more efficient modelReset
* less diff
* refactor contains
* make sortMessages static
* cleanup
* regex support
* case insensitive
* uncomment
* set header before restoring state
* force reset
* more regex matching
* update comment
* put back header with clear button
* handle hiding
* handle horizontal scrolling
* whitespace
* dont add that
* suppress using static mask
* use mask in updateLastMsgsTo
* store mask in cabana::Msg
* update mask in the right places
* actually build mask
* restore setting
* less diff
* Update values.py
Added one new firmware value to CAR.LEXUS_RXH_TSS2: {
(Ecu.engine, 0x7e0, None): [
* fix indentation and sort
---------
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
* display current time&value in chart
* cleanup
* use macro
* use BrightText
* use x-square
* tiplabel: set point size 9
* add 1 point offset
* change Light color
* lighter color
* use const iterator to avoid implict sharing detachs
* 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
* clip Ford requested curvature to current +- delta
* fix bug, allow for more limit
* bump panda to branch
* bump panda
* rename
* rename function
* make a wrapper function (ford uses dynamic up/down limits
* make two functions consistent
* use apply_dist_to_meas_limits
* only above 12 ms
* simplify, clean up
* this isn't used
* https://github.com/commaai/openpilot/pull/27446
* bump panda
* one m/s fudge
* fix current curvature
* also fix panda
* fix panda blocking msgs
* bump panda to fix more blocked msgs
* clip
* bump panda
* lower to 9 ms
* clean up carcontroller
* bump panda
* bump
* bumppanda
* bumppanda
* bumppanda
* split line
* uploader: log actual uploaded file size
The size will be less if compressed before uploading.
* cleanup
* fix return type
* add request to FakeResponse
* cleanup
* fix
* fix total_sec
* fix chart max range
* fix all_evnets order & use vector to improve performance
* dynamic updating max time
* get real time from qlog
* Update tools/cabana/streams/livestream.cc
Co-authored-by: Shane Smiskol <shane@smiskol.com>
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* locationd ttff
* log time to first fix
* rename
* max it like laikad
* Update selfdrive/locationd/locationd.cc
* Update ref_commit
* Log when gpsOK first becomes true
* don't forget to update current time!
* stash
* make it deterministic (no proc replay cur time)
* Update ref_commit
* rename to make this clear
* cameraview: Scale the glViewPort by devicePixelRatio()
This fixes an issue seen in Cabana on a "hidpi" system with Wayland where
devicePixelRatio() != 1 and the video doesn't take up the full widget area.
On the recommended Ubuntu 20.04 install I wasn't able to reproduce, because
devicePixelRatio() was always equal to 1 even with scaling to 200% or 300%. It
might be different if "Fractional Scaling" is enabled in GNOME (I couldn't make
that option work in mv WM.)
Was going to enable just for Linux, but it appears to also be recommended for
Retina MacOS:
https://doc.qt.io/qt-5/scalability.html#high-dpi-scaling-on-macos-and-ios
... so have worked from the assumption that glViewport() always takes dimensions
in device pixels, never the "device independent pixels" of Qt.
* Update selfdrive/ui/qt/widgets/cameraview.cc
* Update selfdrive/ui/qt/widgets/cameraview.cc
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* cabana: improve menu to manage individual DBCs
* remove from single bus
* comments
* close explicitly
* new before open
* whitespace
* remove old code
* clipboard actions
* cleanup actions
* sections instead of nested menu
* consistent bus format
* speed up fingerprinting for CAN fp cars
* add comment to describe this behavior
* more explicit, no defaultdict
* do this later
* fix
* a little more clear I think
* Update counter in carstate checks
* Rename es_lkas to es_lkas_state to match signal
* formatting
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* remove compiler flag stuff
* force error for testing
* bump panda and fix mistake
* wip
* bump panda
* wip
* wip
* forgot checksum and stuff
* add to signals
* rename
* test
* test
* bump panda and opendbc
* bump cereal
* add blank filler
* test
* add steer required to infotainment
* fix missing bit
* fix missing bit
* cleanup for PR
* cleanup for PR
* bump submodules
* wip
* wip
* i wonder what 1 is
* seemed to also be obstacle detected?
* bumppanda
* only if global
* only global gen 2
* fix order
* detect and send
* detect in rest of places
* update refs
* bumpopendbc
* copy whole message (camera sometimes sets these signals)
* bumppanda
* update refs!
* bumppanda
* let's not change this
* same as all the other functions
* Revert "same as all the other functions"
This reverts commit e86dbb695ef84a18f3123720fed37a6b81391cc4.
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* fix message list issues
* override drawBranches, do nothing
* bypass QTreeView::datachanged
* remove data copy in binaryview::updateState
* rename to x_v2
* can FP time
* add
* move the ref up
* assert function
* all brands
* Update selfdrive/car/tests/test_fw_fingerprint.py
* can this can vary a bit more
* or can it
* initial commit
* HR-V is diff enought to split from Civic22
* Add US HR-V 2023
* update CARS.md
* Update RELEASES.md
* Use a alternative brake signal
* US HR-V have a weird noise in the BrakeSwitch
* Shane tunning
* this is added automatically
* sorry jyoung
* civic22_stop_faster
limit stopAccel to current safety model
* relax calib temporarily (12 deg)
relax calib temporarily (10 deg)
* compute accel (car overshoots requests at low speed)
* revert brake pressed caused controls mismatches
* fix crash
* cause a cruise fault
* Revert "cause a cruise fault"
This reverts commit 09a6469ac6fc38ebd38dd1c5d464712a15d0fde1.
* no brake error
* use alt brake
* Update selfdrive/car/honda/carcontroller.py
* change HONDA_BOSCH_ALT_BRAKE_SIGNAL to CP.flags
* Revert "change HONDA_BOSCH_ALT_BRAKE_SIGNAL to CP.flags"
This reverts commit e0f8123b33db3218f27c4b64a7b2a0b1f740860f.
* remove FPv2 from brazilian HR-V
* bump panda
* fix a bug
* revert calib threshold
* new test route
* separate pr
* update
* update that
* thought i removed this
* revert steer ratio
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* add timing unit test
* formatting
* not clean
* Revert "not clean"
This reverts commit dab35d582c274efc32d693fc0a2773d8727be2bd.
* Revert "formatting"
This reverts commit 56a1ae4bb721594cc68952e5747a3ebc652f62d9.
* need to consider subaddrs (0.3 to 0.7s for toyota)
* clean up
* move to test_fw_fingerprint
* use a thread to get real time
* lower threshold
* revert that
* ?
* some sleep
* at top
* use the config
* function to measure query time, similar to opendbc's convention
* revert that
* avg
* Update selfdrive/car/tests/test_fw_fingerprint.py
* draft
* starting a thread takes a long time!
* refs
* uncomment
* add ES 2018
* standard
* add FW versions
* need to add a route
* verified
* add to DSU messages
* add to torque params
* older lexus do not have all-speed dynamic radar cruise control
* update docs
* Update selfdrive/car/toyota/values.py
* add CI route
* update docs
* add to releases
* assume no stop and go (can't know without dsu unplugged)
* Update selfdrive/car/toyota/values.py
* update docs
* update docs
* Add trailblazer support
* Update routes.py
* Update routes.py
* Update CARS.md
* Fix incorrect torque name
* Update values.py and CARS.md
* Change to update another route
* update docs
* only 2021 https://en.wikipedia.org/wiki/Chevrolet_Trailblazer_(crossover)
only 2021
* new FP with missing addrs
* Update selfdrive/car/gm/interface.py
* tune the torque params
* update docs
* remove as a new platform
* Revert "remove as a new platform"
This reverts commit c9c65f29dbb1e1a5926540bb75433928325d6c0e.
* add comment and comment out FP
* need it to be in all_known_cars to test_model
* add to releases
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* better ordering and comments
* remove
* mark done if timed out
* response_timeouts should be only for extending timeouts, not marking done
* so the print still works
* more clear comment
* that can be removed
* switch theme on the fly
* better chart theme
* Darcula like dark theme
* add TODO
* use theme aware toolbutton in ChartView
* add margin to text title
* lighter activity colors
* fix historylog header
* replace hardcoded color
* improve chart tooltip color
* use macro
* space
* remove function toolbutton
* fix remove all btn
* remove menu arrow
* improve chart::removeIf
* cleanup charts
* Update values.py for 2023 Kia Niro EV
* Update interface.py for 2023 Kia Niro EV
* Update params.yaml for 2023 Kia Niro EV
* Update RELEASES.md for 2023 Kia Niro EV
* Update interface.py for 2023 Kia Niro EV
* Update routes.py for 2023 Kia Niro EV
* Update CARS.md for 2023 Kia Niro EV
* Update CARS.md for 2023 Kia Niro EV
* Put 2023 Kia Niro EV in CANFD_RADAR_SCC_CAR
* New values in params.yaml for 2023 Kia Niro EV
* Rollback - Remove CAR.KIA_NIRO_EV_2ND_GEN from CANFD_RADAR_SCC_CAR
* Update routes.py for 2023 Kia Niro EV
* Apply suggestions from code review
* use new route
* update cars
* test
* pass test
* add params, rename
* use average
use average
use average
use average
* around 2.05
* Update selfdrive/car/hyundai/interface.py
* Update selfdrive/car/hyundai/interface.py
* lower
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Update values.py
fingerprint for KIA Stinger 2022 sold in South Korea
* remove duplicates
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* tizi: retry amp comms
* ensure all config is written together
* simple test
* check errors
* test shutdown
* a tici exclusive
---------
Co-authored-by: Comma Device <device@comma.ai>
mapd consistency adjustments:
* Project gps location onto map route line for determining distance to
next node.
* Increase distance for determining if we have left a route. Helpful for
when osm route line is not perfectly centered on road.
* Match max lateral accel against vision turn speed controller max
lateral accel.
* honda_idlestop_timer
* whoops
* simplify
* just use stopping counter and move bosch radarless specific logic into the function
* it's actually 4 seconds
* Update selfdrive/car/honda/hondacan.py
* check equal to 0
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* add erf based ff
* silly bug; diff of nonlinear != nonlinear of diff
* add sigmoid based ff, ensure slope at 0 > 1
* reduce steer down limit and increase driver allowance
* rebase panda
* atry without friction, and with tanh nonlinear
* finalize the nonlinear function
* do not disable friction compensation in the ff
* bump panda
* bump panda
* update refs
* update refs
* resolve comments
* Add type hints
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add slider to set sparkline time range
* rename signaleedit to signalview
* default is 15s
* util::formatSeconds
* update() is faster than invalidate
* draw points
* fix scatter width
* display small line chart beside signal
* TODO
* 1 px width
* auto stretch
* static lines
* use std::vector
* cleanup
* use ts from last message
* remove hardcorded size
* civic22_long
* Stock requests -4
* add standstill bit
* bump
* fix standstill
* bump
* bump
* bump panda
* Update hondacan.py
* bump panda
* add docs
* bump panda
* bump panda
* fix control_on value
* set control_off
* fix cars.md
* Update panda
* Update opendbc
* Update panda
* Update panda
* allow more braking
* Revert "allow more braking"
This reverts commit ecd2493a436a095b621d815e8b0c7591fa6b93a9.
* Update panda
* fix speed mismatch
* Revert "fix speed mismatch"
This reverts commit ca795dc5bd9d6e841225e1ac1ff93a1f78618513.
* Update panda
* fix speed mismatch and standstill
* delay stopped message to match stock behavior
* green cruise only when enabled
* Update panda
* Revert "green cruise only when enabled"
This reverts commit d21aa5b541a42fa6d1c87e3b065f720af28ff38b.
* lesser nester
* simplify
* simplify control_on
* simplify common signals
* simplify CONTROL_ON
* lessest nester
* hide speed on gas_override to match stock behavior
* tiny simplification, lesser nester
* flip common acc control values around
* move magic number to global variable
* Revert "move magic number to global variable"
This reverts commit 160be0e0872dc08a8786d97fc2125b2eb131362d.
* remove stopped logic
* remove unused variable
* looks ok
* looks better
* simplify override
* clarify CONTROL_OFF signal comment
* civic22_long_bettercontroloff
shorten delay
init
selfless
whoops
move to carcontroller
selfmore
lower time, currently take 5s to kick in
just right
deline
* Rename CONTROL_OFF -> IDLESTOP_ALLOW
This tells the car its ready to turn off the engine, which does so when the car is standstill.
* Update panda
* Update opendbc
* Update panda
* fix docs
* Update panda
* Update panda
* Update opendbc
* Update panda
* Update panda
* Update panda
* Update panda
* bump panda
* idlestop in another PR
* radarless doesn't need tester present
* simplify that
* helper
* one line is fine
* test bump
* bumpback
* disallow
* reduce diff
---------
Co-authored-by: sshane <shane@smiskol.com>
* split out dbc file logic into separate file
* emit dbc file changed
* change to list of dbc files
* handle missing DBC file
* dbcmanager emits signal
* close existing files before loading new one
* add placeholder open for bus menu
* implement open dbc for bus
* emit signals relevant for current dbc
* move logic into findDBC
* fix use after free
* show currently loaded names in load dialog
* enable/disable load save menus
* handle saving
* add save as to recents
* handle file already open
* do not assert
* fix return and throw on file open error
* fix test maybe
* remove todo
* typo
* fix new dbc
* fix loading fingerprint on macos
* handle replacing a currently open dbc
* fix reference and handle exception
* fix indendation
* query extra ecus (still need to match)
* match against extra ecus
* clean p
* clean p
* switch that around
* can clean that up
* values
* rm
* not used
* add parking and hvac ecus
* needs a new query sadly
* move space
* temp
* comment
* fix
* mid-solution stash
* pretty cleannnnnnn
* everything seems to be working
* bump cereal
* bump to master
* bump to master
* don't multiplex when we don't need it
* mid-solution stash
* pretty cleannnnnnn
* everything seems to be working
* rename
* space
* reduce obd multiplexing transitions from 3 to 1 (0.3s to 0.1s)
* add parking and hvac ecus
* needs a new query sadly
* move space
* temp
* comment
* fix
* mid-solution stash
* pretty cleannnnnnn
* everything seems to be working
* bump cereal
* this is a smaller diff, easier to merge
* bump cereal
* just hvac
* bump to master
* 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 55b2f429324c0b92d5cfb2cabf8b20db1e166248.
* Revert "more debugging"
This reverts commit 02934c3403ad5270f03093508b704c151d1ccb2a.
* Revert "annoying"
This reverts commit 8b4e5e09989f9a0217e3ec1c0ba68735929b7366.
* clean that up
* bumpback
* bumpback
* every second write param
* flip
* stuff
* move up?
* fix timing out in CI
* rm
* Use subsock
* wait for one
* wrong name
* try cpp proc replay
* fix recv pattern
---------
Co-authored-by: Bruce Wayne <harald.the.engineer@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* 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 c88856969995f97cc5ec4e2b24a5cc4e3ef4721a.
* try cutting steer every second
* Didn't seem to matter
This reverts commit 6923498b2a9eed8beb3998f441899f1df4948f6f.
* 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 a42ec0b772ed74a1fd54b7fef2e7c275a3e8333b.
* 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 87378e734915c107f57f99a5feef4dcb2b2a9a37.
* 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>
* ttff in logs
* More meta info
* cleanup
* passess tests
* unused import
* fix linting
* ttff of 0 is invalid
* ref commit
* bump cereal
* Update ref_commit
* sort ephem status list
* sort ephem status list
* update ref
@jyoung8607 I try to do this joy better
I setup my C3 on this car to get information to merge this FPV2
The route name is 0bbe367c98fa1538|2023-03-16--11-41-19--2
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* auto detect available streams
* no switch if wide cam not available
* clear frames before getAvailableStreams
* warning
* clear at same time
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* setup: specific error state for non-executable file
* Result -> DownloadResult
* complete -> finished
* rename widgets to be more consistent
* fix typos
* fix setCurrentIndex
This appears to have different behaviour on device than on PC (off by
one)
* load fonts
* copy
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Revert "load fonts"
This reverts commit e8756598ed99aea39ef5721453e97920a494051c.
* font family
* undo
* less widgets more better
* font size
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add step line series
* create buttons in createToolButtons
* add inline function clearTrackPoints
* do not show tooltip if series is invisible
* use QActionGroup
* Add flashed Volt fingerprint
* Add another fingerprint
* Detect radar header message
* dashcamOnly if ASCM vehicle with radar unavailable
May be able to change this in the future to OP long off with experimental long available
* no submodule update
* Revert minEnableSpeed
* combine into one fingerprint
* Don't use GM radar DBC
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* unused
* add new FP
* update docs
* use_off_car_defaults
use_off_car_defaults
* update docs
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* improve ui
* keep splitter size after msg changed
* no leading spaces allowed in msg filter and signal filter
* draw color byte AlignCenter
* always set as current index
* reduce chart flickers while resizing
* dispaly more info in tooltip for signal
* narrow combobox
* use
* typo
* private sigs,fix bugs
* merge #27383
* no expanding after undo/redo
* gray color in tooltip
* clear current_msg_id before reset model
* dont call setmeesage if id is the same
* fix bugs
* cleanup
* dont fetch logs if invisible
* add new CenterWidget, make sure msg_id is always valid
* cache icons
* cleanup paint byte color
* merge #27385 implement sizeHint
* cleanup code
* fillrect if alpha>0
* Added new fingerprints for updated SANTAFE_2022
* Update values.py
fixed missing comma that was breaking build
* Revert "Update values.py"
This reverts commit 58837eadd4cfb57ec56a45592c21b251e6c52957.
* Revert "Added new fingerprints for updated SANTAFE_2022"
This reverts commit 3bec6e0196e9fcac83a34f79b7b860f2e24aa763.
* add FW, remove radar FW from long query
---------
Co-authored-by: Chris Hart <chris@creyonbio.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Update values.py
Added additional firmware version for Santa Cruz 1st Gen forward camera
Updated CAR.SANTA_CRUZ_1ST_GEN's information to include 2023 models
* Update values.py
added fwdRadar firmware version
* Update CARS.md
Updated to include 2023 Hyundai Santa Cruz
* Hyundai CAN-FD: common PT bus function cleanup
* use CP
* Update selfdrive/car/hyundai/hyundaicanfd.py
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* add logos
* most zoomed in
* add alt
* slightly zoomed more
* add images
* add draft images
* best image
* not working
* 96px icon image to reduce compiled size
* remove from selfdrive assets
* fixes
* 10s lat
* Full length MPC
* redfine N
* Leave controls the same for now
* Updates
* use long plan in lat plan
* interp plan
* simplergit add selfdrive/controls/plannerd.py selfdrive/controls/
* expand to 10s
* revert this
* fix linter
* vizualize
* fix long test
* typo
* cleanup
* compiles
* unused
* unused
* bump cereal
* bump cereal
* use model if no uiplanm
* update replay
* update ref commit
* bump cereal to master
* support extra info
* support undo/redo
* fix undo/redo
* cleanup
* fix regexp
* refactor dbcmanager
* replace text in headerview
* fix binary::refresh
* cleanup
* use QRegularExpression
* add desc validation
* edit val description in table
* cleanup
* 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 6e23c69dcebd5ed003e37e01921f6af7c31de0db.
* Dont import drive helpers
* better compile deps
* fix compile
* comment
* update replay
* Update plannerd time
* Fingerpint fur Hyundai Santa Fe 2019 Europe
* add version for transmission segment 092ef1cc055c6354|2023-01-05--17-49-21
* remove long
---------
Co-authored-by: sevdokim <se.evdokimov@gmail.com>
* Hyundai: 2015-16 Genesis resume from standstill fix
* Add comment
* Fix typo
* Merge both methods
* Add back the comment
* 20Hz not needed according to tester
* no new global state variable
* PCM's perspective: random counter -> random counter
* only send 5
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* cabana: refactor message id from QString to struct
* fix tabbar
* fix findsimilarbits
* optimize hash function
* cleanup sorting
* use in updateLastMsgsTo
* 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
* log responses from logging/debugging queries
* don't add logging FW to FW dict for fingerprinting
* flip?
* fine before
* log if extra in debug ecus
* clean up
* test extra ecus too
* Revert "test extra ecus too"
This reverts commit 8f7867844db95f48631348551551148bf504e37b.
* bump to master
* fail the replay, successfully print
* should still run
* debug
* outside?
* don't fail
* don't fail
* don't fail
* test
* test
* test
* try this now
* clean up, works!
`@Dk#3633` 2021 C-HR DongleID/route 4930c054f086c108|2023-02-09--18-39-48
Verified working great, per user.
Hot off the heels of @eFiniLan's https://github.com/commaai/openpilot/pull/27212😉
* 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
* Hyundai CAN-FD: PT bus detection cleanup
* Do this when ICE CAN-FD is supported!
* Only needs to be checked for non-HDA2, HDA2 uses 0x1cf
* Unused
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Keep it the same for now
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* HKG: Car Port for Kia Niro Hybrid 2023 (HDA1)
* bump opendbc
* bump
* Found gear signal
* Only set one flag
* bump opendbc
* Update CARS.md
* Update routes.py
* bump opendbc
* Update CARS.md
* some values cleanup
* new route with rlogs
* set from data
* merge
(3854+3391+3227+3336)/4
* fine move back down here for now
fine move back down here for now
* Update selfdrive/car/hyundai/interface.py
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* increase chrysler steer rate
* use torque control
* update offline values for chrysler, jeep
* bump panda
* add blacklist
* add lag buffer to the torque vals
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* will draw
* gradient
* bg
* add sense of depth
* refactor
* cleanup
* fix endpoint
* clean up
* use array
* 1 matmul
* lives in modeldata
* standstill only
* remove bad pts
* do less math
* smooth
* kind
* fix d
* lineswidth
* fade in and out
* hide
* quick
* gray out
* fix joints
* offset
* rest icon
* clean up
* circle as state
* longlat
* new design
* gap and g
* scaledown, fix jts and unlock not standstill
* width
* different
* intermediate
* sand
* motion effect
* vis
* fix bg
* clean up
* t
* btn_size
* small speedup
* sligh
* clean up
* facelift
* match .2
* .4 is good
* size
* no ss
* rhd compat
* less filt
* more line
* engaged
* not white
* drop prop
* this is fine
* independent falg
* sg
* dont look like hitman
* cleanup
* little more
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add laikad startup test
* move debug files to xx
* add laikad startup and ephemeris test
---------
Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
* add OpenRouteDialog
* cleanup
* failed_to_load
* fix load
* clear message list and stream after open new route
* show message
* remove all tabs and charts after open
* use textEdited
* check route format
* cleanup loadRoute
* add new transmission fwVersion for 2020 hyundai santa fe
* use shorter trans, add missing fw
* duplicate
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* HKG: Car Port for Kia K5 Hybrid 2020
* Add test route (Experimental Mode)
* No abs
* remove extra trans
* move up
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* add Lincoln Aviator 2021 to Ford Explorer platform
Based on the Ford Explorer, the Aviator has very similar firmware
versions. Add these to the Explorer platform and create a new CarInfo
for the Aviator.
f0709d2bc6ca451f|2022-12-10--12-36-59--0
VIN: 5LM5J7XC8MGL09541
* Ford: new gear shifter signal to support Aviator
* probably don't need these
* don't need to pass None here, it defaults to None
* will rename in DBC
* bump opendbc
* bump process replay ref
* ui: tap experimental mode icon to toggle
After experimental mode has been enabled for the first time (confirmed),
it can be toggled by tapping the engage-ability/experimental mode icon
in the upper right.
Closes#27002
* replace with QPushButton
* fixes
* cleanup
* add capability for switching between line and scatter plots
* Update tools/cabana/chartswidget.cc
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* setUserOpengl in createSeries
* update series title
* set marker size by pixels_per_point
* sync menu state
* cleanup
* set default series type in settings dlg
* remove qdebug
---------
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* Update values.py
* Update values.py
Added support for Kia Niro PHEV 2020
* Update values.py
Added support for Kia Niro PHEV 2020
* Update values.py
Changed the fingerprint to be 4 seperate IDs
* Apply suggestions from code review
* generate
* gen docs
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Reliable relay open
* Reliable relay close
* ign in a loop
* fixes
* we need this
* log
* comment to remind me tmrw
* ign fix
* this makes it 2x more reliable, but messyyy
* Revert "this makes it 2x more reliable, but messyyy"
This reverts commit 03401dc4a705cfacbe5a7048d95dccb6fa80d57f.
* revert non-related stuff
* comments, spaces
* a stands for indefinite article
* not applicable for non-camera acc
* something...
* Revert "something..."
This reverts commit de8a158488efd5ef257434fbc3c55aefff800cb7.
* Update ref_commit
* Add miss FW engine for Toyota Corolla Hybrid
Test route ` 4f50e44908cc46b8|2023-01-12--21-08-57 `
* braziliam toyota corolla hybrid 2023
is US affected by TSK?
* add a new entry for south america
* Revert "add a new entry for south america"
This reverts commit 28454c04cc93dc241da3b004a7154e44313e85c9.
* CARS.md is autogenerated!
* delete CARS.md to fix merge conflict
* space
* i don't know if we know for sure not all international 2023's have TSK
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* Fix 2017 Genesis G80 car harness
* Revert "Fix 2017 Genesis G80 car harness"
This reverts commit 2d5a92b7f0972c7ab61b132dce6cfebe978781c9.
* split and make G80 2017 have J harness
* generate and change min enable speed
* adjust min steer speed
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* VW MNB: Volkswagen Crafter Mk2
* Crafter has a min steer speed :(
* add to non_tested_cars for now
* autogratitude
* Revert "autogratitude"
This reverts commit 8f19085bfa3424a8a75d7c95f32be8ecb010f8f4.
* autogratitude
* regen docs
* refactor and improve signal view
* cleanup undostack after save
* set clean
* fix logswidget::refresh
* fix bugs in historylog
* historylog:dont reset display_type on msg changed
* inline displaySignals
* historylog:add stretch to header
* remove sizePolicy
* always show toolbar
* add icon to tabwidget
* create new chart on top
* fix 'show plot' btn state sync issue
* rename removeSeries to removeItem
* historylog::fix displayRange
* MessageListModeL: improve setFilterString
* set as current index after expanded
* disable update during setmessage
* ChartWidget: fix issue in updateState
* skip align charts if there only one chart
* fix updateLayout
* cleanup historylog
* updateState before end reset model
* add validator
* improve sigmodel
* expand new signal
* add comment
* reserve vector
* cleanup condition
* single click on row to expand signal
* improve layout for canfd(64 bytes)
* cleanup
* return false on default
* show the latest signal value next to the signal name
* update sig value after setmessage.to make the value updated in pause mode.
* better size policy
* +1 for grid size
* better palette
* set autofillbg
* cabana: small improvements to charts toolbar
* show column count when wide enough
* call setspacing
* set in same place
* remove call to updateToolBar()
* fordcan cleanup
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
* no fordcan
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
* more
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
* these weren't even used in CS, follow rest of the brands
* we won't use this
* rename to more standard powertrain can bus
* no arguments for lka anymore
* Revert "rename to more standard powertrain can bus"
This reverts commit 0bc3f79f9bad2218c48a350bbf5ec6f726e0a028.
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* support pause and slow motion playback in live stream mode
* override
* virtual functions
* move to function
fix
* lock handleEvent
* show speed controls in video widget
* fix pause signal
* set margins
* cleanup
You can combine the two nmcli commands into a single command by specifying both ipv4 and ipv6 options at the same time.
You can use the nmcli command with the --wait option to wait for the connection to be fully established before exiting.
You can use nmcli command with the --ask option to prompt the user to confirm the action before proceeding.
* add slider to set chart range
* set minumu to 1 sec
* make chart work in any range
* cleanup
* rename to max_cached_minitues
* more
* dont draw out of plotarea
* cleanup
* updateLayout after chart removed
* cleanup
* fix clamp
* usea same cur_sec to update all charts
* support live streaming
* update live stream's time
* cleanup stream classes
* disable video control in live streaming mode
* emit streamStarted() in LiveStream::streamThread
* disable some features in live streaming mode
* refactor charts to support live streaming mode
* disable dynamic mode checkbox in live streaming mode
* updateDispalyRange
* thread safe events
* TODO: add support for ZMQ
* atomic time stamp
* only keep settings.cached_segment_limit*60 seconds data in liveStream
* make charts work better in live mode
* cleanup ChartView
* fix toolbar
* cleanup
cleanup
* disable openpilotPrefix and useOpenGL on macos
* add comment
* exit gracefully
* support ZMQ
* use ::operator new/delete
* cleanup streams
* cleanup
* align stream buffers
* check looping back
* check if series is empty
* cleanup
* add TODO: write stream to log file to replay it
* upper_bound
* remove class member event_range
* change default settings value
* cleanup updateDisplayrange
* fix merge error
* cabana: color bytes based on activity
* newlines
* fix text color when selected
* fix indent
* add colors to binary view
* no need to check contains
* whitespace
* Apply suggestions from code review
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* wip
* make separate score func
* n4ot g
* clean up
* remove
* simplify
* b2b
* more than 0
* this is fine
* led
* balance costs
* clean up
* no if tici
* box view
* new baselines
* Revert "new baselines"
This reverts commit f7a5d059eda70fa4d49e3024923da30e8821f42b.
* Revert "box view"
This reverts commit a57924be36e7d6abc2585aca9575c74cd583ef86.
* maximize dcg
Co-authored-by: Comma Dev1ce <device@comma.ai>
* make qtcharts a framework
* cabana: dfisable openpilot prefix on macos
* cabana: disable opengl on charts
* fix linux build
* no newline
* add comments
* revert locationd laika change
* switch msg
* change proc replay
* back to gpslocation
* update ref
* no np floats in msg
* Ignore empty laikad messages in mapos
* more tolerance
* c++ doesnt work like that
* wip
* make separate score func
* n4ot g
* clean up
* remove
* simplify
* b2b
* balance costs
* clean up
* no if tici
* box view
* new baselines
* Revert "new baselines"
This reverts commit f7a5d059eda70fa4d49e3024923da30e8821f42b.
* Revert "box view"
This reverts commit a57924be36e7d6abc2585aca9575c74cd583ef86.
Co-authored-by: Comma Device <device@comma.ai>
* laikad update, renaming
* update locationd
* fix naming
* address PR comments
* upsi
* .
* draft to fix replay
* fix process relay to allow no response for messages
* final fix for process replay
* .
* bump cereal
* update process replay ref commit
* reduce wait time
* .
* last ref change
* move laikad helpers to laika
* .
* fix ublox test
* update refs
* add proper qcom replay support
* fix gnss support if both is available
* update refs
* remove left over
* revert laikad msg
* move laika back to master
* init
* fix gps valid flag
* change time
* add gnss to ignore
* remove gps_valid flag
* .
* adopt orientation reset threshold
* .
* update laikad
* .
* fix stanstill KF resets
* test orienation reset count
* update laika
* bump cereal
* fix process replay
* update laika repo
* remove handle gps
* add extra logging for cache
* .
* add more log
* .
* .
* update laika
* dont remove gps code
* inc min satellite count
* update magic vals and add acc drop
* update laika
* upsi
* rem
* bump laika
* use nav and correct
* more fixes
* use sftp
* No more glonass
* Revert "No more glonass"
This reverts commit a76124da50a1e25f423ad1137c7a046e1d57811d.
* nump laika
* back support old ephemeris cache
* add health to ephemeris message
* bump laika
* remove print
* fix laikad tests
* clean
* remove extra log
* bump laika
* inc timeout for plotjuggler build
* rem cache clear
* .
* enable gps after checks
Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
Co-authored-by: Bruce Wayne <harald.the.engineer@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* 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
* dynamic find bit
* change
* Revert "change"
This reverts commit 12cf513e2725a52ee40b8999521adcd6ecb00221.
* change sorting and headers
* make perc a float
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* HKG: Car Port for Kia Sorento 2022
* Harness K
* SCC is on bus 4
* Add test route
* seems reasonable
* more interesting segment
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* HKG CAN-FD: set cruise state available with car signal
* Whoops
* Check this signal
* No should be in SCC_CONTROL
* use TCS
* add back
* match CAN
* think these are missing
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* test with forceDecel
* test all combos
* fix
* fix
* fix
* ...
* remove print
* clean up
* just set cruise to 0
* update ref commit
Co-authored-by: Bruce Wayne <harald.the.engineer@gmail.com>
* Add several missing LEXUS_RC firmwares
`@Vranesh#9912` 2020 RC350 DongleID/route d6303cdeea512a4e|2023-01-09--17-11-55
* lexus now has two engines
* todo
Co-authored-by: Shane Smiskol <shane@smiskol.com>
echo "VirtualGL not found. GUI tools may not work properly. Some GUI tools require OpenGL to work properly. To use them with XQuartz on mac, VirtualGL needs to be installed. To install it run:"
// Comment to add to the PR if no template has been used
const NO_TEMPLATE_MESSAGE =
"It looks like you didn't use one of the Pull Request templates. Please check [the contributing docs](https://github.com/commaai/openpilot/blob/master/docs/CONTRIBUTING.md). \
Also make sure that you didn't modify any of the checkboxes or headings within the template.";
stale-pr-message:'This PR has had no activity for ${{ env.DAYS_BEFORE_PR_STALE }} days. It will be automatically closed in ${{ env.DAYS_BEFORE_PR_CLOSE }} days if there is no activity.'
close-pr-message:'This PR has been automatically closed due to inactivity. Feel free to re-open once activity resumes.'
delete-branch:${{ github.event.pull_request.head.repo.full_name == 'commaai/openpilot' }}# only delete branches on the main repo
exempt-pr-labels:"ignore stale,needs testing,car port"# if wip or it needs testing from the community, don't mark as stale
* Message parsing improvements with the latest firmware update: https://github.com/sunnypilot/panda/tree/test-escc-smdps
* UI Updates
* NEW❗: Visuals: Display Feature Status toggle
* Display the statuses of certain features on the driving screen
* NEW❗: Visuals: Enable Onroad Settings toggle
* Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu
* REMOVED: "Device ambient" temperature option on the sidebar
* FIXED: New comma 3X support
* FIXED: New comma eSIM support
* Bug fixes and performance improvements
sunnypilot - 0.9.5.3 (2023-12-24)
========================
* UPDATED: Dynamic Experimental Control (DEC)
* Synced with dragonpilot-community/dragonpilot:lp-dp-beta2 commit 578d38b
* UPDATED: Driving Model Selector v2
* Driving models sort in descending order based on availability date
* Experimental/unmerged driving models are only available in "dev-c3" branch
* To select and use experimental driving models, navigate to "Software" panel, select the "dev-c3" branch, and check for update
* UPDATED: Vision-based Turn Speed Control (V-TSC) implementation
* Refactored implementation thanks to pfeiferj!
* More accurate and consistent velocity calculation to achieve smoother longitudinal control in curves
* NEW❗: Speed Limit Warning
* Display alert and/or chime to warn the driver when the cruising speed is faster than the speed limit plus the Warning Offset
* Customizable Warning Offset, independent of Speed Limit Control (SLC)'s Limit Offset
* UPDATED: Speed Limit Source Policy
* Selectable speed limit source for Speed Limit Control and Speed Limit Warning
* Applicable to: Speed Limit Control, Speed Limit Warning
* UPDATED: Speed Limit Control (SLC)
* Engage Mode: Removed "Warning Only" mode - this has been replaced by the new Speed Limit Warning sub-menu
* UPDATED: OpenStreetMap (OSM) implementation
* Refactored implementation thanks to pfeiferj!
* Less resource impact
* Significantly smaller sizes with databases
* All regions are available to download
* Weekly map updates thanks to pfeiferj!
* Increased the font size of the road name
* C3X-specific changes
* Altitude (ALT.) display on Developer UI
* Current street name on top of driving screen when "OSM Debug UI" is enabled
* UPDATED: Map-based Turn Speed Control (M-TSC) implementation
* Only available in "staging-c3" and "dev-c3" branches. If you are using "release-c3" branch, navigate to "Software" panel, select the desired target branch, and check for update
* Refactored implementation thanks to pfeiferj!
* Based on the new OpenStreetMap implementation
* Improved predicted curvature calculations from OpenStreetMap data
* UI updates
* RE-ENABLED: Navigation: Full screen support
* Display the map view in full screen
* To switch back to driving view, tap on the border edge
* Hyundai Bayon Non-SCC 2019 support thanks to polein78!
sunnypilot - 0.9.5.2 (2023-12-07)
========================
* NEW❗: MADS: Allow Navigate on openpilot in Chill Mode
* Allow navigation to feed map view into the driving model while using Chill Mode
* Support all platforms, including platforms that do not support openpilot longitudinal control & Experimental Mode
* NEW❗: Neural Network Lateral Controller
* Formerly known as "NNFF", this replaces the lateral "torque" controller with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy
* Contact @twilsonco in the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported
* NEW❗: Driving Model Selector
* Easily switch between driving models without reinstalling branches. Offering immediate access to the latest models upon release
* An internet connection is required for downloading models. Each model switch currently involves downloading the model again. Future updates may allow for offline switching
* Warning is displayed for metered connections to avoid unexpected data usage if on cellular data
* Change driving models via **Settings -> Software -> Current Driving Model**.
* NEW❗: Hyundai CAN longitudinal:
* NEW❗: Enable radar tracks for certain Santa Fe platforms
* Internal Combustion Engine (ICE) 2021-23
* Hybrid 2022-23
* Plug-in Hybrid 2022-23
* NEW❗: Lane Change: When manually braking with steering engaged, turning on the turn signal will default to Nudge mode
* Volkswagen MQB CC only platforms (radar or no radar) support thanks to jyoung8607!
sunnypilot - 0.9.5.1 (2023-11-17)
========================
* UPDATED: Synced with commaai's master commit e94c3c5
* NEW❗: Farmville driving model
* NEW❗: Onroad Settings Panel
* Onroad buttons (i.e., DLP, GAC) moved to its dedicated panel
* Driving Personality
* Dynamic Lane Profile (DLP)
* Dynamic Experimental Control (DEC)
* Speed Limit Control (SLC)
* NEW❗: Display main feature status on onroad view in real-time
* GAP - Driving Personality
* DLP - Dynamic Lane Profile
* DEC - Dynamic Experimental Control
* SLC - Speed Limit Control
* NEW❗: Dynamic Experimental Control (DEC) thanks to dragonpilot-community!
* Automatically determines and selects between openpilot ACC and openpilot End to End longitudinal based on conditions for a more natural drive
* Dynamic Experimental Control is only active while in Experimental Mode
* When Dynamic Experimental Control is ON, initially setting cruise speed will set to the vehicle's current speed
* NEW❗: Hyundai CAN longitudinal:
* NEW❗: Parse lead info for camera-based SCC platforms
* Improve lead tracking when using openpilot longitudinal
* NEW❗: Parse lead distance to display on car cluster
* Introduced better lead distance calculation to display on the car's cluster, replacing the binary "lead visible" indication on the SCC cluster
* Lead distance is now categorized into different ranges for more detailed and comprehensive information to the driver similar to how stock ACC does it
* NEW❗: Parse speed limit sign recognition from camera for certain supported platforms
* NEW❗: Subaru - Stop and Go auto-resume support thanks to martinl!
* Global (excluding Gen 2 and Hybrid) and Pre-Global support
* NEW❗: Toyota - Stop and Go hack
* Allow some Toyota/Lexus cars to auto resume during stop and go traffic
* Only applicable to certain models and model years
* NEW❗: Toyota: ZSS support thanks to dragonpilot-community and ErichMoraga!
* NEW❗: MSPA (Cereal structs refactor)
* Make sunnypilot Parsable Again - @sshane
* sunnypilot is now parsable with stock openpilot tools
* NEW❗: Display 3D buildings on map thanks to jakethesnake420!
* openpilot Longitudianl Control capable cars only
* UPDATED: Gap Adjust Cruise is now a part of Driving Personality
* [DISTANCE/FOLLOW DISTANCE/GAP DISTANCE] physical button on the steering wheel to select Driving Personality on by default
* Status now viewable in onroad view or Onroad Settings Panel
* REMOVED: Gap Adjust Cruise toggle
* UPDATED: Speed Limit Control (SLC)
* NEW❗: Speed Limit Engage Mode
* Select the desired mode to set the cruising speed to the speed limit
* Warning Only: Warn the driver when the vehicle is driven faster than the speed limit
* Auto: Automatic speed adjustment on motorways based on speed limit data
* User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit
* Supported platforms
* openpilot Longitudinal Control available cars (Excluding certain Toyota/Lexus, Ford, explained below)
* Custom Stock Longitudinal Control available cars
* Unsupported platforms
* Toyota/Lexus and Ford - most platforms do not allow us to control the PCM's set speed, requires testers to verify
* NEW❗: Speed limit source selector
* Select the desired precedence order of sources used to adapt cruise speed to road limits
* Camera Offset only works in Laneful (Laneful Only or Laneful in Auto mode when using Dynamic Lane Profile)
* Path Offset can be applied to both Laneless and Laneful
* UPDATED: Refactored Torque Lateral Control custom tuning menu
* NEW❗: Less Restrict Settings for Self-Tune (Beta)
* NEW❗: Custom Tuning for setting offline and live values in real-time
* UPDATED: Auto-detect custom Mapbox token if a personal Mapbox token is provided
* REMOVED: "Enable Mapbox Navigation" toggle
* UI updates
* New Settings menu redesign and improved interactions
* FIXED: Retain hotspot/tethering state was not consistently saved
* FIXED: Map stuck in "Map Loading" if comma Prime is active
* FIXED: OpenStreetMap implementation on C3X devices
* M-TSC
* Altitude (ALT.) display on Developer UI
* Current street name on top of driving screen when "OSM Debug UI" is enabled
* Hyundai Kona Non-SCC 2019 support thanks to Quex!
* Kia Seltos Non-SCC 2023-24 support thanks to Moodkiller and jeroid_!
sunnypilot - 0.9.4.1 (2023-08-11)
========================
* UPDATED: Synced with commaai's 0.9.4 release
* NEW❗: Moonrise driving model
* NEW❗: Ford upstream models support
* UPDATED: Dynamic Lane Profile selector in the "SP - Controls" menu
* REMOVED: Dynamic Lane Profile driving screen UI button
* FIXED: Disallow torque lateral control for angle control platforms (e.g. Ford, Nissan, Tesla)
* Torque lateral control cannot be used by angle control platforms, and would cause a "Controls Unresponsive" error if Torque lateral control is enforced in settings
* REMOVED: Speed Limit Style override
* Honda Accord 2016-17 support thanks to mlocoteta!
* Serial Steering hardware required. For more information, see https://github.com/mlocoteta/serialSteeringHardware
* mapd: utilize advisory speed limit in curves (#142) thanks to pfeiferj!
sunnypilot - 0.9.3.1 (2023-07-09)
========================
* UPDATED: Synced with commaai's 0.9.3 release
* NEW❗: Display Temperature on Sidebar toggle
* Display Ambient temperature, memory temperature, CPU core with the highest temperature, GPU temperature, or max of Memory/CPU/GPU on the sidebar
* Replace "Display CPU Temperature on Sidebar" toggle
* Smoother stopping behind a stopped car or desired stopping event.
* This is only applicable to HKG CAN platforms using openpilot longitudinal control
* NEW❗: Toyota: TSS2 longitudinal: Custom Tuning
* Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars thanks to dragonpilot-community!
* NEW❗: Enable Screen Recorder toggle
* Enable this will display a button on the onroad screen to toggle on or off real-time screen recording with UI elements.
* IMPROVED: Dynamic Lane Profile: when using Laneline planner via Laneline Mode or Auto Mode, enforce Laneless planner while traveling below 10 MPH or 16 km/h
* REMOVED: Display CPU Temperature on Sidebar
sunnypilot - 0.9.2.3 (2023-06-18)
========================
* NEW❗: Auto Lane Change: Delay with Blind Spot
* Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects an obstructing vehicle, ensuring safe maneuvering
* NEW❗: Driving Screen Off: Wake with Non-Critical Events
* When Driving Screen Off Timer is not set to "Always On":
* Enabled: Wake the brightness of the screen to display all events
* Disabled: Wake the brightness of the screen to display critical events
* Currently, all non-nudge modes are default to continue lane change after 1 seconds of blind spot detection
* NEW❗: Fleet Manager PIN Requirement toggle
* User can now enable or disable PIN requirement on the comma device before accessing Fleet Manager
* NEW❗: Reset all sunnypilot settings toggle
* NEW❗: Turn signals display on screen when blinker is used
* Green: Blinker is on
* Red: Blinker is on, car detected in the adjacent blind spot or road edge detected
* IMPROVED: mapd: better exceptions handling when loading dependencies
* UPDATED: Green Traffic Light Chime no longer displays an orange border when executed
* FIXED: mapd: Road name flashing caused by desync with last GPS timestamp
* FIXED: Ram HD (2500/3500): Ignore paramsd sanity check
* Live parameters have trouble with self-tuning on this platform with upstream openpilot 0.9.2
* Hyundai: Longitudinal support for CAN-based Camera SCC cars thanks to Zack1010OP's Patreon sponsor!
sunnypilot - 0.9.2.2 (2023-06-13)
========================
* NEW❗: Toyota: Allow M.A.D.S. toggling with LKAS Button (Beta)
* IMPROVED: Ram: cruise button handling
sunnypilot - 0.9.2.1 (2023-06-10)
========================
* UPDATED: Synced with commaai's 0.9.2 release
* UPDATED: feature revamp with better stability
* UPDATED:
* M.A.D.S.
* Path color becomes LIGHT ORANGE during Driver Steering Override
* Gap Adjust Cruise (now known as Driving Personality in upstream openpilot 0.9.3):
* Updated profiles and jerk changes
* Experimental Mode support
* Three settings: Stock, Aggressive, and Maniac
* Stock is recommended and the default
* In Aggressive/Maniac mode, lead follow distance is shorter and quicker gas/brake response
* Dynamic Lane Profile
* Display blue borders on both sides of the driving path when Laneline mode is being used in the planner
* Auto Mode optimization
* Permanent: Laneless during Auto Lane Change execution
* Mapd
* OpenStreetMap Database: new regions added
* Developer UI (Dev UI)
* REMOVED: 2-column design
* NEW❗: 1-column + 1-row design
* Custom Stock Longitudinal Control
* NEW❗: Chrysler/Jeep/Ram support
* NEW❗: Mazda support
* NEW❗: Volkswagen PQ support
* DISABLED: Hyundai/Kia/Genesis CAN-FD platforms
* NEW❗: Switch between Chill (openpilot ACC) and Experimental (E2E longitudinal) with DISTANCE button on the steering wheel
* To switch between Chill and Experimental Mode: press and hold the DISTANCE button on the steering wheel for over 0.5 second
* All openpilot longitudinal capable cars support
* NEW❗: Nicki Minaj driving model
* NEW❗: Nissan and Mazda upstream models support
* NEW❗: Pre-Global Subaru upstream models support
* NEW❗: Display End-to-end Longitudinal Status (Beta)
* Display an icon that appears when the End-to-end model decides to start or stop
* NEW❗: Green Traffic Light Chime (Beta)
* A chime will play when the traffic light you are waiting for turns green, and you have no vehicle in front of you.
* NEW❗: Lead Vehicle Departure Alert
* Notify when the leading vehicle drives away
* NEW❗: Speedometer: Display True Speed
* Display the true vehicle current speed from wheel speed sensors.
* NEW❗: Speedometer: Hide from Onroad Screen
* NEW❗: Auto-Hide UI Buttons
* Hide UI buttons on driving screen after a 30-second timeout. Tap on the screen at anytime to reveal the UI buttons
* Applicable to Dynamic Lane Profile (DLP) and Gap Adjust Cruise (GAC)
* NEW❗: Display DM Camera in Reverse Gear
* Show Driver Monitoring camera while the car is in reverse gear
* NEW❗: Block Lane Change: Road Edge Detection (Beta)
* Block lane change when road edge is detected on the stalk actuated side
* NEW❗: Display CPU Temperature on Sidebar
* Display the CPU core with the highest temperature on the sidebar
* NEW❗: Display current driving model in Software settings
* NEW❗: HKG: smartMDPS automatic detection (installed with applicable firmware)
* FIXED: Unintended siren/alarm from the comma device if the vehicle is turned off too quickly in PARK gear
* FIXED: mapd: Exception handling for loading dependencies
* Fleet Manager via Browser support thanks to actuallylemoncurd, AlexandreSato, ntegan1, and royjr!
* Access your dashcam footage, screen recordings, and error logs when the car is turned off
* Connect to the device via Wi-Fi, mobile hotspot, or tethering on the comma device, then navigate to http://ipAddress:5050 to access.
* Honda Clarity 2018-22 support thanks to mcallbosco, vanillagorillaa and wirelessnet2!
* Ram: Steer to 0/7 MPH support thanks to vincentw56!
* Retain hotspot/tethering state across reboots thanks to rogerioaguas!
* LKAS button continues to be used for MADS engagement/disengagement
sunnypilot - Version 0.8.14-1 (2022-06-26)
========================
Visit https://bit.ly/sunnyreadme for more details
* sunnypilot 0.8.14 release - based on openpilot 0.8.14 devel
* "0.8.14-prod-c3" branch only supports comma three
* If you have a comma two, EON, or other devices than a comma three, visit sunnyhaibin's discord server for more details: https://discord.gg/wRW3meAgtx
* Mono-branch support
* Honda/Acura
* Hyundai/Kia/Genesis
* Toyota/Lexus
* Volkswagen MQB
* Modified Assistive Driving Safety (MADS) Mode
* NEW❗: CRUISE (MAIN) now engages MADS for all supported car makes
* NEW❗: Added toggle to disable disengaging Automatic Lane Centering (ALC) on the brake pedal
* Dynamic Lane Profile (DLP)
* NEW❗: Gap Adjust Cruise (GAC)
* openpilot longitudinal cars can now adjust between the lead car's following distance gap via 3 modes:
* Steering Wheel (SW) | User Interface (UI) | Steering Wheel + User Interface (SW+UI)
* NEW❗: Custom Camera & Path Offsets
* NEW❗: Torque Lateral Control from openpilot 0.8.15 master (as of 2022-06-15)
* NEW❗: Torque Lateral Control Live Tune Menu
* NEW❗: Speed Limit Sign from openpilot 0.8.15 master (as of 2022-06-22)
* NEW❗: Mapbox Speed Limit data will now be utilized in Speed Limit Control (SLC)
* Speed limit data will be utilized in the following availability:
* NEW❗: Mapbox navigation support for non-Prime users
* Visit sunnyhaibin's discord server for more details: https://discord.gg/wRW3meAgtx
* Hyundai/Kia/Genesis
* NEW❗: Enhanced SCC (ESCC) Support
* Requires hardware modification. Visit sunnyhaibin's discord server for more details: https://discord.gg/wRW3meAgtx
* NEW❗: Smart MDPS (SMDPS) Support - Auto-detection
* Requires hardware modification and custom firmware for the SMDPS. Visit sunnyhaibin's discord server for more details: https://discord.gg/wRW3meAgtx
* Toyota/Lexus
* NEW❗: Added toggle to enforce stock longitudinal control
sunnypilot - Version 0.8.12-4
========================
* NEW❗: Custom Stock Longitudinal Control by setting the target speed via openpilot's "MAX" speed thanks to multikyd!
* Speed Limit Control
* Vision-based Turn Control
* Map-based Turn Control
* NEW❗: HDA status integration with Custom Stock Longitudinal Control on applicable HKG cars only
* NEW❗: Roll Compensation and SteerRatio fix from comma's 0.8.13
* NEW❗: Dev UI to display different metrics on screen
* Click on the "MAX" box on the top left of the openpilot display to toggle different metrics display
* Lead car relative distance; Lead car relative speed; Actual steering degree; Desired steering degree; Engine RPM; Longitudinal acceleration; Lead car actual speed; EPS torque; Current altitude; Compass direction
* NEW❗: Stand Still Timer to display time spent at a stop with M.A.D.S engaged (i.e., stop lights, stop signs, traffic congestions)
* NEW❗: Current car speed text turns red when the car is braking
* NEW❗: Export GPS tracks into GPX files and upload to OSM thanks to eFini!
* NEW❗: Enable ACC and M.A.D.S with a single press of the RES+/SET- button
* NEW❗: ACC +/-: Short=5, Long=1
* Change the ACC +/- buttons behavior with cruise speed change in openpilot
* Disabled (Stock): Short=1, Long=5
* Enabled: Short=5, Long=1
* NEW❗: Speed Limit Value Offset (not %)*
* Set speed limit higher or lower than actual speed limit for a more personalized drive.
* *To use this feature, turn off "Enable Speed Limit % Offset"*
* NEW❗: Dedicated icon to show the status of M.A.D.S.
* NEW❗: No Offroad Fix for non-official devices that cannot shut down after the car is turned off
* NEW❗: Stop N' Go Resume Alternative
* Offer alternative behavior to auto resume when stopped behind a lead car using stock SCC/ACC. This feature removes the repeating prompt chime when stopped and/or allows some cars to use auto resume (i.e., Genesis)
* IMPROVED: Show the lead car icon in the car's dashboard when a lead car is detected by openpilot's camera vision
* FIXED: MADS button unintentionally set MAX when using stock longitudinal control thanks to Spektor56!
sunnypilot - Version 0.8.12-3
========================
* NEW❗: Bypass "System Malfunction" alert toggle
* Prevent openpilot from returning the "System Malfunction" alert that hinders the ability use openpilot
* FIXED: Hyundai/Kia/Genesis Brake Hold Active now outputs the correct events on screen with M.A.D.S. engaged
sunnypilot - Version 0.8.12-2
========================
* NEW❗: Disable M.A.D.S. toggle to disable the beloved M.A.D.S. feature
* Enable Stock openpilot engagement/disengagement
* ADJUST: Initialize Driving Screen Off Brightness at 50%
sunnypilot - Version 0.8.12-1
========================
* sunnypilot 0.8.12 release - based on openpilot 0.8.12 devel
* Dedicated Hyundai/Kia/Genesis branch support
* NEW❗: OpenStreetMap integration thanks to the Move Fast team!
* NEW❗: Vision-based Turn Control
* NEW❗: Map-Data-based Turn Control
* NEW❗: Speed Limit Control w/ optional Speed Limit Offset
* NEW❗: OpenStreetMap integration debug UI
* Only available to openpilot longitudinal enabled cars
* NEW❗: Hands on Wheel Monitoring according to EU r079r4e regulation
* NEW❗: Disable Onroad Uploads for data-limited Wi-Fi hotspots when using OpenStreetMap related features
* NEW❗: Fast Boot (Prebuilt)
* NEW❗: Auto Lane Change Timer
* NEW❗: Screen Brightness Control (Global)
* NEW❗: Driving Screen Off Timer
* NEW❗: Driving Screen Off Brightness (%)
* NEW❗: Max Time Offroad
* Improved user feedback with M.A.D.S. operations thanks to Spektor56!
<details><summary><h3>🌞 What is sunnypilot?</h3></summary>
---
[sunnypilot](https://github.com/sunnyhaibin/sunnypilot) is a fork of comma.ai's openpilot, an open source driver assistance system. sunnypilot offers the user a unique driving experience for over 250+ supported car makes and models with modified behaviors of driving assist engagements. sunnypilot complies with comma.ai's safety rules as accurately as possible.
</details>
<details><summary><h3>🚘 Running on a dedicated device in a car</h3></summary>
---
To use sunnypilot in a car, you need the following:
* A supported device to run this software
* a [comma three](https://comma.ai/shop/products/three), or
* a comma two (only with older versions below 0.8.13)
* This software
* One of [the 250+ supported cars](https://github.com/commaai/openpilot/blob/master/docs/CARS.md). We support Honda, Toyota, Hyundai, Nissan, Kia, Chrysler, Lexus, Acura, Audi, VW, Ford and more. If your car is not supported but has adaptive cruise control and lane-keeping assist, it's likely able to run sunnypilot.
* A [car harness](https://comma.ai/shop/products/car-harness) to connect to your car
Detailed instructions for [how to mount the device in a car](https://comma.ai/setup).
</details>
<details><summary><h3>🚨 Read Before Installing</h3></summary>
---
It is recommended to read this **entire page** before proceeding. This will ensure that you fully understand each added feature on sunnypilot, and you are selecting the right branch for your car to have the best driving experience.
This is a fork of [comma.ai's openpilot](https://github.com/commaai/openpilot). By installing this software, you accept all responsibility for anything that might occur while you use it. All contributors to sunnypilot are not liable. ❗<ins>**Use at your own risk.**</ins>❗
All [official sunnypilot branches](https://github.com/sunnyhaibin/sunnypilot/branches) strictly adhere to [comma.ai's safety policy](https://github.com/commaai/openpilot/blob/master/docs/SAFETY.md). Any changes that go against this policy will result in your fork and your device being banned from both comma.ai and sunnypilot channels.
The following changes are a **VIOLATION** of this policy and **ARE NOT** included in any sunnypilot branches:
* Driver Monitoring:
* ❌ "Nerfing" or reducing monitoring parameters.
* Panda safety:
* ❌ No preventing disengaging of <ins>**LONGITUDINAL CONTROL**</ins> (acceleration/brake) on brake pedal press.
* ❌ No auto re-engaging of <ins>**LONGITUDINAL CONTROL**</ins> (acceleration/brake) on brake pedal release.
[openpilot](http://github.com/commaai/openpilot) is an open source driver assistance system. Currently, openpilot performs the functions of Adaptive Cruise Control (ACC), Automated Lane Centering (ALC), Forward Collision Warning (FCW), and Lane Departure Warning (LDW) for a growing variety of [supported car makes, models, and model years](docs/CARS.md). In addition, while openpilot is engaged, a camera-based Driver Monitoring (DM) feature alerts distracted and asleep drivers. See more about [the vehicle integration](docs/INTEGRATION.md) and [limitations](docs/LIMITATIONS.md).
Please refer to [Recommended Branches](#-recommended-branches) to find your preferred/supported branch. This guide will assume you want to install the latest `release-c3` branch.
<table>
<tr>
<td><a href="https://youtu.be/NmBfgOanCyk" title="Video By Greer Viau"><img src="https://i.imgur.com/1w8c6d2.jpg"></a></td>
<td><a href="https://youtu.be/VHKyqZ7t8Gw" title="Video By Logan LeGrand"><img src="https://i.imgur.com/LnBucik.jpg"></a></td>
<td><a href="https://youtu.be/VxiR4iyBruo" title="Video By Charlie Kim"><img src="https://i.imgur.com/4Qoy48c.jpg"></a></td>
<td><a href="https://youtu.be/-IkImTe1NYE" title="Video By Aragon"><img src="https://i.imgur.com/04VNzPf.jpg"></a></td>
</tr>
<tr>
<td><a href="https://youtu.be/iIUICQkdwFQ" title="Video By Logan LeGrand"><img src="https://i.imgur.com/b1LHQTy.jpg"></a></td>
<td><a href="https://youtu.be/XOsa0FsVIsg" title="Video By PinoyDrives"><img src="https://i.imgur.com/6FG0Bd8.jpg"></a></td>
<td><a href="https://youtu.be/bCwcJ98R_Xw" title="Video By JS"><img src="https://i.imgur.com/zO18CbW.jpg"></a></td>
<td><a href="https://youtu.be/BQ0tF3MTyyc" title="Video By Tsai-Fi"><img src="https://i.imgur.com/eZzelq3.jpg"></a></td>
</tr>
</table>
* sunnypilot not installed or you installed a version before 0.8.17?
1. [Factory reset/uninstall](https://github.com/commaai/openpilot/wiki/FAQ#how-can-i-reset-the-device) the previous software if you have another software/fork installed.
2. After factory reset/uninstall and upon reboot, select `Custom Software` when given the option.
3. Input the installation URL per [Recommended Branches](#-recommended-branches). Example: ```release-c3.sunnypilot.ai``` [^4] (note: `https://` is not requirement on the comma three)
4. Complete the rest of the installation following the onscreen instructions.
* sunnypilot already installed and you installed a version after 0.8.17?
1. On the comma three, go to `Settings` ▶️ `Software`.
2. At the `Download` option, press `CHECK`. This will fetch the list of latest branches from sunnypilot.
3. At the `Target Branch` option, press `SELECT` to open the Target Branch selector.
4. Scroll to select the desired branch per [Recommended Branches](#-recommended-branches). Example: `release-c3`
Requires further assistance with software installation? Join the [sunnypilot Discord server](https://discord.sunnypilot.com) and message us in the `#installation-help` channel.
comma two
------
To use openpilot in a car, you need four things
* A supported device to run this software: a [comma three](https://comma.ai/shop/products/three).
* This software. The setup procedure of the comma three allows the user to enter a URL for custom software.
The URL, openpilot.comma.ai will install the release version of openpilot. To install openpilot master, you can use installer.comma.ai/commaai/master, and replacing commaai with another GitHub username can install a fork.
* One of [the 200+ supported cars](docs/CARS.md). We support Honda, Toyota, Hyundai, Nissan, Kia, Chrysler, Lexus, Acura, Audi, VW, and more. If your car is not supported but has adaptive cruise control and lane-keeping assist, it's likely able to run openpilot.
* A [car harness](https://comma.ai/shop/products/car-harness) to connect to your car.
1. [Factory reset/uninstall](https://github.com/commaai/openpilot/wiki/FAQ#how-can-i-reset-the-device) the previous software if you have another software/fork installed.
2. After factory reset/uninstall and upon reboot, select `Custom Software` when given the option.
3. Input the installation URL per [Recommended Branches](#-recommended-branches). Example: ```https://smiskol.com/fork/sunnyhaibin/0.8.12-4-prod```
4. Complete the rest of the installation following the onscreen instructions.
We have detailed instructions for [how to mount the device in a car](https://comma.ai/setup).
Requires further assistance with software installation? Join the [sunnypilot Discord server](https://discord.sunnypilot.com) and message us in the `#installation-help` channel.
Running on PC
</details>
<details>
<summary>SSH (More Versatile)</summary>
<br>
Prerequisites: [How to SSH](https://github.com/commaai/openpilot/wiki/SSH)
If you are looking to install sunnypilot via SSH, run the following command in an SSH terminal after connecting to your device:
All openpilot services can run as usual on a PC without requiring special hardware or a car. You can also run openpilot on recorded or simulated data to develop or experiment with openpilot.
```
cd /data; rm -rf ./openpilot; git clone -b release-c3 --recurse-submodules https://github.com/sunnyhaibin/sunnypilot.git openpilot; cd openpilot; sudo reboot
```
With openpilot's tools, you can plot logs, replay drives, and watch the full-res camera streams. See [the tools README](tools/README.md) for more information.
You can also run openpilot in simulation [with the CARLA simulator](tools/sim/README.md). This allows openpilot to drive around a virtual car on your Ubuntu machine. The whole setup should only take a few minutes but does require a decent GPU.
A PC running openpilot can also control your vehicle if it is connected to a [webcam](https://github.com/commaai/openpilot/tree/master/tools/webcam), a [black panda](https://comma.ai/shop/products/panda), and a [harness](https://comma.ai/shop/products/car-harness).
openpilot is developed by [comma](https://comma.ai/) and by users like you. We welcome both pull requests and issues on [GitHub](http://github.com/commaai/openpilot). Bug fixes and new car ports are encouraged. Check out [the contributing docs](docs/CONTRIBUTING.md).
```
cd /data; rm -rf ./openpilot; git clone -b 0.8.12-prod-personal-hkg --recurse-submodules https://github.com/sunnyhaibin/sunnypilot.git openpilot; cd openpilot; sudo reboot
```
Documentation related to openpilot development can be found on [docs.comma.ai](https://docs.comma.ai). Information about running openpilot (e.g. FAQ, fingerprinting, troubleshooting, custom forks, community hardware) should go on the [wiki](https://github.com/commaai/openpilot/wiki).
After running the command to install the desired branch, your comma device should reboot.
</details>
You can add support for your car by following guides we have written for [Brand](https://blog.comma.ai/how-to-write-a-car-port-for-openpilot/) and [Model](https://blog.comma.ai/openpilot-port-guide-for-toyota-models/) ports. Generally, a car with adaptive cruise control and lane keep assist is a good candidate. [Join our Discord](https://discord.comma.ai) to discuss car ports: most car makes have a dedicated channel.
</details>
Want to get paid to work on openpilot? [comma is hiring](https://comma.ai/jobs/).
And [follow us on Twitter](https://twitter.com/comma_ai).
By default, openpilot uploads the driving data to our servers. You can also access your data through [comma connect](https://connect.comma.ai/). We use your data to train better models and improve openpilot for everyone.
### Quality of Life Enhancements
- [**Modified Assistive Driving Safety (MADS)**](#modified-assistive-driving-safety-mads) - Automatic Lane Centering (ALC) / Lane Keep Assist System (LKAS) and Adaptive Cruise Control (ACC) / Smart Cruise Control (SCC) can be engaged independently of each other
- [**Dynamic Lane Profile (DLP)**](#dynamic-lane-profile-dlp) - Dynamically switch lane profile (between Laneful and Laneless) based on lane recognition confidence
- [**Enhanced Speed Control**](#enhanced-speed-control) - Automatically adjust cruise control speed using vision model, OpenStreetMap (OSM) data, and/or Speed Limit control (SLC) without user interaction
* Vision-based Turn Speed Control (V-TSC) - lower speed when going around corners using vision model
* Map-Data-based Turn Speed Control (M-TSC) - lower speed when going around corners using OSM data[^1]
* Speed Limit Control (SLC) - Set speed limit based on map data or car interface (if applicable)
* HKG only: Highway Driving Assist (HDA) status integration - Use cars native speed sign detection to set desired speed (on applicable HKG cars only)
- [**Gap Adjust Cruise (GAC)**](#gap-adjust-cruise) - Allow `GAP`/`INTERVAL`/`DISTANCE` button on the steering wheel or on-screen button to adjust the follow distance from the lead car. See table below for options
- [**Quiet Drive 🤫**](#-quiet-drive) - Toggle to mute all notification sounds (excluding driver safety warnings)
- [**Auto Lane Change Timer**](#Auto-Lane-Change-Timer) - Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set
- [**Force Car Recognition (FCR)**](#Force-Car-Recognition-) - Use a selector to force your car to be recognized by sunnypilot
- [**Fix sunnypilot No Offroad**](#Fix-sunnypilot-No-Offroad) - Enforce sunnypilot to go offroad and turns off after shutting down the car. This feature fixes non-official devices running sunnypilot without comma power
- [**Enable ACC+MADS with RES+/SET-**](#Enable-ACC+MADS-with-RES+/SET-) - Engage both ACC and MADS with a single press of RES+ or SET- button
- [**Offline OSM Maps**](#Offline-OSM-Maps) - OSM database can now be downloaded locally for offline use[^2]. This enables offline SLC, V-TSC and M-TSC. Currently available for US South, US West, US Northeast, Florida, Taiwan, South Africa and New Zealand
- [**Various Live Tuning**](#Various-Live-Tuning) - Ability to tailor your driving experience on the fly:
* Enforce Torque Lateral Control - Use the newest [torque controller](https://blog.comma.ai/0815release/#torque-controller) for all vehicles.
* Torque Lateral Control Live Tune - Ability to adjust the torque controller’s `FRICTION` and `LAT_ACCEL_FACTOR` values to suit your vehicle.
* Torque Lateral Controller Self-Tune - Enable automatic turning for the Torque controller.
openpilot is open source software: the user is free to disable data collection if they wish to do so.
### Visual Enhancements
* **M.A.D.S Status Icon** - Dedicated icon to display M.A.D.S. engagement status
* Green🟢: M.A.D.S. engaged
* White⚪: M.A.D.S. suspended or disengaged
* **Lane Path Color** - Various lane path colors to display real-time Lane Model and M.A.D.S. engagement status
* 0.8.14 and later:
* Blue🔵: Laneful mode & M.A.D.S. engaged
* Green🟢: Laneless mode & M.A.D.S. engaged
* Yellow🟡: Experimental e2e & M.A.D.S. engaged
* Pre 0.8.14:
* Green🟢: Laneful mode & M.A.D.S. engaged
* Red🔴: Laneless mode & M.A.D.S. engaged
* White⚪: M.A.D.S. suspended or disengaged
* Black⚫: M.A.D.S. engaged, steering is being manually overridden by user
* **Developer (Dev) UI** - Display various real-time metrics on screen while driving
* **Stand Still Timer** - Display time spent at a stop with M.A.D.S engaged (i.e., at traffic lights, stop signs, traffic congestions)
* **Braking Status** - Current car speed text turns red when the car is braking by the driver or ACC/SCC
openpilot logs the road-facing cameras, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs.
### Operational Enhancements
* **Fast Boot** - sunnypilot will fast boot by creating a Prebuilt file
* **Disable Onroad Uploads** - Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot
* **Brightness Control (Global)** - Manually adjusts the global brightness of the screen
* **Driving Screen Off Timer** - Turns off the device screen or reduces brightness to protect the screen after car starts
* **Driving Screen Off Brightness (%)** - When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio
* **Max Time Offroad** - Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road)
The goal of Modified Assistive Driving Safety (MADS) is to enhance the user driving experience with modified behaviors of driving assist engagements. This feature complies with comma.ai's safety rules as accurately as possible with the following changes:
* sunnypilot Automatic Lane Centering (ALC) and ACC/SCC can be engaged independently of each other
* Dedicated button to toggle sunnypilot ALC:
* `CRUISE (MAIN)` button: All supported cars on sunnypilot
* `LFA` button: Newer HKG cars with `LFA` button
* `LKAS` button: Honda, Toyota, Global Subaru
* `SET-` button enables ACC/SCC
* `CANCEL` button only disables ACC/SCC
* `CRUISE (MAIN)` must be `ON` to use ACC/SCC
* `CRUISE (MAIN)` button disables sunnypilot completely when `OFF` **(strictly enforced in panda safety code)**
### Disengage Lateral ALC on Brake Press Mode toggle
Dedicated toggle to handle Lateral state on brake pedal press and release:
1. `ON`: `BRAKE pedal` press will pause Automatic Lane Centering; `BRAKE pedal` release will resume Automatic Lane Centering. Note: `BRAKE pedal` release will NOT resume ACC/SCC/Long control without explicit user engagement **(strictly enforced in panda safety code)**
2. `OFF`: `BRAKE pedal` press will NOT pause Automatic Lane Centering; `BRAKE pedal` release will NOT resume ACC/SCC/Long control without explicit user engagement **(strictly enforced in panda safety code)**
### Miscellaneous
* `TURN SIGNALS` (`Left` or `Right`) will pause Automatic Lane Centering if the vehicle speed is below the [threshold](https://github.com/commaai/openpilot/blob/master/selfdrive/controls/lib/desire_helper.py#L8) for Automatic Lane Change
* Event audible alerts are more relaxed to match manufacturer's stock behavior
* Critical events trigger disengagement of Automatic Lane Centering completely. The disengagement is enforced in sunnypilot and panda safety
### Dynamic Lane Profile (DLP)
Dynamic Lane Profile (DLP) aims to provide the best driving experience at staying within a lane confidently. Dynamic Lane Profile allows sunnypilot to dynamically switch between lane profiles based on lane recognition confidence level on road.
There are 3 modes to select on the onroad camera screen:
* **Auto Lane**: sunnypilot dynamically chooses between `Laneline` or `Laneless` model
* **Laneline**: sunnypilot uses Laneline model only.
* **Laneless**: sunnypilot uses Laneless model only.
To use Dynamic Lane Profile, do the following:
```
1. sunnypilot Settings -> `SP - Controls` -> Enable Dynamic Lane Profile -> ON toggle
2. Reboot.
3. Before driving, on the onroad camera screen, toggle between the 3 modes by pressing on the button.
4. Drive.
```
### Enhanced Speed Control
This fork now allows supported cars to dynamically adjust the longitudinal plan based on the fetched map data. Big thanks to the Move Fast team for the amazing implementation!
**Supported cars:**
* sunnypilot Longitudinal Control capable
* Stock Longitudinal Control
* Hyundai/Kia/Genesis (non CAN-FD)
* Honda Bosch
* Volkswagen MQB
Certain features are only available with an active data connection, via:
* [comma Prime](https://comma.ai/prime) - Intuitive service provided directly by comma, or
* Personal Hotspot - From your mobile device, or a dedicated hotspot from a cellular carrier.
**Features:**
* Vision-based Turn Speed Control (VTSC) - Use vision path predictions to estimate the appropriate speed to drive through turns ahead - i.e. slowing down for curves
* Map-Data-based Turn Speed Control (MTSC) - Use curvature information from map data to define speed limits to take turns ahead - i.e. slowing down for curves[^1]
* Speed Limit Control (SLC) - Use speed limit signs information from map data and car interface to automatically adapt cruise speed to road limits
* HKG only: Highway Driving Assist (HDA) status integration - on applicable HKG cars only[^1]
* Speed Limit Offset - When Speed Limit Control is enabled, set speed limit slightly higher than the actual speed limit for a more natural drive[^1]
* Toggle Hands on Wheel Monitoring - Monitors and alerts the driver when their hands have not been on the steering wheel for an extended time
### Custom Stock Longitudinal Control
While using stock Adaptive/Smart Cruise Control, Custom Stock Longitudinal Control in sunnypilot allows sunnypilot to manipulate and take over the set speed on the car's dashboard.
**Supported Cars:**
* Hyundai/Kia/Genesis
* CAN platform
* CAN-FD platform with 0x1CF broadcasted in CAN traffic
* Honda Bosch
* Volkswagen MQB
**Instruction**
**📗 How to use Custom Longitudinal Control on sunnypilot **
When using Speed Limit, Vision, or Map based Turn control, you will be setting the "MAX" ACC speed on the sunnypilot display instead of the one in the dashboard. The car will then set the ACC setting in the dashboard to the targeted speed, but will never exceed the max speed set on the sunnypilot display. A quick press of the RES+ or SET- buttons will change this speed by 5 MPH or KM/H on the sunnypilot display, while a long deliberate press (about a 1/2 second press) changes it by 1 MPH or KM/H. DO NOT hold the RES+ or SET- buttons for longer that a 1 second. Either make quick or long deliberate presses only.
**‼ Where to look when setting ACC speed ‼**
Do not look at the dashboard when setting your ACC max speed. Instead, only look at the one on the sunnypilot display, "MAX". The reason you need to look at the sunnypilot display is because sunnypilot will be changing the one in the dashboard. It will be adjusting it as needed, never raising it above the one set on the sunnypilot display. ONLY look at the MAX speed on the sunnypilot display when setting the ACC speed instead of the dashboard!
(Courtesy instructions from John, author of jvePilot)
### Gap Adjust Cruise
This fork now allows supported openpilot longitudinal cars to adjust the cruise gap between the car and the lead car.
**Supported cars:**
* sunnypilot Longitudinal Control capable
🚨**PROCEED WITH EXTREME CAUTION AND BE READY TO MANUALLY TAKE OVER AT ALL TIMES**
There are 4 modes to select on the steering wheel and/or the onroad camera screen:
* **Stock Gap**: Stock sunnypilot distance - 1.45 second profile
* **Mild Gap**: Semi-aggressive distance - 1.25 second profile
* 🚨**Aggro Gap**🚨: Aggressive distance - 1.0 second profile
| `release` | Release branches | Include features that are **verified** by trusted testers and the community. Ready to use. ✅ |
| `staging` | Staging branches | Include new features that are **tested** by trusted testers and the community. Stability may vary. ⚠ |
| `dev` | Development branches | All features are gathered in respective versions. Reviewed and merged features will be committed to `dev`. Stability may vary. ⚠ |
| `master` | Main branch | Syncs with [commaai's openpilot `master`](https://github.com/commaai/openpilot) upstream branch. Accepts all pull requests. Does not include all sunnypilot features. Stability may vary. ⚠ |
Example:
* [`release-c3`](https://github.com/sunnyhaibin/sunnypilot/tree/release-c3): Latest release branch for comma three that are verified by trusted testers and the community. Ready to use.
* [`staging-c3`](https://github.com/sunnyhaibin/sunnypilot/tree/staging-c3): Latest staging branch for comma three that are tested by trusted testers and the community. Verification required.
* [`dev-c3`](https://github.com/sunnyhaibin/sunnypilot/tree/dev-c3): Latest development branch for comma three that include all sunnypilot features. Testing required.
| [`dev-c3`](https://github.com/sunnyhaibin/sunnypilot/tree/dev-c3) | • Latest development branch with experimental features | comma three | [`CHANGELOGS.md`](https://github.com/sunnyhaibin/sunnypilot/blob/dev-c3/CHANGELOGS.md) |
</details>
<details><summary><h3>📗 How To's</h3></summary>
---
How-To instructions can be found in [HOW-TOS.md](https://github.com/sunnyhaibin/openpilot/blob/(!)README/HOW-TOS.md).
By default, sunnypilot uploads the driving data to comma servers. You can also access your data through [comma connect](https://connect.comma.ai/).
sunnypilot is open source software. The user is free to disable data collection if they wish to do so.
sunnypilot logs the road-facing camera, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs.
The driver-facing camera is only logged if you explicitly opt-in in settings. The microphone is not recorded.
By using openpilot, you agree to [our Privacy Policy](https://comma.ai/privacy). You understand that use of this software or its related services will generate certain types of user data, which may be logged and stored at the sole discretion of comma. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma for the use of this data.
By using this software, you understand that use of this software or its related services will generate certain types of user data, which may be logged and stored at the sole discretion of comma. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma for the use of this data.
Safety and Testing
----
</details>
* openpilot observes ISO26262 guidelines, see [SAFETY.md](docs/SAFETY.md) for more details.
* openpilot has software-in-the-loop [tests](.github/workflows/selfdrive_tests.yaml) that run on every commit.
* The code enforcing the safety model lives in panda and is written in C, see [code rigor](https://github.com/commaai/panda#code-rigor) for more details.
* panda has software-in-the-loop [safety tests](https://github.com/commaai/panda/tree/master/tests/safety).
* Internally, we have a hardware-in-the-loop Jenkins test suite that builds and unit tests the various processes.
* panda has additional hardware-in-the-loop [tests](https://github.com/commaai/panda/blob/master/Jenkinsfile).
* We run the latest openpilot in a testing closet containing 10 comma devices continuously replaying routes.
Directory Structure
------
.
├── cereal # The messaging spec and libs used for all logs
├── common # Library like functionality we've developed here
├── docs # Documentation
├── opendbc # Files showing how to interpret data from cars
├── panda # Code used to communicate on CAN
├── third_party # External libraries
└── system # Generic services
├── camerad # Driver to capture images from the camera sensors
├── clocksd # Broadcasts current time
├── hardware # Hardware abstraction classes
├── logcatd # systemd journal as a service
└── proclogd # Logs information from /proc
└── selfdrive # Code needed to drive the car
├── assets # Fonts, images, and sounds for UI
├── athena # Allows communication with the app
├── boardd # Daemon to talk to the board
├── car # Car specific code to read states and control actuators
├── controls # Planning and controls
├── debug # Tools to help you debug and do car ports
├── locationd # Precise localization and vehicle parameter estimation
├── loggerd # Logger and uploader of car data
├── manager # Daemon that starts/stops all other daemons as needed
├── modeld # Driving and monitoring model runners
├── monitoring # Daemon to determine driver attention
├── navd # Turn-by-turn navigation
├── sensord # IMU interface code
├── test # Unit tests, system tests, and a car simulator
└── ui # The UI
Licensing
------
<details><summary><h3>Licensing</h3></summary>
openpilot is released under the MIT license. Some parts of the software are released under other licenses as specified.
Any user of this software shall indemnify and hold harmless Comma.ai, Inc. and its directors, officers, employees, agents, stockholders, affiliates, subcontractors and customers from and against all allegations, claims, actions, suits, demands, damages, liabilities, obligations, losses, settlements, judgments, costs and expenses (including without limitation attorneys’ fees and costs) which arise out of, relate to or result from any use of this software by user.
Any user of this software shall indemnify and hold harmless comma.ai, Inc. and its directors, officers, employees, agents, stockholders, affiliates, subcontractors and customers from and against all allegations, claims, actions, suits, demands, damages, liabilities, obligations, losses, settlements, judgments, costs and expenses (including without limitation attorneys’ fees and costs) which arise out of, relate to or result from any use of this software by user.
**THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY. THIS IS NOT A PRODUCT.
YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS.
If you find any of the features useful, consider becoming a [patron on Patreon](https://www.patreon.com/sunnyhaibin) or a [sponsor on GitHub](https://github.com/sponsors/sunnyhaibin) to support future feature development and improvements.
By becoming a patron/sponsor, you will gain access to exclusive content, early access to new features, and the opportunity to directly influence the project's development.
<h3>Patreon</h3>
<a href="https://www.patreon.com/sunnyhaibin">
<img src="https://user-images.githubusercontent.com/47793918/244128051-bc7e913e-a196-4455-926e-23aec9a4bd3b.png" alt="Become a Patron" width="300" style="max-width: 100%; height: auto;">
<img src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" alt="PayPal this" title="PayPal - The safer, easier way to pay online!" border="0" />
</a>
<br></br>
Your continuous love and support are greatly appreciated! Enjoy 🥰
<span>-</span> Jason, Founder of sunnypilot
[^1]:Requires data connection if not using Offline Maps data
[^2]:At least 50 GB of storage space is required. If you have the 32 GB version of comma three, upgrading with a compatible 250 GB or 1 TB SSD is strongly recommended
[^4]:Shortened URL for convenience. Full URL is ```smiskol.com/fork/sunnyhaibin/release-c3```
*Removed driver monitoring timer resetting on interaction if face detected and distracted
* New German translation thanks to Vrabetz and CzokNorris!
*New driving model
*Support for many hybrid Ford models
Version 0.9.6 (2024-02-27)
========================
* New driving model
* Vision model trained on more data
* Improved driving performance
* Directly outputs curvature for lateral control
* New driver monitoring model
* Trained on larger dataset
* AGNOS 9
* comma body streaming and controls over WebRTC
* Improved fuzzy fingerprinting for many makes and models
* Alpha longitudinal support for new Toyota models
* Chevrolet Equinox 2019-22 support thanks to JasonJShuler and nworb-cire!
* Dodge Durango 2020-21 support
* Hyundai Staria 2023 support thanks to sunnyhaibin!
* Kia Niro Plug-in Hybrid 2022 support thanks to sunnyhaibin!
* Lexus LC 2024 support thanks to nelsonjchen!
* Toyota RAV4 2023-24 support
* Toyota RAV4 Hybrid 2023-24 support
Version 0.9.5 (2023-11-17)
========================
* New driving model
* Improved navigate on openpilot performance using navigation instructions as an additional model input
* Do lateral planning inside the model
* New vision transformer architecture
* Cadillac Escalade ESV 2019 support thanks to twilsonco!
* Hyundai Azera 2022 support thanks to sunnyhaibin!
* Hyundai Azera Hybrid 2020 support thanks to chanhojung and haram-KONA!
* Hyundai Custin 2023 support thanks to sunnyhaibin and Saber422!
* Hyundai Ioniq 6 2023 support thanks to sunnyhaibin and alamo3!
* Hyundai Kona Electric 2023 (Korean version) support thanks to sunnyhaibin and haram-KONA!
* Kia K8 Hybrid (with HDA II) 2023 support thanks to sunnyhaibin!
* Kia Optima Hybrid 2019 support
* Kia Sorento Hybrid 2023 support thanks to sunnyhaibin!
* Lexus GS F 2016 support thanks to snyperifle!
* Lexus IS 2023 support thanks to L3R5!
Version 0.9.4 (2023-07-27)
========================
* comma 3X support
* Navigate on openpilot in Experimental mode
* When navigation has a destination, openpilot will input the map information into the model, which provides useful context to help the model understand the scene
* When navigating on openpilot, openpilot will keep left or right appropriately at forks and exits
* When navigating on openpilot, lane change behavior is unchanged and still activated by the driver
* When navigate on openpilot is active, the path on the map is green
* UI updates
* Navigation settings moved to home screen and map
* Border color always shows engagement status. Blue means disengaged, green means engaged, and grey means engaged with human overriding
* Alerts are shown inside the border. Black means info, orange means warning, and red means critical alert
* Bookmarked segments are preserved on the device's storage
* Ford Focus 2018 support
* Kia Carnival 2023 support thanks to sunnyhaibin!
Version 0.9.3 (2023-06-29)
========================
* New driving model
* Improved height estimation and added height tracking in liveCalibration
* Model inputs refactor
* New driving personality setting
* Three settings: aggressive, standard, and relaxed
* Standard is recommended and the default
* In aggressive mode, lead follow distance is shorter and acceleration response is quicker
* In relaxed mode, lead follow distance is longer
* Improved fuzzy fingerprinting for Hyundai, Kia, and Genesis
* Improved thermal management logic
Version 0.9.2 (2023-05-22)
========================
* New driving model
* Reduced turn diving
* Trained on a new dataset
* UI updates
* New experimental mode visualization
* Draw MPC path instead of model-predicted path
* AGNOS 7
* Faster boot time
* Fixes rare no sounds bug
* Fixes bootsplash bug at extreme temperatures
* Buick LaCrosse 2017-19 support thanks to koch-cf!
* Chevrolet Trailblazer 2021-22 support thanks to TurboCE!
* Ford Bronco Sport 2021-22 support
* Ford Escape 2020-22 support
* Ford Explorer 2020-22 support
* Ford Kuga 2020-22 support
* Ford Maverick 2022-23 support
* Genesis GV80 2023 support thanks to JWingate80!
* Honda HR-V 2023 support thanks to AlexandreSato and galegozi!
* Kia Niro EV 2023 support thanks to JosselinLecocq!
* Lexus ES 2017-18 support
* Lincoln Aviator 2021 support
* Škoda Fabia 2022-23 support thanks to jyoung8607!
Version 0.9.1 (2023-02-28)
========================
* New driving model
* 30% improved height estimation resulting in better driving performance for tall cars
* Driver monitoring: removed timer resetting on user interaction if distracted
* UI updates
* Adjust alert volume using ambient noise level
* Driver monitoring icon shows driver's head pose
* German translation thanks to Vrabetz and CzokNorris!
* Cadillac Escalade 2017 support thanks to rickygilleland!
* Chevrolet Bolt EV 2022-23 support thanks to JasonJShuler!
* Genesis GV60 2023 support thanks to sunnyhaibin!
* Hyundai Tucson 2022-23 support
* Kia K5 Hybrid 2020 support thanks to sunnyhaibin!
* Kia Niro Hybrid 2023 support thanks to sunnyhaibin!
* Kia Sorento 2022-23 support thanks to sunnyhaibin!
* Kia Sorento Plug-in Hybrid 2022 support thanks to sunnyhaibin!
* Toyota C-HR 2021 support thanks to eFiniLan!
* Toyota C-HR Hybrid 2022 support thanks to Korben00!
* Volkswagen Crafter and MAN TGE 2017-23 support thanks to jyoung8607!
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.