* Longitudinal: Distance button hold to toggle Chill/Experimental Mode
* unused
* fix
* no need
* Refactor: Introduce ButtonHoldTracker to manage button hold durations (#593)
Add ButtonHoldTracker for button hold logic and tests
Introduce a new `ButtonHoldTracker` class to manage button hold durations, replacing manual timer handling in `ExperimentalSwitcher`. Updated `ExperimentalSwitcher` to leverage this implementation for cleaner and more modular code. Added comprehensive unit tests for both `ButtonHoldTracker` and `ExperimentalSwitcher` to ensure functionality and edge case coverage.
* Revert "Refactor: Introduce ButtonHoldTracker to manage button hold durations (#593)"
This reverts commit 7ee7e73ce708f9b52aabed23e398ccf94b1834cf.
* less in selfdrived
* pass carparams into child
* tests for cruisehelper
* rename these bad bois (happy now @devtekve? xD)
* Apply suggestions from code review
Co-authored-by: DevTekVE <devtekve@gmail.com>
---------
Co-authored-by: DevTekVE <devtekve@gmail.com>
* init dec
* Update sunnypilot/selfdrive/controls/lib/dynamic_experimental_controller.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update sunnypilot/selfdrive/controls/lib/dynamic_experimental_controller.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* fix static test
* ff
* fix static test
* unitee testt
* Refactor test_dynamic_controller and fix formatting issues
Added a new import for STOP_AND_GO_FRAME and corrected a float initialization for v_ego in MockCarState. Also fixed indentation in the test_standstill_detection method for consistency.
* Refactor test indentation for dynamic controller tests
Adjust indentation and formatting in test_dynamic_controller.py to ensure consistency and readability. This change does not alter functionality but improves the maintainability of the test code.
* Migrated to pytest using claude
* Integrate radar parameter into dynamic controller's pytest tests
Added a `has_radar` parameter to the test functions in the dynamic controller's pytest file. This allows each function to run both with and without radar inputs, thus enhancing the coverage of our test cases.
* Disabling unittest file to allow checks on the pipeline to succeed.
Pending to remove this, but leaving it to validate the move to pytest is okay before merging
* Replace unittest with pytest for dynamic controller tests
Migrated dynamic controller tests from unittest to pytest for improved readability and maintainability. Refactored mock setup using pytest fixtures and monkeypatching while preserving test coverage.
* new line...
* Refactor and modularize DynamicExperimentalController logic
Moved DynamicExperimentalController logic and helper functions to a dedicated module for better readability and maintainability. Simplified longitudinal planner logic by introducing reusable methods to manage MPC mode and longitudinal plan publishing. Adjusted file structure for dynamic controller-related components and updated relevant imports.
* Add missing import for messaging in helpers.py
The `messaging` module was added to resolve potential issues with undefined references. This change ensures all required imports are present, improving the reliability and maintainability of the code.
* Format
* Formatting
* rebase fix
* Refactor MpcSource definition and update references.
Moved MpcSource enum into LongitudinalPlanSP for better encapsulation. Updated references in helpers.py to use the new path. This change improves code organization and maintains functionality.
* Format
* Refactor DEC into a dedicated longitudinal planner class
Move Dynamic Experimental Control (DEC) logic to a new `DecLongitudinalPlanner` class for better modularity and maintainability. This simplifies the `LongitudinalPlanner` by delegating DEC-specific behavior and consolidates related methods into a single file. Additionally, redundant code was removed to improve readability and reduce complexity.
* **Refactor DEC module structure for better organization**
Moved DEC-related files from `dec` to `lib` for improved clarity and consistency within the project structure. Updated all relevant import paths to reflect the new locations. Ensured functionality remains unaffected with these changes.
* static test
* static
* had moved to car_state
* cleanup
* some more
* static method
* move around
* more cleanup
* stuff
* into their own
* rename
* check live param
* sync with stock
* type hint
* unused
* smoother trans
* window time
* fix type hint
* pass sm.frame from plannerd
* more fixes
* more
* more explicit
* fix test
* Revert "fix test"
This reverts commit 635b15f2bc11a8ddd5c4194546d51df33de324a0.
* Revert "pass sm.frame from plannerd"
This reverts commit a8deaa69b89f599f86ae517827a570789566e079.
* use internal frame
* update name
* never used
* this is why it was never using DEC
* more logs
* slight cleanup
* remove to fail test
* update name
* more
* rename
* move around
* explicit type hints
* move to constants py
* Revert "explicit type hints"
This reverts commit c205497b
* more
* don't set to exp mode initial if DEC is active
* use walrus for None
* Revert "use walrus for None"
This reverts commit 5f2396d490deded87d43e378bd9e74738fe307b0.
* fix wrong typing and variable name
* use walrus (needs cleanup)
* fix tests
* revert smooht lead for now
* dec: how good is FirstOrderFilter?
* Update dec.py
* dec: faster ?
* Revert "dec: faster ?"
This reverts commit 40259cd22ad23d01e63a9faa47a0cf0edcc73399.
* Revert "Update dec.py"
This reverts commit 3f29ccbd99c538e9f3d11c6178bc90b0a2ed3f7b.
* Revert "dec: how good is FirstOrderFilter?"
This reverts commit 01e06df542894b468fb9460c60bca1b09bed4eec.
* Update slow-down logic and constants for improved behavior
Adjust the slowdown scaling factor and anomaly handling to refine behavior without abrupt resets. Modify constants to increase window size and adjust probabilities and distances for smoother adaptation. Update version to reflect the new changes.
* Fix lead detection fallback for weighted average check.
Add a fallback value of -1 when computing the weighted average to prevent errors caused by invalid or None values. This ensures robust lead detection and avoids potential crashes or undefined behavior.
* visuals for DEC
* try this
* add opacity
* should be active and dimmer
* even dimmer
* Update dec.py
* Update constants.py
* use another method for drawing
* migrate to sp only
* fix
* init
---------
Co-authored-by: rav4kumar <meetkumardesai@gmail.com>
Co-authored-by: Kumar <36933347+rav4kumar@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: DevTekVE <devtekve@gmail.com>
* MADS: Honda: Cluster icons and events updates
* bump opendbc
* nuke them all to test
* try this
* bring them back
* fix icons
* MADS: Honda: Allow steering
* rename
* match stock
* bump submodules
* Install user SecOCKey to params
* Move it to launch_chffrplus.sh/launch
* Move it to card.py
* Basic error check
* Catch Exception to suppress the linter
* Make it local to secOC section
* gate pairing device if system time is invalid
* update translations
* Check for internet connectivity
* Update selfdrive/ui/qt/widgets/prime.cc
* Update selfdrive/ui/qt/widgets/prime.cc
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Using sort by title made things look out of order. If we want to organize them a bit furter, we can do that manually before moving forward with a release.
* Remove contributors section from release drafter template
The contributors section has been removed to simplify the release notes format. This change ensures a cleaner and more focused release draft template.
* Update release-drafter config with new labels and options
Added 'exclude-labels' to filter out 'no-changelog' items and improved category settings with 'collapse-after'. Introduced 'sort-by' for title-based sorting to enhance organization.
* Add configuration files for Release Drafter
This commit introduces two configuration files for the Release Drafter. These include release-drafter.yml which will help categorize changes into features, bug fixes, and maintenance, and workflows/release-drafter.yml which defines a GitHub actions workflow to update release drafts.
* Work on both master branches
* Meh static and i dont need this tbh
* sentry: log fingerprints and save exceptions
* no point
* remove unused imports
* use deprecated
* have to do this
* remove
* cap
* no duplicate
* typo
* don't use deprecated method
* wrap them around
* do this instead
* new endpoint
* no need
* more
* event and checks
* comments
* missed events
* retry 2 times is enough
* rename to radar tracks
* fix data type
* more rename
* bump opendbc
* drain first
* put it behind a toggle lol
* re-enable
* update comments
* revert lead smoothing
* Revert "revert lead smoothing"
This reverts commit 872267970c3dd1dbfd64a5bdd21d2e1b9ea600bf.
* real events and radard engagement
* only show up for hyundai with mando
* update translations
* bump opendbc
* fix event name
* update description
* move above
* translations
---------
Co-authored-by: rav4kumar <meetkumardesai@gmail.com>