Skip to content

Vinlearn - #32

Closed
IRIT-able wants to merge 1544 commits into
NotAutopilot:nap-releasefrom
IRIT-able:vinlearn
Closed

IRIT-able wants to merge 1544 commits into
NotAutopilot:nap-releasefrom
IRIT-able:vinlearn

Conversation

@IRIT-able

Copy link
Copy Markdown

No description provided.

stefpi and others added 30 commits June 11, 2026 12:58
* addIceCandidate dispatcher

* clean

* fix lint
- patch `aioice` to only get host address of active network interface (wlan0 when on wifi, ppp0 when not)
- use common webrtc session between `startStream` and `addIceCandidates`
- first time connection speed ups
  - move imports to top of file to move delay to webrtcd server start up not first connection
  - warm up webrtc stack by creating a webrtc connection object to import all submodule classes
* improve lat maneuver report

* rm torque jerk

* add jitter maneuver

* add to 30mph

* add jerk

* color

* more state

* override

* abort reason

* abort

* rm text

* pad for small text
…ommaai#38172)

* add param that requests keyframe

* set keyframe request to false on cleanup

* clean

* timing and errors

* remove other changes

* clean diff

* clean diff

* clean up live adaptation params and functions

* better function names

* fix syntax

* remove unused var

* clean diff
* revert addIceCandidate changes

* remove accidental file
…i#38177)

* add param that requests keyframe

* set keyframe request to false on cleanup

* timing and errors

* video_enabled option and ability to add video later

* remove loggerd changes from this PR

* video enabled default to on, clean identifier

* request keyframe on start regardless of video enabled or not

* move error handling additions to different PR
* webrtc add error handling middleware

* clean diff
* move streamrequest to models file, prewarm in webrtcd

* cleanup

* debug

* change print to logger.info
* mici ui: add branch switcher

* add icon
clip: add support for wide camera frames in clip rendering
Co-authored-by: Jason Young <46612682+jyoung8607@users.noreply.github.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* scons: enforce max file size for build products

* only for minimal build

* enable

* fix build product size check
* ui: fix false "NO PANDA" flash on screen wake

* ui: use recv_time for panda timeout instead of frame counting

* ui: use sm.alive for panda timeout
* ui: ensure zoom accommodates full view area in AugmentedRoadView

* fix: use _content_rect

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
…7328) (commaai#37474)

* split out and refactor

* simplify

* rm extra line

* use threadpoolexecutor to handle exceptions

* simplify

* improve

---------

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

* wip: try this

* origin/master

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
* refactor

* remove accidental change

* clean error handler

* clean structure

* only is other stream is active and enabled

* better structure

* remove enabled None default

* update comment
* athenad and webrtcd updates

* remove feature stream services from webrtcd split

* stream encoder thread

* reduce diff

* wire webrtc to livestream camera encoder

* request livestream camera switch service

* remove camera list in favour of init camera field

* remove cors

* clean

* remove unused

* remove extra try except

* add back exception trace

* add stream road camera info to stream cameras

* fix

* clean diff

* clean diff

* add testJoystick only on body

* fix camera list

* remove reference to future service

* encode all cameras and swap in video track in webrtc

* clean

* explicitly gate bridge send

* clean leftover

* initial idea

* add a watchdog to kill the process after disconnect or onroad

* start camerad and stream encoderd as well

* add message handler even without bridge

* remove carState when offroad

* transition to onroad works for body, kill for car not working

* turn off stream processes on started car

* cereal messaging sub field allow list, carparamspersistent, ping webrtcd to see when awake

* fix imports

* fix and increase max retries

* reduce max retries, increase timeout

* timeout on wait for connection

* remove cereal sub message and update process config to run on body ignition

* debounce 5s on teardown

* update error messages

* fix tear down crash

* clean

* clean

* fix lint
* merge selfdrive/debug/ into tools/scripts/

* rm unused

* single timings script

* lil more

* profiling is scripts quality
* move webcam to system/camerad/

* lil more
daggerhashjack and others added 26 commits September 2, 2026 18:58
Device scons died because panda stayed on nap-dev after a pull that
only updated opendbc. Host scons cannot see that.
Comma 4 NAP settings imported BigMultiValueParamToggle without the
module, so ui crashed on import. Drop NAPAdaptiveAccel from the boot
snapshot; it is not hardware. Wrap the long MADS string, stop **kwargs
into toggle_item_sp, and ignore unittest assertIn for codespell.
Replay clicks Pedal Calibration while Params IsOffroad is false.
Catch ToolSafetyError in the mici launcher instead of killing ui.
Unset NAPLateralEngagementMode also crashed the tizi MADS buttons.
RadarPoint.measured is under deprecated in car.capnp. Reading p.measured
kills the onroad UI.
SimpleNamespace hid the onroad crash. Build a real RadarPoint without
setting measured; p.measured is a capnp AttributeError.
The exclusive NAPScriptRunning lock spawned pedal cal on a tmux pts
and blocked the second tap. Launch run_script on the display instead.
Keep require_offroad. Manager no longer drops pandad for that flag.
GuiScrollPanel was constructed and never used, so pedal cal steps
drew off-screen. Follow new p() lines, keep Exit enabled while
running, and stop rebooting the Comma on Exit.
STATE=5 (FAULT_TIMEOUT) is where the interceptor sits whenever no 0x551
streams, so the standing Pedal Unavailable warning stayed on screen all
drive even with a healthy pedal. STARTUP/TIMEOUT now count as usable in
the alert inputs; hard faults, frame timeout, and authority FAILED still
warn.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the host alert test from inventing a named FAULT_INVALID on
GAS_SENSOR. tesla_preap.dbc only names 0..5; unnamed nibbles still
warn.
Pin opendbc. Pre-AP pedal-long owns vCruise in card.py via software
cruise. Alerts tests cover idle-available vs hard-fault.
Pin opendbc SP adaptation: IDLE STATE 4/5 get create_pedal_command(0,
enable=0) health keepalive; ENABLE remains NO_FAULT-only. Nap has no
recoverable-idle.
Carry the NAP planner, radar, alerts and tools through the sunnypilot interfaces. Latch driver intent across transport loss and keep longitudinal control off after an optional hands-on lateral pause.
Keep the stock firmware below the source-file size limit without changing its decoded bytes. Separate packaged firmware from extraction and modified-image output, retain integrity checks, narrow planner table types, and correct the ignition and control test fixtures.
Honor the saved Pre-AP selection before vehicle discovery. Keep pedal cruise intent and set speed separate from MADS lateral engagement so gas release and brake overrides preserve the NAP engagement flow.
Hands-only pause was tearing down already-active pedal cruise, and host MAIN
could still land during panda's one-second recovery. Keep the active pedal
session, reject that pull window, and bump opendbc for the matching re-arm.
Keep calibration in the existing UI and maintain the restricted Panda watchdog without driving engagement. Wait for exclusive ownership and provide explicit cancellation and ignition-off exit instead of an automatic restart.
Panda permission can arrive after the first stalk event. Distinguish a pending grant from permission loss so hands-on pause does not immediately undo engagement, while keeping acquisition bounded and real permission loss immediate.
Expose the selected EPAS level on both settings layouts and sunnylink, applying it on the next drive. Use the existing low/high prompts for steering pause and resume, and pull in real buckle status and MCU speed limits.
Decode 144-value lead outputs as contiguous means and log deviations while preserving legacy hypothesis selection. Bound Pre-AP radar association residuals so inflated model uncertainty cannot admit incompatible targets.
Reload the persisted selector while the NAP page is visible. Track the last committed value so asynchronous picker writes do not briefly roll the highlight back.
A tap and stalk update can return the saved distance to its prior value before the next UI refresh. Refresh the selected button from Params even when that value has not changed, including when reopening settings.
Bump opendbc for napStalkFollowDistance. Track wheel/tap selection in the
NAP picker without disk rollback, show a brief onroad indicator, and stop
blocking hardwared heartbeats on uptime/alert Params writes.
Copilot AI balanced review requested due to automatic review settings September 28, 2026 21:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for contributing to openpilot! In order for us to review your PR as quickly as possible, check the following:

  • Convert your PR to a draft unless it's ready to review
  • Read the contributing docs
  • Before marking as "ready for review", ensure:
    • the goal is clearly stated in the description
    • all the tests are passing
    • the change is something we merge
    • include a route or your device' dongle ID if relevant

@IRIT-able IRIT-able closed this Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.