Commit Graph

1064 Commits

Author SHA1 Message Date
Nayan 0cb0bf8028 Longitudinal: Custom ACC setpoint increments support (#889)
* Add Reverse ACC Change parameter and update cruise control logic

* lint lint lint (and lint has been summoned!)

* Add test for speed adjustment on reverse ACC button presses

* Fix formatting in cruise speed test for reverse ACC button presses

* Fix assertion in cruise speed test for reverse ACC button presses

* Enhance speed adjustment test for reverse ACC functionality

* Refactor speed adjustment test for clarity and consistency in reverse ACC behavior

* Fix metric conversion in cruise speed update for reverse ACC functionality

* custom-acc-speed-increments

* simplify

* remove unused params

* move params & add test

* lets see if this works

* minor cosmetic stuff

* clean up class names & old code

* remove unused import

* moved params to card

* stupid strings

* Add settings for developer reverse acceleration configuration

* Refactor cruise control parameters to use a dictionary for custom acceleration increments

* adjust for the default behavior

* Remove unused param

* Fuck pytest consistently failing on macos. Need to force a fail on the pipeline or I won't have confidence on the tests.

* Revert "Fuck pytest consistently failing on macos. Need to force a fail on the pipeline or I won't have confidence on the tests."

This reverts commit 05bac46a0c.

* Refactor custom acceleration increment handling to improve clarity and initialization

* Refactor AccIncrementOptionControl to accept range and per_value_change parameters for improved flexibility

* Refactor custom acceleration increment handling to improve clarity and functionality

* Adjusting tests

* Static

* no need for space changes

* no need for space changes

* no need for space changes

* Refactor constructor formatting in AccIncrementOptionControl

* Rename

* Meaningless change to test CI

* allow 1/5/10 increments for long press
move developer panel src to /offroad/settings

* update boundary condition for long press

* clamp increments of 5/10 regardless of short or long press

* update tests

* update test for long_press non-standard values

* move to cruise panel

* init

* use cereal

* update tests

* merge

* bump

* clean up

* more clean up

* no more layout warnings

* trying to resolve dev ci merge conflicts

* damn ui preview

* stack layout
enable only with oplong

* bump opendbc

* fix width

* bump tinygrad

* switch to params

* remove cereal changes

* sort params

* cleanup

* more cleanup

* lint

* rename

* split vcruise_helper

* move params to card thread
hide widget for pcm cruise

* simplify tests

* further simplify tests

* tests!!

* Revert "tests!!"

This reverts commit 85310a155e.

* move tuple from init to update_v_cruise

* lint

* temp remove tests to check

* Revert "temp remove tests to check"

This reverts commit da1c96a5db.

* handle exception

* formatting

* handle none condition

* remove from tests

* flip inheritance

* read directly

* set default

* not needed

* refactor inheritence

* rename

* already checks before invoking

* unused

* slight cleanup

* lint

* rename

* diff

* circular

* just 1 parent for now

* fix

* fix increment check with remainder

* red diff

* type hint

* update tests

* clip them

* formatting

* always check toggle visibility

* spaces are free

* hide widgets when disabled

* less

* handle more states

* private instead

* red diff says wuuuut

* fix panel click

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
Co-authored-by: Discountchubbs <159560811+Discountchubbs@users.noreply.github.com>
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2025-06-10 22:48:46 -04:00
Jason Wen f12d181d3b mapd: add to ignored processes list (#993)
* mapd: add to ignored processes list

* executable
2025-06-08 18:13:24 -04:00
Nayan 8da0514955 UI: Add Exit Offfroad button on the home screen (#872)
* 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>
2025-06-07 15:03:13 +02:00
Nayan fa4c3a80b6 device: customizable wake-up behavior (start offroad) (#861)
* allow always offroad at boot

* update description

* move buttons down again

* device boot mode

* update description

* offroad on sleep

* update name & description

* cleanup

* update signal name

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

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
Co-authored-by: Kumar <36933347+rav4kumar@users.noreply.github.com>
Co-authored-by: James Vecellio-Grant <159560811+Discountchubbs@users.noreply.github.com>
2025-06-07 14:41:39 +02:00
Jason Wen ab6d192714 mapd (#989)
* init

* some fixes

* move

* more

* old navd helpers

* bring back cereal

* fix linting

* more

* add to cereal first

* sp events

* lint

* implement in long plan

* fixme-sp

* refactor state machine

* wrong state

* start refactor controller

* some type hints

* init these

* enable debug print

* ui? ui!

* print them out

* fix spinner import

* fix path

* let's use gps chips directly for now

* service missing

* publish events

* no nav for now

* need to sub

* no car state speed yet

* missed event

* Car: `CarStateSP`

* fix tests

* bring back car state speed limit

* fix

* use old controller for now

* fix

* fix source

* type hints

* none for now

* 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

* 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

* lint

* more cleanup

* even less

* license
2025-06-07 03:47:09 -04:00
Kumar 1979b00cc0 UI: Visual indicator for blind spot (#834)
* 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

* Enable blind spot detection and visualization.

Added support for blind spot warnings, including gradient-colored visualizations for left and right blind spots on the on-road UI. Introduced a new "BlindSpot" parameter with related logic for detection and rendering, as well as a settings option for user toggling.

* Cleanup format

Clean

Cleanup and fixes

* Let's backup the BlindSpot setting

* add false for restart-needed

* Add blind spot warning toggle to VisualsPanel

Moved blind spot warning toggle from settings.cc to VisualsPanel and implemented support for dynamic parameter updates. This change introduces a dedicated layout for managing visual settings and improves modularity in the settings interface.

* Update Blind Spot Warnings setting description

Clarified the description to specify that warnings are displayed only if the car supports Blind Spot Monitoring (BSM). This ensures better user understanding of the feature's requirements.

* Avoid diff on settings.cc

* More cleanup

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
Co-authored-by: Nayan <nayan8teen@gmail.com>
2025-06-06 22:39:26 +02:00
royjr debba0c9f9 ui: add brightness controls (#974)
* brightness

* better brightness

* cleanup

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
2025-06-06 21:51:05 +02:00
James Vecellio-Grant 65c512acc0 ui/models panel: liveDelay Toggle (#971)
* Model panel

* Get this outta here and use sunnylink instead

* Remove space

* 'not' because we want gas gating to use e2e/mpc blend

* Add toggles to models_panel.cc

* "keep enabled for stock behavior"

* Add this here

* Cloudlog result

* change cloudlog to debug, and add latsmooth to steer actuator delay.

Need to edit json. Will do locally so when this is merged its a simple ready to go push.

* Cleanup

* Update longitudinal_planner.py

* Remove gasgating for now.. may need to be placed in model

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
2025-06-06 20:43:10 +02:00
Nayan 8849f44e41 ui: sp spinner (#984)
* sp spinner

* fine!!

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
2025-06-06 20:33:33 +02:00
Jason Wen 4d12f880bd Merge branch 'upstream/openpilot/master' into sync-20250605
# Conflicts:
#	opendbc_repo
#	panda
2025-06-05 22:27:18 -04:00
Shane Smiskol 2000f9aff3 raylib: ban non-cached measure_text_ex (#35462)
* add

* use it

* Update pyproject.toml

* many more

* comment
2025-06-05 14:37:12 -07:00
Dean Lee cb22be6079 ui: add support for enabling/disabling the toggle (#35471)
add support for enabling/disabling the toggle
2025-06-05 13:15:12 -07:00
Dean Lee 23ea85dca6 ui: kick watchdog (#35460)
* kick watchdog

* use global

* use monotonic
2025-06-05 13:14:57 -07:00
Andrei Radulescu 3ad74b440c macos: no logcatd and proclogd (#35457)
* don't build proclogd on mac

* don't run logcatd and proclogd on mac
2025-06-05 10:23:27 -07:00
Dean Lee 05fa135be6 ui: make the toggle color match QT (#35466)
make the toggle color match QT
2025-06-05 10:13:44 -07:00
Jason Wen 0c506c868d Controls: Pause lateral control based on blinker state and vehicle speed (#983)
* Controls: Pause lateral control based on blinker state and vehicle speed

* in its own module

* tests

* cleanup tests

* ui

* always refresh on show panel

* remove default

* change to 20 default

* need to update params live

* shorter

* off by default

* lol lint

* use ExpandableToggleRow

* not needed

* shorter

* ci ui preview delay for all offroad

* more

* Revert "more"

This reverts commit 809cfd99da.

* Revert "ci ui preview delay for all offroad"

This reverts commit ab38292fa8.

---------

Co-authored-by: nayan8teen <nayan8teen@gmail.com>
2025-06-05 00:21:58 -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 96cfd5aaf7 ui: add ListView component and settings layouts with declarative UI (#35453)
* add flexible ListView component

* fix crash

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2025-06-04 14:06:50 -07:00
Dean Lee 7ee50e7b87 system/ui: add text measurement caching (#35436) 2025-06-03 23:07:29 -07:00
Shane Smiskol fb6243688d raylib: rename DEBUG_FPS 2025-06-03 14:53:26 -07:00
Dean Lee da58feb869 system/ui: fix wifi network icon resize artifacts (#35440)
fix wifi network icon resize artifacts
2025-06-03 13:08:10 -07: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
Dean Lee d46066225d system/ui: add centralized UIState singleton for global state management (#35397)
* add centralized UIState singleton for global state management

* safely import ui_state

* merge master

* merge master
2025-06-02 10:18:44 -07:00
Dean Lee b59841329b system/ui: refactor AlertRenderer for improved maintainability and consistency (#35421)
refactor alert
2025-06-02 09:07:19 -07:00
Dean Lee 0707114264 system/ui: optimize point allocation, cllipping, and HSLA Color Conversion in model renderer (#35423)
* faster hsla_to_color

* pre-allc points

* use np.clip

* re-alloc points
2025-06-02 08:56:47 -07:00
Dean Lee d488529a94 system/ui: add font_weight parameter to gui_text_box (#35420)
add font_weight parameter to gui_text_box
2025-06-02 08:48:35 -07:00
Adeeb Shihadeh ad58fea2f0 no more pylint (#35418)
* no more pylint

* bump opendbc
2025-06-01 16:34:22 -07:00
Dean Lee 1e702de434 system/ui: add face detection box and driver state icon to DriverCameraView (#35410)
add face detection box and driver state icon to DriverCameraView
2025-06-01 12:39:41 -07:00
Dean Lee 6ece69610b systme/ui: add global ARC_POINT_COUNT and ARC_ANGLES to DriverState (#35415)
optimize arc rRendering with Pre-computed values
2025-06-01 12:39:22 -07:00
Dean Lee 79f3f30c63 system/ui: fix cruise disabled state displaying "?" instead of "–" (#35416)
fix curise disabled state showed '?'
2025-06-01 12:39:09 -07:00
Dean Lee 74541e677c system/ui: fix timeout logc and add pre-defined alerts (#35417)
fix timeout logc and add pre-defined alerts
2025-06-01 12:37:57 -07:00
Dean Lee 1935871267 system/ui: add stream switching capability to CameraView (#35414)
add stream switching capability to CameraView
2025-06-01 12:37:36 -07: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
Dean Lee e734413a21 system/ui: fix path clip issues (#35409)
fix path clip issues
2025-05-31 10:50:41 -07:00
Dean Lee d992d138bf system/ui: enhance polygon fill with AABB clipping and fixed fill color issues (#35408)
enhance polygon fill with AABB clipping and fixed fill color issues
2025-05-31 10:17:15 -07:00
Dean Lee 04115b6417 system/ui: Increase font size to reduce edge aliasing (#35401)
improve text's antialiasing
2025-05-30 23:44:13 -07:00
Maxime Desroches 62a7a19d27 Revert "system/ui/: add face detection box and driver state icon to DriverCameraView" (#35403)
Revert "system/ui/: add face detection box and driver state icon to DriverCam…"

This reverts commit 5e4a4ecec8.
2025-05-30 23:43:28 -07:00
Dean Lee 5e4a4ecec8 system/ui/: add face detection box and driver state icon to DriverCameraView (#35402)
add face detection box and driver state icons
2025-05-30 23:42:35 -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
Dean Lee 45f90b1a55 system/ui: add animation to toggle (#35392)
add animation to toogle
2025-05-30 12:57:37 -07:00
Dean Lee ea9ff45ccb system/ui: fix indentation (#35391)
fix indentation
2025-05-30 11:31:03 -07:00
Trey Moen c4f2cf5299 feat(esim): enable eSIM profile hotswapping (#35324)
* reboot

* no sleep

* test

* back

* wait for sim

* simpler

* retry

* Revert "retry"

This reverts commit f1297160f3c085f43fc0356abb51fb52fa93ea2c.
2025-05-30 11:29:17 -07:00
Dean Lee 1221821761 system/ui: migrate c++ alert renderer to python (#35386)
* rebase

* cache metrics

* measure text

* type hint

* improve

* fix roundness

* rebase
2025-05-30 11:03:38 -07:00
Trey Moen 255b606fe4 feat: remove esim.nmconnection, use AGNOS lte conn (#35389)
* feat: remove esim.nmconnection, use AGNOS lte conn

* unused

* remove old
2025-05-30 10:54:07 -07:00
Dean Lee e51243f2cd system/ui: remove todo and add comment (#35390)
remove todo and add document
2025-05-30 10:53:39 -07:00
Dean Lee a3fab434a4 system/ui: migrate c++ HudRenderer to python (#35359)
* port c++ HudRenderer to python

* cache font metrics

* cache fonts

* improve

* fix bg

* refactor

* rebase

* fix
2025-05-30 09:53:11 -07:00
Dean Lee e6eef5d9d0 system/ui: implement driver monitoring UI (#35358)
* pyui_driver_state_reander

* ddd

* draw_spline_linear

* pre-calculate the face keypoints transform

* remove int convert

* improve

* use draw_spline_linear

* pre-calc points

* state updated

* render to texture

* Revert "render to texture"

This reverts commit 27be710f4c7aca3bb05e94ad69635d292e799ff4.

* cleanup

* dd

* new dataclass

* cleanup

* use content_rect
2025-05-30 09:35:10 -07:00
Dean Lee 29010cae23 system/ui: optimize ModelRenderer (#35369)
* optimize ModelRenderer with vectorized operations

* pre-calculate the exp mode colors

* cleanup

* improve batch map line to polygon

* pre-calc leads
2025-05-30 09:34:56 -07:00
Dean Lee b8f3e7bcf0 system/ui: improve road view with driving state border and clipping (#35385)
improve road view with driving state border and clipping
2025-05-30 07:37:07 -07:00
Dean Lee e42044b833 system/ui: fix lint error (#35387)
fix lint error
2025-05-30 07:36:05 -07:00