- Implemented a new toggle for enabling Dynamic Experimental Control (DEC) in longitudinal settings.
- Removed previous implementation for DEC from general settings.
- Updated accessibility based on longitudinal control status.
* refactor: move to sp ui
* pr suggestion
* no need to check pcm just oplong
* no color, big front, long check
* Fix Rainbow Mode & Y Positioning
* Move param to uiscene
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
Co-authored-by: nayan <nayan8teen@gmail.com>
* formatting
* more
* create directory if does not exist
* mypy my bt
* policy param catch exceptions
* handle all params with exceptions
* more
* single method
* define types in init
* rename
* simpler op enabled check
* more mypy stuff
* rename
* no need for brake pressed
* don't reset if gas pressed
* type hint all
* type hint all
* back to upstream
* in another pr
* no longer need data type
* qlog
* slc in another pr
* use horizontal accuracy
* use horizontal accuracy
* set core affinity for all realtime processes
* unused
* sort
* unused
* type hint and slight cleanup
* from old implementation
* use directly
* combine pm
* slight more cleanup
* type hints
* even more type hint
* Revert "slc in another pr"
This reverts commit 3a6987e6
* Revert "in another pr"
This reverts commit a29bccff12.
* rebump
* no need to check alive
* use it directly
* fix test
* refactor
* use gps data directly
* quote...?
* lint
* fix tests
* use CC.longActive
* user confirm in another PR
* rename
* fix import
* params fix
* no more
* fix
* drop new state machine for now
* more fixes
* internalize output
* unused
* rearrange
* auto draft
* rename
* this
* no
* no need
* use existing
* wrong cruise speed
* fix
* not used for now
* Revert "not used for now"
This reverts commit f0083d6241.
* some
* use frames instead
* split speed limit resolver out of slc
* no need to pass sm
* fix params
* test init
* use frame instead of time
* track session
* some tests
* too limiting
* bump
* always reset state
* end session if long_active but slc inactive at any given time
* off
* no warning in this PR
* no speed factor engage type yet
* wide open
* no
* introduce disabled, no longer transitions at inactive
* fix tests
* no more tempinactive
* clean
* rename
* offset default > off
* new tests, fixes controller
* more tests
* not really needed yet
* lint
* fix
* some more tests
* wrap
* more
* more
* use vCruiseCluster for set speed
* init better
* finish it up
* no
* typo
* one method state machine
* refactor preactive timeout check
* refactor new session check
* directly return statuses
* comments
* v_target
* refactor speed limit resolver
* turn off debug
* more resolver refactor
* no longer needed
* lint
* more lint
* fix
* move around
* fix events
* update event
* already happens while in enabled
* add carstateSP
* less
* Speed Limit Control -> Speed Limit Assist
* in another PR
* more rename
* overriding state
* fix
* make sure to return the correct type
* sync with latest
* housekeeping
* use v cruise cluster instead
* fix var
* show it in UI!
* actually show it
* update event texts
* todo
* no override for now
* wrong timer!
* add vtarget and atarget
* fix
* handle no speed limit events
* fix size
* unused
* skip preActive if init max speed was already reached
* display last known speed limit and its state with SLA
* pending event
* much shorter disable guard
* update events
* convert max init for metric
* fix even if unused atm
* just use it
* red for all
* not disabled
* rename
* 10s pre active
* kumar wants it higher, blame him
* fix
* pcm long only
* some fixes
* rename
* use consolidate method to evaluate set speed status
* init non pcm cruise
* tests
* disable non pcm long state machine for now
* lint
* lint
* let the non PCM party begins
* fix event
* update event
* use speed limit final last
* only do direction checks if preActive
* use resolver
* use it directly
* no longer applies
* do it globally
* non pcm long: adapting or pending unused
* use button events instead of raw vals
* need to initialize
* move
* what?
* what #2???
* cst!
* circular
* slight fixes for tests
* change up checks for user confirm
* get buttonEvents at 100 hz and process for 20 hz consumption
* get v cruise cluster from outer loop
* Revert "get v cruise cluster from outer loop"
This reverts commit be8068e8ab.
* Revert "get buttonEvents at 100 hz and process for 20 hz consumption"
This reverts commit a739d4d437.
* don't need
* do not allow target speed confirm if inactive
* do not allow preActive if no valid speed limit
* gimme them arrow pls
* less
* descriptive direction
* fix event
* update cs in 100 hz
* Revert "don't need"
This reverts commit 1eec763be7.
* missed
* wrong
* stop
* throw them to helpers class
* property
* hold speed behavior changes
* abstract it
* use converted to check last set speed change
* Revert "do not allow target speed confirm if inactive"
This reverts commit 9840e74e
* pre active too short
* slight fixes
* fix tests
* linty lint
* speed limit changed hold timer for non pcm long
* should be 0
* less loopy
* some gates
* special sauce for sla
---------
Co-authored-by: nayan <nayan8teen@gmail.com>
Co-authored-by: DevTekVE <devtekve@gmail.com>
* init model favorites
* fix fav buttons
* fix blank favs
* switch to ref
* new favs at top
* remove debug prints & add some comments
* button style
* fix current selection
* !@%#$%(@^%$#(@!%#^
* add last update date to folders
* record feedback with LKAS button
* fix alert test
* slightly simplify feedbackd
* "Audio Feedback Saved" upon time expiration or early stop
* earlySend --> earlyStop
* userFlag --> userBookmark
* RecordAudioFeedback param/toggle
* add audioFeedback test
* simplify feedbackd
* send bookmark regardless of toggle, show feedback event with higher priority
* add userBookmark to selfdrived sm
* fix mispelled param name
* default off and move to main
* segmentNum --> blockNum, earlyStop --> lastBlock
* preserve audioFeedback
* get rid of lastBlock and just send bookmark saved at the end
* update raylib side
* update toggle description and add raylib toggle
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* excessive actuation
* text
* software
* check
* logic
* whoops
* dont want to lose alert unless user interacts with it
* implement
* try x2
* counter
* try to false trigger
* use livepose
* need to check for livePose noise
* cmt
* nl
* add back
* organization
* setVisible and isVisible consecutively don't work
* style
* cant do this sadly
* actually we can!
* clean up
* clean up
* clean up
* need to match torqued, paramsd, lagd, etc. (fix op sim)
* store/send mic audio with toggle
* script to extract audio from logs
* change description and add translation placeholders
* microphone icon
* apply toggle in loggerd
* add legnth and counter
* startFrameIdx counter
* Revert "change description and add translation placeholders"
This reverts commit 7baa1f6de99c6ebe9f9906193da7e83dad79511a.
* send mic data first and then calc
* restore changed description/icon after revert
* adjust fft samples to keep old time window
* remove extract_audio.py since audio is now stored in qcam isntead of rlog
* qt microphone recording icon
* Revert "remove extract_audio.py since audio is now stored in qcam isntead of rlog"
This reverts commit 7a3a75bd8db5376d1e442a3ba931c67550b5f132.
* move extract_audio script and output file by default
* remove length field
* recording indicator swaps sides based on lhd/rhd
* use record icon from comma body
* Update toggle description
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* update raylib toggle desc cause I did earlier
* microphone --> soundPressure, audioData --> rawAudioData
* cleanup unused var
* update README
* sidebar mic indicator instead of annotated camera
* improve logic readability
* remove startFrameIdx and sequenceNum
* use Q_PROPERTY/setProperty so that update() is actually called on value change
* specify old id for SoundPressure
* fix typo
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add lagd
* add live torque params
* clean up
* too many openpilot is's
* add back
* fix weird pattern causing segfault
* cu
* 10 more lines for "all complete"
* Revert "10 more lines for "all complete""
This reverts commit de1ad0b7386f4c5d9967ea733edbe5bf1df5039c.
* one line
* exit offroad btn on offroad-home
* Remove alert for Always-Offroad.
Replaced with header "Always Offroad Active"
* refresh state when device wakes up
* cleanup
* cleaning
* Add pulsing glow effect to ExitOffroadButton
Introduced a QTimer-based mechanism to create a pulsing glow effect around the ExitOffroadButton. This enhances visual feedback by animating the outline with varying alpha transparency, improving UI responsiveness and aesthetics.
* move custom asset to sunnypilot
---------
Co-authored-by: DevTekVE <devtekve@gmail.com>
* Refactor and extend ModelRenderer for custom Sunnypilot logic
Refactored `ModelRenderer` to `ModelRendererSP` with enhanced features such as lane line updates, path drawing, and lead management for Sunnypilot. Introduced new methods for model updates, lead drawing, and improved path rendering with experimental mode support. Ensured compatibility by integrating with Sunnypilot-specific HUD and camera components.
* Update selfdrive/ui/sunnypilot/qt/onroad/model.cc
* Refactor `ModelRenderer` for modularity
Moved constants and `get_path_length_idx` function to the header file for reuse and clarity. Updated `drawPath` and related methods to better handle surface dimensions, improving rendering flexibility. Made key functions virtual to allow further customization in derived classes.
* Cleaning logic on ModelRenderSP
Given that we've refactored slightly the original ModelRender, we no longer need to duplicate the logic on our own implementation
---------
Co-authored-by: DevTekVE <devtekve@gmail.com>
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* bad
* Revert "bad"
This reverts commit 6b5475dd90c3a29c00d946c94d726563cbec6179.
* notify param
* doesn't need to live in low level paramcontrol, rename param
* should work
* fix
* disable while engaged
* note
* fix
* just in case
* param is cleared by manager -- this was all to ensure manager got our `started` transition
* clean up
* and that
* rm
* negative better than generic thing
* timer is needed as it's not clean to fix case where you toggle while no ignition -- you can't go onroad + this allows some nice tolerance time for user to switch 2 toggles
* these aren't required or useful
* add to description
* no longer unlive
* allow reset button too
* another pr -- Revert "allow reset button too"
This reverts commit 5d03edddc80d8625ceba5d5178b2781e9d10d9c9.
* rm space from i18n string
* car is powered on
* Hyundai CAN: re-enable auto-enable radar tracks
* check if radar tracks config bit is already enabled
* only show success message if already enabled
* test if it would actually skip
* 5 bytes only
* tested skipping, revert
* lint
* move to opendbc right after fping
* more
* lint
* bump
* draft
* here too
* fixes
* fix
* ugh more fix, wifiManager is craze
* more
* be optimistic and let refresh happen naturally, the immediate refresh causes some paths/active connect to temporarily be unavailable
selfdrive/ui/qt/network/wifi_manager.cc: DBus call error: "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the re
ply timeout expired, or the network connection was broken."
selfdrive/ui/qt/network/wifi_manager.cc: DBus call error: "Object path cannot be empty"
* nm is slow -- it takes 2s to commit to disk, and dbus errors are raised if you try again while previous is running (this is an ubuntu 24.04 bug)
* nice experience
* rm
* minor
* clean up
* self-explanatory
* rename
* rm this too
* revert
* draft
* Revert "draft"
This reverts commit 15283d977880fc60b8f9732772256e8337d6ac8e.
* Reapply "draft"
This reverts commit 8629921b0086ca71b88746d77ec7b8d3af3cd289.
* rm colors
* trinary, bit more code
* choose default when disabled
* only if enabling, wait for disable as normal
* remove original binary toggle
* clean up
* collapse
* clean up wifimanager
* update comment
* lite is a word