Commit Graph

10252 Commits

Author SHA1 Message Date
James Vecellio-Grant 57dc9152bb Networking: Fix Prime Level Five For Users in Roaming Only Networks (#986)
Fix prime level five for users in roaming only networks.
2025-06-05 00:10:26 -04:00
DevTekVE 9e3f33dd16 Merge remote-tracking branch 'comma/master' into sync-20250604
# Conflicts:
#	opendbc_repo
#	panda
#	selfdrive/ui/translations/main_ar.ts
#	selfdrive/ui/translations/main_de.ts
#	selfdrive/ui/translations/main_es.ts
#	selfdrive/ui/translations/main_fr.ts
#	selfdrive/ui/translations/main_ja.ts
#	selfdrive/ui/translations/main_ko.ts
#	selfdrive/ui/translations/main_pt-BR.ts
#	selfdrive/ui/translations/main_th.ts
#	selfdrive/ui/translations/main_tr.ts
#	selfdrive/ui/translations/main_zh-CHS.ts
#	selfdrive/ui/translations/main_zh-CHT.ts
2025-06-04 21:55:32 -04:00
Dean Lee 2e41d959ac ui: add main UI entry point (#35422)
* add new main UI entry point

* cleanup

* mv to selfdrive/ui

* fix imports

* handle_mouse_click

* use ui_state

* remove ui_state from gui_app

* setup callbacks

* handle clicks

* put layouts in a dict

* update state in render

* rebase master

* implement settings sidebar

* rename files
2025-06-03 23:12:36 -07:00
Dean Lee 7ee50e7b87 system/ui: add text measurement caching (#35436) 2025-06-03 23:07:29 -07:00
Dean Lee fc0bb72147 selfdrive/ui: enable conflate mode in VisionIpcClient to prevent stale frame rendering (#35445)
use conflate mode in VisionIpcClient to prevent stale frame rendering
2025-06-03 23:06:46 -07:00
Shane Smiskol 2dcab07be7 Revert "selfdrive/ui: add experimental mode toggle button with visual indicator" (#35442)
Revert "selfdrive/ui: add experimental mode toggle button with visual indicat…"

This reverts commit ae8076e729.
2025-06-03 14:59:07 -07:00
Dean Lee 68b043606c ui: fix alert timeout detection using wrong FPS constant (#35438)
fix alert timeiout detection using wrong FPS constant
2025-06-03 14:52:43 -07:00
Dean Lee ae8076e729 selfdrive/ui: add experimental mode toggle button with visual indicator (#35439)
add experimental mode toggle button with visual indicator
2025-06-03 14:51:56 -07:00
Shane Smiskol 928dc6259b Revert "ui: fill the bg with disengaged color if not started" (#35441)
Revert "ui: fill the bg with disengaged color if not started (#35434)"

This reverts commit 10dc40db04.
2025-06-03 14:51:15 -07:00
Nayan e6f55a7eea ui: visuals panel (#919) 2025-06-03 16:05:02 -04:00
Dean Lee 10dc40db04 ui: fill the bg with disengaged color if not started (#35434)
fill the bg with disengaged color if not started
2025-06-03 11:07:42 -07:00
Kumar c7767bddfe UI: prep for custom model rendering (#920)
* 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>
2025-06-03 07:12:08 -04:00
Harald Schäfer 5505338ffb model replay: less frames and less complexity (#35427)
* Revert "ci: faster model_replay (#34036)"

This reverts commit 847a5ce1f3.

* fix conflict

* trigger on test change

* zst

* give start and end frame

* unused flags

* no print

* whitespace

* fix plotting

* slice correct

* no print

* Just start from beginning
2025-06-02 21:54:37 -07:00
Dean Lee f78ba72a85 ui: add timeout check for unresponsive system detection (#35433)
add time out to check if messages have stopped arriving
2025-06-02 21:32:13 -07:00
Shane Smiskol 6f6adc10a8 lagd: disable in release (#35426)
* disable in release

* pass

* one liner

* Update selfdrive/locationd/lagd.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* test

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-02 21:29:05 -07:00
Jason Wen 9c28583171 ui: include MADS enabled state to engaged check (#976)
* ui: include MADS enabled state to `engaged` check

* let's bump it up
2025-06-03 00:28:55 -04:00
Alexandre Nobuharu Sato 108790870e Multilang: Update pt-BR translations. (#35428) 2025-06-02 21:18:34 -07:00
Lee Jong Mun 9568f64c57 Multilang: kor translation update (#35429)
kor translation update
2025-06-02 21:15:08 -07:00
Shane Smiskol 8695134b08 Faster lagd test (#35430)
* disable in release

* pass

* one liner

* saves 1s so far

* clean up

* fix

* Revert "one liner"

This reverts commit 5f419b5692565fc7ddc2abe9a40112fdc47ffe9e.

Revert "pass"

This reverts commit 47d260e76a9cb1310b95ea1ff83ab7f8808be96d.

Revert "disable in release"

This reverts commit 1782718b61891d87cbb9daa1c4c65314f505cee4.

* clean up

* there's more

* no mocker!
2025-06-02 21:14:53 -07:00
Dean Lee 28bf362f69 ui: add safety check to prevent ui overlay access to invalid data (#35432)
check ui_state.started
2025-06-02 21:13:21 -07:00
Shane Smiskol 1a84b05bde lagd: make method static 2025-06-02 20:53:11 -07:00
Jason Wen 1ee7b4ad0e ci: higher delay between UI Preview screenshots (#978) 2025-06-02 23:49:29 -04:00
Dean Lee 29afd667cc move onroad/driving stuff from system/ui to selfdrive/ui (#35425)
* mv system/ui/onroad->selfdrive/ui/onroad

* mv ui_state

* fix import path

* fix imports

* mv cameraview

* remove from application
2025-06-02 13:27:17 -07:00
github-actions[bot] bb36b6687c [bot] Update translations (#35424)
Update translations

Co-authored-by: Vehicle Researcher <user@comma.ai>
2025-06-02 11:44:00 -07:00
Jason Wen a31a39624c Car: CarStateSP (#972)
* Car: `CarStateSP`

* fix tests

* just skeleton for now

* bump
2025-06-01 22:46:04 -04:00
DevTekVE 82487ba136 Merge remote-tracking branch 'comma/master' into sync-20250531
# Conflicts:
#	.github/workflows/selfdrive_tests.yaml
#	common/params_keys.h
#	msgq_repo
#	opendbc_repo
#	panda
#	selfdrive/car/card.py
#	selfdrive/car/tests/test_car_interfaces.py
#	selfdrive/car/tests/test_models.py
#	selfdrive/test/process_replay/process_replay.py
#	selfdrive/ui/qt/offroad/settings.cc
#	selfdrive/ui/translations/main_ar.ts
#	selfdrive/ui/translations/main_es.ts
#	selfdrive/ui/translations/main_fr.ts
#	selfdrive/ui/translations/main_ja.ts
#	selfdrive/ui/translations/main_ko.ts
#	selfdrive/ui/translations/main_pt-BR.ts
#	selfdrive/ui/translations/main_th.ts
#	selfdrive/ui/translations/main_tr.ts
#	selfdrive/ui/translations/main_zh-CHS.ts
#	selfdrive/ui/translations/main_zh-CHT.ts
2025-05-31 14:12:30 -04:00
Alexandre Nobuharu Sato d2f417ee63 Multilang: update pt-BR translation. (#35394)
Multilang: update pt-BR translations
2025-05-31 10:17:55 -07:00
programanichiro 7cd6db6f19 Multilang: update ja translation. (#35399)
ja translation
2025-05-30 21:03:07 -07:00
Adeeb Shihadeh 2f80854644 sensord: rewrite in Python (#35353)
* py sensord

* fix up mmc

* temp

* port over accel

* lil more

* kinda works

* rm that

* gpiochip

* mostly there

* lil more

* lil more

* irq timestamps

* fix ts

* fix double deg2rad

* test passes

* fix up mypy

* rm one more

* exception

* lint:

* read in all events

* bump that

* get under budget:

* accel self test

* gyro self-test

* keep these readable

* give it more cores

* debug

* valid

* rewrite that

---------

Co-authored-by: Comma Device <device@comma.ai>
2025-05-30 13:31:07 -07:00
Nayan be406d8f83 ui: move model selector to models panel (#957)
* models panel

* models panel

* fix ui report

* stupid scroll

* move model selector to models panel

* cleanup whitespaces

* cleanup bad merge

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
2025-05-30 13:06:09 +02:00
Nayan d9d32ebea2 UI: Add Search Capability to Branch Selector (#814)
* Create sync-dev.yml

* Update selfdrive_tests.yaml

* Update sync-dev.yml

* Update sync-dev.yml

* Update sync-dev.yml

* add search capability in branch selector

* maybe i should remove test code

* include

* reduce needed includes

* add newline for eof

* no changes needed in upstream file

* not sure why this was here

* try to resolve merge conflicts for dev squash

* try to resolve merge conflict

* No need for this for the time being

---------

Co-authored-by: Discountchubbs <159560811+Discountchubbs@users.noreply.github.com>
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
Co-authored-by: DevTekVE <devtekve@gmail.com>
2025-05-30 12:06:50 +02:00
Nayan 31e22b0a1d ui: add models panel (#956)
* models panel

* models panel

* fix ui report

* stupid scroll

* cleanup whitespaces

* Update selfdrive/ui/sunnypilot/qt/offroad/settings/models_panel.cc

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
2025-05-30 09:06:15 +02:00
Shane Smiskol a385ed59cf Invalid LKAS setting alert: custom text per brand (#35377)
* draft

* use it

* friendly

* clean up

* CC

* Apply suggestions from code review

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* Update selfdrive/selfdrived/events.py

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2025-05-29 14:24:39 -07:00
YassineYousfi 618645f1d7 Revert "Vegan Filet o Fish model " (#35376)
Revert "Vegan Filet o Fish model  (#35240)"

This reverts commit b4d6b52edd.
2025-05-28 20:45:53 -07:00
Shane Smiskol 1db3644a2b car interfaces: pass in if release build (#35373)
* dashcam for release

* get car

* fixes

* more fixes

* bump

* bump
2025-05-28 17:41:38 -07:00
Shane Smiskol 3d53df644e Live calibration reset button (#35364)
* allow reset button too

* better lang

* copy

* fix

* meh we don't do this anywhere else
2025-05-27 20:27:54 -07:00
Shane Smiskol b119006f6a Cycle onroad when changing offroad-only toggles (#35361)
* 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
2025-05-27 20:20:38 -07:00
Shane Smiskol 83ba27d7c0 Update lane departure warning toggle live (#35363)
update LDWS live
2025-05-27 19:42:02 -07:00
discountchubbs cf94bb130b Merge branch commaai/openpilot:master into branch sunnypilot/sunnypilot:master-new 2025-05-27 16:28:45 -04:00
github-actions[bot] 6a38dd1315 [bot] Update translations (#35354)
Update translations

Co-authored-by: Vehicle Researcher <user@comma.ai>
2025-05-26 19:44:21 -07:00
Cameron Clough 742e30495a Reapply "ui: rewrite installer using raylib, remove qt (#33756)" (#35308)
This reverts commit 472feefcfd.
2025-05-26 17:25:56 -07:00
Alexandre Nobuharu Sato 1fb5744685 Multilang: update pt-BR translations (#35351) 2025-05-26 13:08:54 -07:00
Alexandre Nobuharu Sato 427a61ab12 fix Wi-FI typo on networking.cc (#35350) 2025-05-26 13:07:56 -07:00
github-actions[bot] 8ffcddce30 [bot] Update translations (#35348)
Update translations

Co-authored-by: Vehicle Researcher <user@comma.ai>
2025-05-26 11:02:14 -07:00
DevTekVE 9b7502bd85 model: Refactor modeld with modular runners and split model support (#877)
* Refactor model runner methods for improved abstraction.

Moved slicing logic to a private `_slice_outputs` method and decoupled `_run_model` for clearer subclass implementation. Removed redundant `output` attribute in `ModelState` to streamline data handling.

* Add output parsing to model_runner and remove duplicate logic

Integrates an output parser directly into `model_runner` for streamlined inference and parsing. Removes redundant parser initialization from `modeld` to avoid duplication and enhance maintainability.

* Reordering

* linter

* linter

* Refactor model handling with `ModelData` abstraction

Introduce a `ModelData` class to encapsulate model and metadata logic, improving code clarity and modularity. Refactor `ModelRunner` to manage multiple models and add conditional handling for fallback scenarios. Adjust `TinygradRunner` to validate and use the new `ModelData` structure.

* Refactor model handling to use dictionary-based structure

Replaces the model list with a dictionary keyed by model type to improve clarity and maintainability. Updates related logic and ensures consistent handling of model metadata and inputs. Adds `slice_outputs` implementation to the `TinygradRunner` for proper output parsing.

* Refactor model runners to support policy and vision separation

Introduced `TinygradPolicyRunner`, `TinygradVisionRunner`, and `TinygradSplitRunner` to enable separate handling of policy and vision models. Updated `TinygradRunner` initialization and input preparation to accommodate modular processing. Adjusted `modeld` to utilize the new runners, ensuring compatibility with separated model workflows.

* Refactor model runner initialization and simplify logic

Introduce `get_model_runner` to centralize model runner selection logic, replacing multiple conditional instantiations. Simplify the handling of model metadata by removing fallback logic and restructuring output slicing to enforce proper loading of model data. These changes improve code maintainability and clarity.

* Refactor model data access for TinygradRunner initialization

Update references to access nested artifact properties and align with structural changes to the model data schema. This simplifies input shapes handling and ensures compatibility with updated model attributes.

* Refactor imports and clean up redundant code.

Removed unused imports and improved formatting for clarity and maintainability. These changes simplify the codebase by eliminating unnecessary dependencies and ensuring consistency.

* Refactor model output parsing with specialized parsers.

Introduce abstract `_parse_outputs` method to standardize parsing logic. Add `SplitParser` for specialized parsing in `TinygradVisionRunner` and `TinygradPolicyRunner`. This improves modularity and paves the way for easier parser customization.

* Add parser for model output processing in modeld_v2

Introduce a new `Parser` class to handle parsing and processing of model outputs, including MDN, binary cross-entropy, and categorical cross-entropy outputs. This modularizes the logic, improves clarity, and prepares for handling various types of model data.

* Add `input_shapes` property to model runners

Introduce a new `input_shapes` property in the abstract base class and its implementation in derived classes. This provides a standardized way to access the input shapes of models, improving clarity and consistency in the model runners.

* Refactor model runner to use private `_model_data` attribute

Replaced public `model_data` with private `_model_data` for improved encapsulation. Updated all references and property accessors accordingly. Simplified model type handling by using raw types where applicable.

* Remove debug print statement from model_runner.py

The unnecessary `print(model_type)` statement was removed as it served no functional purpose in the code. This improves code cleanliness and avoids unintended console output during execution.

* Refactor `_parse_outputs` call in `run_model`.

Replaced the use of `self.parser.parse_outputs` with `self._parse_outputs` for clarity and consistency. Updated method signature to align with the revised usage.

* Refactor model output parsing for clarity and scope separation

Moved specific parsing logic (e.g., lane_lines, lead) from `parse_model_outputs` to `parse_policy_outputs` to better align with functional responsibilities. This improves modularity and readability while maintaining existing functionality.

* Refactor model_runner to simplify result handling

Renamed variable `result` to `parsed_result` for clarity and removed unnecessary slicing during model output parsing. These changes improve code readability and maintain consistency within the `run_model` method.

* Adjust _parse_outputs method signature in model_runner

    Updated the method signature of _parse_outputs to accept a single np.ndarray instead of a dictionary. This aligns with the intended data structure and ensures consistency across subclasses implementing this abstract method.

* Refactor ModelRunner to enforce abstract base class compliance

Updated `ModelRunner` and its subclasses to properly inherit from `ABC` while refactoring methods to ensure compliance with Python's abstract base class standards. Streamlined the handling of `_parse_outputs` and added a new `input_shapes` property for improved functionality.

* Fix buffer length issue in 20Hz model initialization

Adjusted `FULL_HISTORY_BUFFER_LEN` by adding +1 for `full_features_20Hz` to address compatibility issues with the current FoF model. Added a comment noting potential failure for other models with this adjustment.

* Refactor TinygradRunner to remove abstract methods.

Simplified the TinygradRunner class by removing unnecessary @abstractmethod decorators and redundant method definitions. This streamlines the code and aligns it more effectively with its current usage and implementation.

* Refactor model runner classes and enhance type annotations

Simplified model runner implementations, added type annotations, and improved code readability and maintainability. Introduced new type definitions, updated metadata handling, and standardized input/output parsing across all runner classes. Minor comment update in `modeld.py` for clarity.

* Refactor model runner classes with detailed docstrings.

Enhanced class and function docstrings across model_runner.py for better clarity and maintainability. Descriptions now include detailed explanations of attributes, purposes, and workflows to aid understanding and future development.

* Refactor model runner classes and add TICI hardware optimization

Simplified and clarified class definitions, comments, and functionality for ModelRunner subclasses. Introduced the use of QCOM environment variable on TICI for potential hardware acceleration. Enhanced input/output handling and error reporting across Tinygrad and ONNX implementations.

* Update parser import and usage to use CombinedParser

Replaced the Parser class with CombinedParser in model_runner.py. This change ensures consistency with the updated parsing logic, aligning with the latest requirements for combined model output handling.

* Refactor TinygradRunner hierarchy for modular parsers

Reorganized the TinygradRunner and its specialized runners (Vision, Policy, and Supercombo) into a cleaner, modular structure using composable classes. This consolidates parser logic, removes redundancy, and simplifies initialization by leveraging a shared base class with a dictionary-based parser method.

* Refactor model runners to use ModularRunner as abstract base.

Introduce a new `ModularRunner` class to enforce a consistent interface across model runners. Updated existing runners, including `ModelRunner`, `SupercomboTinygrad`, `PolicyTinygrad`, and `VisionTinygrad`, to extend `ModularRunner`. Added abstract methods and properties to enhance modularity and code maintainability.

* Refactor model runners into modular components.

This commit separates the logic for Tinygrad, ONNX, and split runners into clearly defined modules and components. It introduces `PolicyTinygrad`, `VisionTinygrad`, `SupercomboTinygrad`, and centralized helpers for cleaner architecture. The changes improve modularity and maintainability of the model running and parsing workflows.

* Simplify imports and clean up unused code in ONNXRunner.

Removed unused imports and redundant environmental variables to streamline the codebase. Consolidated necessary imports and organized type definitions for improved readability and maintenance.

* Standardize imports and add model data validation.

Updated import paths to ensure consistency across modules by using `openpilot` as the base. Introduced validation in `_parse_outputs` methods to handle cases where `_model_data` is not initialized, preventing potential runtime errors.

* Remove unused import and fix whitespace in runners

The unused import `ModelData` was removed from `tinygrad_runner.py` to clean up the code. Additionally, extraneous whitespace was corrected in `onnx_runner.py` for improved readability and consistency.

* Remove unnecessary blank line in import statements

Cleaned up import section by removing an extra blank line. This helps maintain consistency and adheres to code style conventions.

* BROKEN!! Staging code but its not gonna work. Also I realized we need to run the split models in 2 stages because the output of one is immediately needed for the input of the other. We might handle it inside of the model_runner instead

* update smooth

* Revert "update smooth"

This reverts commit c335712e6e1ee189459ce34dfc9d4028feb9470f.

* match case made this very hard to read.

* shouldnt be there

* Refactor to allow TR (soon TM)

* TR 7 is .1

* metadata

* .2=3

* Remove redundant comments and clean up conditional blocks in modeld.py.

* Undoing wrong buffer

* Refactor model initialization and adjust ONNX runner import

Reorganized numpy input buffer initialization and updated `temporal_idxs` logic for better clarity and efficiency. Conditional import for ONNXRunner added for non-TICI platforms to optimize imports. These changes improve maintainability and compatibility across platforms.

* Update CURRENT_SELECTOR_VERSION to 4

Bump the CURRENT_SELECTOR_VERSION constant from 3 to 4 to reflect changes in the selector logic or requirements. This ensures compatibility with the updated selector version while maintaining the minimum required version as 2.

* Add output_slices property to model runners

Introduce output_slices property to provide access to the output slices for individual and combined models. This ensures consistent handling of output slices across vision and policy models, improving modularity and usability.

* Refactor imports to use SplitModelConstants consistently

Updated import references to use the renamed `SplitModelConstants` class for consistency across files. This change ensures clarity and better alignment with the updated class naming convention.

* Refactor buffer initialization and desired curvature handling

Refactored model input buffer initialization for improved clarity and consistency, leveraging dynamic shape calculations. Extracted `process_desired_curvature` method to encapsulate logic for handling 3D and non-3D cases. Simplified temporal index generation and related calculations for better maintainability.

* Refactor desire reshape dims logic in modeld.py

Adjust logic for setting desire reshape dimensions to handle `is_20hz_3d` separately. This improves clarity and ensures proper handling of different model runner configurations.

* Fix off-by-one error in full_desire buffer initialization

The full_desire buffer length was mistakenly set to full_history_buffer_len + 1. This change corrects it to match the intended full_history_buffer_len, ensuring proper alignment with other buffers.

* Simplify desire reshape logic by removing unused condition.

Removed the `is_20hz_3d` condition and associated reshape logic since it is no longer needed. This streamlines the code and avoids unnecessary checks for unused configurations.

* Refactor buffer initialization for 20Hz model variants

Reorganized buffer initialization logic to prioritize the 20Hz_3D condition. This improves clarity and ensures specific handling of different 20Hz configurations. Adjusted the order of conditions to streamline execution flow.

* Refactor: Move `get_action_from_model` and constants to `Model` class to improve encapsulation and readability.

* 12 line reshaping red diff

* .2 to match old models delay

* mypy fixes

* Revert "12 line reshaping red diff"

This reverts commit 8c7280f629043f0485749e2536a20af74c9209b2.

* mypy

* remove this

* Fix desired curvature for models which do not output desired_curvature

* fix FoF

* flip policy and vision outs to allow FoF and tomb raider to live in harmony using conditional `if 'this' in outs:'`

* noqa

* single

* sunnypilot modeld.py

* action

* overrides methodology

* combine split outputs to its own method

* comments

* Fix static checker line length

* static will fail on line length
lines:

286,
206,
70 - 77,
159,
168

* Address E501 line length violations

* This will make TR better while not effecting FoF/VFF at all

* Reduce this to one conditional and just call normally in vision/policy

* Align with upstream in our own way.

* check for desired curvature in outputs first

* outputs

* Use a cleaner import method

* Fix output

* Clean up some values

* Only call on init

* slight cleanup

* names!!!!!!!!!

* Refactor overrides structure to support key-value pairs.

The overrides structure now uses a list of key-value pairs instead of fixed lat/long fields. This change improves flexibility, allowing dynamic addition of override parameters. Code adjustments ensure backward compatibility and consistent behavior throughout the application.

* Refactor: Use local variable for SplitModelConstants

Introduce a local `constants` variable to replace repeated access to `SplitModelConstants`. This simplifies code readability and adheres to linter recommendations for line length.

* Refactor model constant handling to improve modularity

Replaced direct usage of model constants with dynamic access through model runners for better scalability and maintainability. This change centralizes constant definitions, reduces redundancy, and ensures clearer integration with different model types.

---------

Co-authored-by: discountchubbs <alexgrant990@gmail.com>
Co-authored-by: Discountchubbs <159560811+Discountchubbs@users.noreply.github.com>
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2025-05-25 17:10:16 +02:00
Jason Wen b939efc773 Hyundai CAN: re-enable auto-enable radar tracks (#945)
* 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
2025-05-25 00:51:58 -04:00
Jason Wen b51043770b CarControlSP: live params (#943)
* car: initialize sunnypilot interface immediately

* init

* Revert "car: initialize sunnypilot interface immediately"

This reverts commit 2e0fc4d87eb312a3a74a61bb8cbc780e33efbfc7.

* show int

* show int

* work properly with cereal

* unused

* in its own module

* bump

* not yet

* not yet

* list comp and use structs directly

* allow default key if needed

* lint

* send it with None

* bump
2025-05-24 16:20:57 -04:00
Shane Smiskol c24f349807 GM: low steer speed alert in CarState (#35332)
* simple

* rm

* bump to master

* update refs

* update refs
2025-05-23 19:43:17 -07:00
Kacper Rączy 97ad175243 Reapply "Enable online lag learning (#34968)" (#35327)
* Revert "Revert "Enable online lag learning (#34968)" (#35322)"

This reverts commit 9c40c48729.

* Update ref commit

* Update ref

* Update ref commit
2025-05-24 02:31:17 +00:00
Shane Smiskol 70644e2317 VW: low steer speed alert in CarState (#35331)
* move to opendbc

* func

* clean up

* bump

* move cmt

* bump
2025-05-23 16:54:50 -07:00