Commit Graph

9872 Commits

Author SHA1 Message Date
Jason Wen f93404294b use toList 2025-01-26 00:15:50 -05:00
Jason Wen b2843947bc need that param too 2025-01-26 00:13:23 -05:00
Jason Wen 10848c91cb old qt 2025-01-26 00:13:02 -05:00
Jason Wen 06b7718bcc show demo car 2025-01-26 00:03:37 -05:00
Jason Wen 6e99de6acb set while initializing 2025-01-25 23:56:26 -05:00
Jason Wen 6a797cdd0e confirm/cancel 2025-01-25 23:46:04 -05:00
Jason Wen 1073f54245 Merge branch 'master-new' into fcr
# Conflicts:
#	opendbc_repo
2025-01-25 23:43:23 -05:00
Jason Wen c706fc3f55 different prompt in onroad/offroad 2025-01-25 23:42:30 -05:00
Jason Wen 8801d1eb8e test_processes: update ref logs to 7e5a84b 2025-01-25 22:51:46 -05:00
Jason Wen 7e5a84b897 Merge branch 'upstream/openpilot/master' into sync-20250125
# Conflicts:
#	opendbc_repo
#	panda
#	selfdrive/modeld/fill_model_msg.py
#	selfdrive/pandad/pandad.cc
#	selfdrive/test/process_replay/ref_commit
#	selfdrive/ui/qt/home.h
#	selfdrive/ui/qt/offroad/developer_panel.cc
#	selfdrive/ui/qt/offroad/developer_panel.h
#	selfdrive/ui/tests/test_ui/run.py
#	selfdrive/ui/translations/main_ar.ts
#	selfdrive/ui/translations/main_de.ts
#	selfdrive/ui/translations/main_es.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-01-25 22:50:03 -05:00
Jason Wen e4e3a7404c more precision search 2025-01-25 22:47:48 -05:00
Jason Wen 5bed14233c set actual fingerprint 2025-01-25 22:36:12 -05:00
Jason Wen 2e15bfbe92 single list is fine 2025-01-25 22:22:51 -05:00
Jason Wen 999feae5f3 search with user input 2025-01-25 21:25:06 -05:00
Mauricio Alvarez Leon c57f535238 add adb toggle to developerPanel (#34459)
* add adb toggle to developerPanel

* translations + toggleOrder

* initial docs

* move adb.sh into toggle

* finish up docs

* QProcess

* adbToggle h

* translations

* vanish translations

* description

* tr

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2025-01-25 13:24:24 -08:00
Andrei Radulescu 754882c985 reset: auto-format is back (#34479)
* Revert "update factory reset"

This reverts commit 533206be2f.

* keep reset message

* Update selfdrive/ui/qt/setup/reset.h

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2025-01-25 12:29:48 -08:00
Shane Smiskol 1d86afdf83 carName -> brand (#34474)
* bump

* brand

* body is lower
2025-01-25 01:39:06 -06:00
Kacper Rączy 93a8a18b6d locationd: frequency based bad observation resiliance and recovery (#34476)
* Improve it

* Fix static

* Fix test_consistent_timing_spikes test

* Fix tests

* Comment

* Remove crap
2025-01-25 05:38:20 +00:00
Jason Wen 7544a47505 QFrame 2025-01-24 22:45:30 -05:00
Jason Wen c51e74e6af ui: Vehicle panel in settings (#617)
* ui: Vehicle panel in settings

* fix click
2025-01-24 21:57:46 -05:00
Jason Wen 45de7664bc ui: move alpha longitudinal control toggle to Developer panel (#34467)
* ui: move alpha longitudinal control toggle to Developer panel

* show toggle in ui preview

* Revert "show toggle in ui preview"

This reverts commit 4b12964726b966a906840099ecc1d584e307b614.

* write to CarParamsPersistent on ui init

* no need for new msg

* missed

* no icon
2025-01-24 18:24:56 -08:00
Adeeb Shihadeh 45276652b8 update translations 2025-01-24 16:23:23 -08:00
Shane Smiskol 7803ff4f62 Revert "update translations"
my lupdate is broken?!

This reverts commit 9982b03e47.
2025-01-24 13:50:36 -08:00
Shane Smiskol 9982b03e47 update translations 2025-01-24 13:49:59 -08:00
Adeeb Shihadeh d0f5e5a09d Revert "Move alpha longitudinal control toggle to developer panel (#34223)"
This reverts commit d4a6f62c40.
2025-01-24 10:47:14 -08:00
Dean Lee 770c59eb4e Revert "ui: show driver camera in popup on demand" (#34412)
Revert "ui: show driver camera in popup on demand (#33459)"

This reverts commit 5f3625436c.

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2025-01-23 22:12:19 -08:00
DevTekVE c392b2b269 modeld: legacy MLSIM driving models support (#595)
* Add buffer length parameter for enhanced frame handling

Introduce a configurable `buffer_length` parameter to `DrivingModelFrame` to support dynamic buffer sizes, enabling better handling of different frame rates like 20Hz. Updates include necessary adjustments in buffer initialization, copying logic, and related model inputs for improved compatibility and flexibility.

* Rename variable `len` to `length` to avoid shadowing built-in.

Replaced the usage of `len` with `length` across the code to prevent conflicts with Python's built-in `len` function. This improves code clarity and reduces potential errors or misunderstandings in variable usage.

* Fix spacing inconsistency in modeld.py

    Added a missing newline for better code readability and consistency. This change has no impact on functionality but improves code formatting.

* Move numpy_inputs initialization to correct position

Repositioned the `numpy_inputs` initialization to align with the input shape processing logic. This ensures consistency in buffer management and clarifies the flow of code execution related to input handling.

* Add 20Hz model state, smart input, and model switcher classes

Introduce `ModelState20Hz`, `ModelSmartInput`, and `ModelSwitcher` for enhanced modularity and flexibility in modeld. Refactor `ModelState` to inherit from these new classes, enabling support for 20Hz processing and smart input initialization. Update associated files to handle the new buffer length parameter and metadata management.

* Refactor `modeld` to streamline feature handling logic

Simplified feature processing for both standard and "smart input" modes by consolidating logic into reusable methods. Updated variable naming, formatting, and spacing for consistency and readability. This refactor enhances maintainability and reduces redundancy in feature update operations.

* Silence debug print statements and use cloudlog for warnings.

Commented out a debug print statement in `commonmodel.cc` to reduce noise. Replaced `print` statements with `cloudlog.warning` in `model_smart_input.py` for improved logging consistency and better integration with the logging system.

* Clean up formatting and fix minor style inconsistencies

Removed unnecessary blank lines and adjusted spacing to standardize code style across the file. These changes improve readability without altering functionality or logic.

* Refactor modeld logic and remove unused 20Hz and smart inputs

Eliminated `ModelSmartInput`, `ModelSwitcher`, and `ModelState20Hz` classes, simplifying model state handling. Centralized model processing within a unified `ModelState` class and moved related code into `sunnypilot/modeld_20hz`. This improves maintainability by removing unused features and consolidating model execution logic, aligning with current system requirements.

* clean

* Remove debug print statement in commonmodel.cc

The `printf` statement logging buffer movement details was removed as it is unnecessary for release builds. This helps streamline the code and avoid excessive console output during execution.

* Refactor model handling for 20Hz and introduce model runners

Introduce ModelRunner abstraction with TinygradRunner and ONNXRunner to streamline model handling for TICI and non-TICI hardware. Added support for dynamic input preparation and 20Hz models while simplifying the model parsing logic. This improves modularity, readability, and extensibility for future updates.

* Remove unused import and fix import order in model_runner.py

This commit removes the unused 'dtypes' import from tinygrad.tensor and adjusts the import order for cleaner code. These changes enhance readability and maintain coding standards.

* Add is20hz field to custom.capnp schema

Introduce a new boolean field `is20hz` to the `custom.capnp` schema. This allows the system to identify 20Hz-specific configurations or data processing. No changes to existing behavior are introduced for non-20Hz cases.

* Add Meta20hz class for 20Hz model message handling.

Introduces a new Meta20hz class for filling 20Hz model messages, encapsulating functionality for curvature, lane lines, road edges, and more. Refactored `modeld.py` to utilize the new class, improving modularity and maintainability. Minor adjustments were made to initialize and handle model metadata.

* Refactor import paths to align with `openpilot` structure.

Updated several import statements to use the `openpilot` namespace for better consistency and organization. This aligns the sunnypilot components more closely with the overall project structure.

* Refactor modeld to support 20Hz models and modularize runners

Replaced legacy runner logic with a unified ONNX and Tinygrad runner to support 20Hz models. Centralized model metadata management and optimized input preparation for adaptability. Updated curvature handling and output parsing for improved modularity and maintainability.

* Add 20Hz metadata handling for model predictions

Introduce `Meta20hz` class for 20Hz-specific metadata and implement dynamic loading of meta model classes in `meta_helper.py`. Update `fill_model_msg.py` to use the new metadata structure, ensuring seamless integration with 20Hz models. Adjust imports in `model_runner.py` to align with project structure.

* "Refactor modeld_20hz to modeld_v2 with cleanup"

Refactored `modeld_20hz` module to `modeld_v2` for improved clarity and consistency. Removed unused code and aligned imports across modules to reflect the new structure. Enhanced maintainability by restructuring model-related files and updating references accordingly.

* Refactor variable names and adjust imports for clarity.

Renamed `len` to `length` to avoid conflict with the built-in function and improve readability. Reorganized imports in `fill_model_msg.py` for better structure and consistency.

* "Add missing newline at end of file in __init__.py

Ensure proper formatting by adding a newline at the end of the file. This adheres to POSIX standards and improves compatibility with some tools and version control systems."

* Handle model runner initialization errors gracefully

Wrap the model runner initialization in a try-except block to catch and log exceptions. This ensures that failures during initialization are logged with detailed information, improving debugging and error tracing.

* Refactor curvature calculation for clarity and reuse.

Introduce a dedicated `get_curvature_from_output` function to handle desired curvature retrieval, improving code readability and reusability. Replace redundant logic in curvature calculation with the new function to streamline the flow.

* Make 20Hz-specific variables conditional in modeld.py

Moved the initialization of 20Hz-specific variables to be conditional based on the `is_20hz` flag. This ensures that unnecessary memory allocations are avoided when the model is not running at 20Hz, improving efficiency and clarity.

* cleanup

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2025-01-24 05:01:14 +00:00
Maxime Desroches 52f935da74 model_replay: check modelExecutionTime (#34457)
* metric

* fix

* format

* table

* test failure

* cleanup

* 3

* 4
2025-01-23 16:14:02 -08:00
programanichiro 645418e754 Multilang ja translations (#34444)
* Japanese translation

* Adjusting the translation to avoid truncation.
見切れ翻訳を調整。

* Fixes some issues1.
指摘事項調整。

* update

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2025-01-23 15:35:15 -08:00
Jason Wen 213b977774 Car: Migrate sunnypilot CarControl to its own cereal (#606)
* carControlSP and move MADS to outside structs

* publish it

* apply to all car controller

* migrate sunnypilotParams

* migrate madsEnabled

* tldr

* convert to capnp

* unused

* wrong module

* fix name

* cancer is right (all tests should be passing now)

* bump opendbc
2025-01-23 10:47:16 -05:00
Shane Smiskol 02ec9e5bf8 dmonitoringmodeld: clean exit (#34454)
* nice exit

* correct spacing

* sentry
2025-01-22 20:39:52 -08:00
ugtthis 8613530b46 Keyboard UX/UI: Access to caps lock - clearer icons (#34362)
* add-slash-to uppercase

* caps-lock-works

* leaner and simpler

* this is simpler

* better...

* simpler

* rm comments

* clearer naming

* make more explicit

* change to SHIFT_KEY

* change name

* works - no more double tap

* better and works

* more readable

* simpler but still readable

* more self documenting

* whoops

* add back - needed for if string requirment not meant
2025-01-22 19:51:54 -08:00
Jason Wen 3e7240516e Car: Migrate sunnypilot CarParams to its own cereal (#604)
* sp flags

* pass CP_SP to card and car interfaces

* CP_SP in radar interface

* bump opendbc

* use dataclass like old times

* bump opendbc

* write to params for controls

* fix test models

* fix

* need to use copy instead

* fix data type

* add service

* more

* fix

* Revert "fix"

This reverts commit 74723d7fb2.

* Revert "fix data type"

This reverts commit 02355f44df.

* missed

* more

* no more lagging

* Reapply "fix data type"

This reverts commit dbf1b8583f.

* Reapply "fix"

This reverts commit 9cbce9968a.

* Revert "Reapply "fix""

This reverts commit 1871919b63.

* Revert "Reapply "fix data type""

This reverts commit 5e95752fd5.

* no longer

* Revert "no longer"

This reverts commit 66ee1ba151.

* Reapply "Reapply "fix data type""

This reverts commit 670a384333.

* Reapply "Reapply "fix""

This reverts commit 42f09f955c.

* only for car params sp

* rename

* fix more test

* no need for process replay

* pass stock car params to sp set car params

* pass stock car params to sp set car params

* deprecate CarParams.sunnypilotFlags to CarParamsSP.flags

* missed arg

* fix tests

* tests fixed

* need to pass this too

* must generate cp_sp!

* fix typing

* must be initialized prior can comm callback!

* no more cancer (@devtekve)

* remove more cancer

* Refactor `get_non_essential_params_sp` to simplify arguments (#612)

* Refactor 'get_non_essential_params_sp' function calls in tests

In both `test_latcontrol.py` and `process_replay.py`, simplified the function calls to 'get_non_essential_params_sp'. Removed an unnecessary call to 'get_non_essential_params'. This change makes the code cleaner and more efficient by reducing redundancy in the function calls. This modification also ensures consistency across different code files.

* Refactor get_non_essential_params_sp to take car_params.

Simplify parameters by modifying `get_non_essential_params_sp` to use `car_params` as input. Adjust related calls in test files and process replay to match the updated method signature. This improves code clarity and reduces redundancy.

* bump opendbc

* Refactor parameter handling for `get_params_sp`.

Removed unnecessary reassignment of `car_params` in calls to `get_params_sp`, ensuring a cleaner and more streamlined code structure. This change improves code clarity and eliminates redundant operations. All relevant assertions and behavior remain unaffected.

* bumping opedbc

* bump opendbc

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
2025-01-22 14:22:32 -05:00
DevTekVE 9fe4d7ecc7 ui: Add Wi-Fi scan button to network settings (#608)
* Implemented custom Networking class for sunnypilot UI

This modification introduced a new 'NetworkingSP' class for the sunnypilot user interface. It's based on the existing Networking class, but tailored to the specific needs of the sunnypilot UI. This class adds a new 'Scan' button to the Wi-Fi screen and implements an additional layout to accommodate both 'Scan' and 'Advanced' buttons. It also contains updates to the file inclusions in 'settings.cc' to use the new class. Moreover, the accessibility of several member variables in the original Networking class has been updated from 'private' to 'protected'. This change enhances the modifiability and extensibility of the class structure.

* Add Spanish translations for networking scan messages

Added translations for "Scan" and "Scanning..." in the Spanish localization file. These updates ensure proper display and functionality in the networking scan feature for Spanish-speaking users.

* updating lang files

* Refactor networking component and clean up unused code.

Removed unnecessary comments and unused includes to enhance readability and maintainability. Refactored variable declarations for consistency and streamlined layout adjustments in the networking UI code.
2025-01-22 12:04:11 +01:00
DevTekVE 8d7315fa28 ci: Add support for "settings_network" and "settings_network_advanced" scene in UI tests (#609)
* Add support for "settings_network" scene in UI tests

Updated the workflow and test script to include the "settings_network" scene. Introduced a new setup function for "settings_network" and registered it in the scene-to-function mapping. This ensures proper handling and testing of network settings in the UI.

* Static analysis lol

* Add support for "settings_network_advanced" scene

Extend UI tests and workflow to include the "settings_network_advanced" scene. Updated the YAML workflow and test script to handle this new scene for comprehensive coverage.
2025-01-22 11:35:12 +01:00
commaci-public dcb05af228 [bot] Update Python packages (#34431)
* Update Python packages

* codespell

* update refs

---------

Co-authored-by: Vehicle Researcher <user@comma.ai>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2025-01-21 21:04:19 -08:00
Adeeb Shihadeh bb09fd0d4e pandad: reset safety mode on exit (#32103)
* boardd: reset safety mode on exit

old-commit-hash: dd18ccbf0a9ab72ace0a7533632d5939c0719953

* comment

old-commit-hash: 01b598e8dde93548f7783be19b1cb37d22fadc23

* log it

old-commit-hash: 181c4d412e9e3a9c576934e16fc26a9b6e07a117

* logmessaged might not be alive

old-commit-hash: 7483ba0eac42875a822df97596d23ff277bf3865

* reproduction, manager gets SIGTERM from python_process

old-commit-hash: b90402bd776c3933bfe3dd60998f9913b4bd0068

* even smaller repro

old-commit-hash: 03dd430b7131da2b48243714df0513c6a1e594f0

* should work

old-commit-hash: 388c4273385ee4c67b1a229ccb9abac6dd94dd0f

* let's not change that rn

old-commit-hash: d057299058503e8fb792b5a765d0da4af6bef943

* something like this

old-commit-hash: 123d6ed845d662aec2bd95d1ccf9c2782308d693

* pandad.cc should receive same SIGTERM and exit

old-commit-hash: afc5ef6b916c54ac2ec471d144f601ead71250cb

* stash

old-commit-hash: e02e0dc488de51c5d40d227c4c2202ba40436d8d

* remove debugging

old-commit-hash: ac170d0ca32a4285be22e28ec7730fcba3d0697d

* remove debugging

old-commit-hash: 50949600aeed231347cc4c600a8a7d24accde674

* match behavior

old-commit-hash: 5f24167c58caf98b641af2f63f839015e404c349

* convention

old-commit-hash: 1664113a232c4b1a3aa67073e9e8cebef414518f

* systemd option

old-commit-hash: 95183ff77842fcb9592715db07396be28d778197

* manager option

old-commit-hash: 2071893299cb32c3a7cd8a444d8d386c5fa96511

* just curious if this works, change to ELM327 on exit

old-commit-hash: 9674ed525134aa03f995942b18163cb047a59c5b

* Revert "just curious if this works, change to ELM327 on exit"

This reverts commit d4ae294d419dc3d787d11dee4474799f3fb2acef.

old-commit-hash: 6d24edd1635ddd0b8ed68a4a4fc8aaaa88984e45

* check onroad

same update

* useless

* comment

* fix

* debug

* Revert "debug"

This reverts commit 2bb138610ea7b26d8610d36ef3f0bbb2d6ada388.

* Update common/util.h

* double wait does not work, blocking in signal handler not good, exit on do_exit, change to SIGINT, use existing stop to support ctrl+c

nope

* organize?

* no sys

* None

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2025-01-21 18:32:33 -08:00
Shane Smiskol 475c9ba497 bump msgq (#34445)
* Reapply "Reapply "bump msgq (#34410)" (#34443)"

This reverts commit cb6eb4f3cf.

* here too

* running locally in loop to make sure this was fluke

* running locally in loop to make sure this was fluke
2025-01-21 18:25:14 -08:00
Shane Smiskol cb6eb4f3cf Revert "Reapply "bump msgq (#34410)" (#34443)"
This reverts commit 45903adaf6.
2025-01-21 16:48:28 -08:00
Shane Smiskol 45903adaf6 Reapply "bump msgq (#34410)" (#34443)
* Reapply "bump msgq (#34410)"

This reverts commit 895c78b09a.

* fix exit early
2025-01-21 16:34:27 -08:00
Korben ffa5834225 Update main_fr.ts (#34437)
French language update. The only constraint encountered was the “Developer” menu, which I had to abbreviate to “Dév.” because its translation ("Développeur") went beyond the interface.
2025-01-21 10:11:58 -08:00
Jason Wen d08fd25784 Events: Migrate sunnypilot onroad events to its own cereal (#603)
* Events: Migrate sunnypilot onroad events to its own cereal

* more

* slightly more

* typing

* fix more

* fix mads state machine tests

* readjust order

* fix event

* abstract

* need these

* move around

* let's make sure it cleared on every loop

* Update selfdrive/selfdrived/alertmanager.py

Co-authored-by: DevTekVE <devtekve@gmail.com>

* use upstream custom struct

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
2025-01-20 22:18:19 -05:00
Jason Wen 4730a192b1 Revert "Events: Migrate sunnypilot onroad events to its own cereal" (#602)
Revert "Events: Migrate sunnypilot onroad events to its own cereal (#598)"

This reverts commit c9961f1590.
2025-01-20 21:50:54 -05:00
Jason Wen 5f10529a88 Device: Offroad Mode (#596)
* try scrolling

* Revert "try scrolling"

This reverts commit 18cc0828c0.

* init

* event

* add logic

* last bit

* expose toggle

* update toggle

* add offroad btn to it

* fix

* update
2025-01-20 16:59:54 -05:00
Jason Wen bc67effb6d ui: Keep power buttons clickable while onroad (#601) 2025-01-20 16:04:56 -05:00
Jason Wen c9961f1590 Events: Migrate sunnypilot onroad events to its own cereal (#598)
* Events: Migrate sunnypilot onroad events to its own cereal

* more

* slightly more

* typing

* fix more

* fix mads state machine tests

* readjust order

* fix event

* abstract

* need these

* move around

* let's make sure it cleared on every loop

* Update selfdrive/selfdrived/alertmanager.py

Co-authored-by: DevTekVE <devtekve@gmail.com>

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
2025-01-20 13:23:44 -05:00
royjr c96e7ee4fd ui: update arabic translations (#34433)
Update main_ar.ts
2025-01-20 10:02:51 -08:00
Joshua Mack eba4cfbca5 Multilang: update Spanish translation (#34434)
* Test slightly shorter name

* Confirm translations & add Wi-Fi pairing

* Revert "Test slightly shorter name"

This reverts commit b5aca0939132de45993441c5578323be70d79b89.
2025-01-20 10:02:32 -08:00
Jason Wen 837eea06a4 MADS: remove controlsAllowedLat to maintain compatibility with stock cereal (#597)
* MADS: remove `controlsAllowedLat` to maintain compatibility with stock cereal

* unused

* bump panda
2025-01-19 20:48:16 -05:00
Alexandre Nobuharu Sato f23d7bf995 Multilang: update pt-BR translation (#34427) 2025-01-19 17:02:42 -08:00