Commit Graph

850 Commits

Author SHA1 Message Date
Jason Wen c25b581ae5 Default model: CD210 model 2026-05-05 22:08:29 -04:00
Jason Wen 2d35bd895f sunnylink: SDUI (#1780)
* 1

* fix

* uh

* more

* for now

* v2

* update

* more subs

* readme

* vehicle

* cycle init

* options

* new

* combine

* new

* dynamic unit

* default

* move it

* syncing more

* more

* boom shakalaka

* rearrange

* partial availability

* move

* more

* more

* hide

* move

* revert

* more

* new

* set

* sync

* dynamic

* slightly more

* update

* update

* less

* in another pr

* more

* move and fix

* device type

* order

* order

* order

* fixes

* ew

* Revert "fixes"

This reverts commit 53a2adb45a.

* sunnylink: bundle-first capabilities + protocol_version

Bundle-first brand resolution, fix steer_control_type to use
CP.steerControlType (physical) not lateralTuning.which() (tuning class),
add Subaru/Hyundai opaque per-platform flags from CarPlatformBundle, and
embed PROTOCOL_VERSION in the capabilities payload.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* sunnylink: tighten settings_ui gates against Raylib parity

Brand gates on MadsMainCruiseAllowed/MadsUnifiedEngagementMode (rivian +
tesla-no-bus); convert enablement->visibility on items Raylib hides
(DisableUpdates, EnableGithubRunner, EnableCopyparty, QuickBootToggle,
HyundaiLongitudinalTuning, LaneTurnValue, LagdToggleDelay); drop spurious
offroad_only on DynamicExperimentalControl + DisengageOnAccelerator and
SpeedLimit policy/offset over-gates; replace offroad_only with not_engaged
on AlphaLongitudinalEnabled/Toyota long toggles; extend release-branch
NOTs with is_sp_release; add Test Maneuvers section with attestation,
move LongitudinalManeuverMode in alongside new LateralManeuverMode.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* sunnylink: extend settings_ui validator for new fields

Add SchemaItem fields title_param_suffix (object form), needs_onroad_cycle,
blocked, requires_attestation; add option-level enablement to SchemaOption;
add visibility/enablement/attestation_required to PanelSection; add
not_engaged Rule type; replace vehicle_settings inline shape with
VehicleBrandSettings def (title/description/items).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* sunnylink: inject torque tune options from versions JSON

Read latcontrol_torque_versions.json at schema generation time and
override TorqueControlTune options so adding a version to the JSON
flows to the dashboard without editing settings_ui.json by hand.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* sunnylink: per-bug regression tests for settings_ui parity

Cover the audit findings end-to-end: MADS brand gates, Test Maneuvers
section + attestation, validator accepts the JSON, dynamic torque
options match the versions JSON, SP dev items gate on is_sp_release as
well as is_release, spurious offroad_only dropped from
DisengageOnAccelerator and DynamicExperimentalControl, and offroad_only
replaced with not_engaged on AlphaLongitudinalEnabled and the Toyota
long toggles. Validator test skips when jsonschema is unavailable.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* sunnylink: protocol_version sentinel + opaque-flag tests

Pin PROTOCOL_VERSION to KNOWN_PROTOCOL_VERSIONS so a bump shows up in
review, and assert subaru_has_sng / hyundai_alpha_long_available are
declared with safe False defaults.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* schema: convert ShowAdvancedControls visibility to enablement

Items previously hidden when ShowAdvancedControls is off now render
as disabled with an ADVANCED tooltip. Same treatment for dependency-
based hides (LagdToggleDelay, LaneTurnValue) so users see what's
available and why it's locked. CameraOffset gets the Advanced gate it
was missing.

Affected: DisableUpdates, EnableGithubRunner, EnableCopyparty,
QuickBootToggle, LaneTurnValue, LagdToggleDelay, CameraOffset, and the
test_maneuvers section.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* sunnylink: route resume_queued to athena direct

Backend is retiring the CloudFront proxy on stg.api.sunnypilot.ai that
currently forwards ws|settings|navigation to athena.sunnylink.ai. Once
retired, /ws/{id}/resume_queued only resolves via athena.sunnylink.ai.

SunnylinkApi.resume_queued now temporarily swaps self.api_host to
ATHENA_HOST while re-entering api_get (preserves the SunnylinkEnabled
gate and existing JWT/UA header handling). Other device calls
(device/{id}/roles, device/{id}/users, v2/pilotauth/, backups) continue
to hit the sunnylink main API host unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* legacy code

* no

* new

* tests

* lint

* fix

* too verbose

* sunnylink: per-page YAML authoring for settings_ui + named rule macros

Replace hand-edited 2200-line settings_ui.json with a per-page YAML source
tree under settings_ui_src/, plus named rule fragments (`$ref` macros) so
the same condition isn't repeated verbatim across items.

Authoring surface (settings_ui_src/):
  pages/<page>.yaml   one file per panel; sections/items/sub_panels inline
  pages/vehicle.yaml  per-brand settings (kind: vehicle -> vehicle_settings)
  _macros.yaml        named rule fragments referenced via {$ref: "#/macros/<name>"}
  _schemas/*.json     JSON Schemas for IDE autocomplete + CI validation

Pages today: steering, cruise, display, visuals, toggles, device, software,
developer, models, vehicle (10).

Tools:
  compile_settings_ui.py  read src tree, resolve $refs, emit settings_ui.json
                          (--check mode for CI to fail on hand-edits)
  extract_settings_ui.py  one-shot: settings_ui.json -> per-page YAML
  apply_macros.py         one-shot: substitute matching rule blocks with $ref

Rule-block dedup wins (top duplicates collapsed to single macros):
  offroad (9x), longitudinal (4x), longitudinal_and_icbm (5x),
  hide_on_mici (4x), advanced_only (3x), mads_full_platforms (4x ~30-line
  nested any/all/not -> 1 macro + 4x one-line $ref).

Validator drift fixes:
  - Accept not_engaged rule type (already in schema.json + used by
    AlphaLongitudinalEnabled, ToyotaEnforceStockLongitudinal,
    ToyotaStopAndGoHack, LateralManeuverMode, LongitudinalManeuverMode).
  - Enforce {title, description, items} shape on every vehicle brand
    instead of allowing bare-list variants.

Wire format unchanged: compiled settings_ui.json structurally identical to
the prior hand-edited file, so the device generator (generate_settings_schema.py),
SettingsCapabilities, and frontend renderer all keep working without changes.

Tests: 16 new compiler tests (roundtrip, $ref semantics, depth/cycle limits,
page-tree integrity, vehicle kind routing). Existing 42 regression tests in
test_settings_changes.py and test_settings_schema.py remain green.

README rewritten for the new flow:
  - Decision table for offroad_only / not_engaged / param / capability
  - Multi-condition composition examples (AND/OR/mixed/3-way/negation)
  - Full feature walkthrough (multi-toggle + sub_panel + new macro)
  - Workflows for changing rules, widget type, deprecating an item
  - All How-To examples migrated from JSON to YAML

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* sunnylink: add `details` field for popover/modal help text

Adds an optional `details` field on settings items, distinct from the inline
`description`. When present, the frontend renders an info ("i") button on the
row that opens a modal with this content. Either field may be present alone,
or both together; an item with only `details` and no `description` shows just
the title + info button (no inline body).

Migrates `AutoLaneChangeTimer` as the first user: the safety caveat
("Please use caution when using this feature. Only use the blinker when
traffic and road conditions permit.") moves out of the inline description
into `details`, leaving the description focused on what the timer actually
does.

Schema changes:
- settings_ui.schema.json: SchemaItem.details (string, optional)
- settings_ui_src/_schemas/page.schema.json: Item.details (mirror)
- compile_settings_ui.py / extract_settings_ui.py: ordered after description

Frontend support lands in sunnylink-frontend on the design-overhaul branch.
Old frontends ignore the unknown key.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ui: refactor UIStateSP init to eliminate getattr and double update_params

- Remove update_params() and reset_onroad_sleep_timer() from UIStateSP.__init__;
  __init__ is now pure attr initialization with no I/O or side effects
- Add _sp_initialized flag to UIStateSP.update_params() to fire
  reset_onroad_sleep_timer() exactly once after first real param load,
  keeping the call in SP territory and out of stock _initialize()
- Replace getattr(self, 'has_longitudinal_control') / getattr(self, 'CP')
  in _enforce_constraints with direct attr access; safe because
  _enforce_constraints is only called from update_params(), which only
  runs after UIState._initialize() has set both attrs
- Rename _enforce_sp_constraints → _enforce_constraints

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix

* exec

* more exec

* humanize

* sync

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 13:18:15 -04:00
Jason Wen 2406b32d55 Default model: POP model 2026-04-14 12:50:43 -04:00
Jason Wen 9541692eb0 Merge branch 'upstream/openpilot/master' into sync-20260412
# Conflicts:
#	cereal/log.capnp
#	docs/CARS.md
#	opendbc_repo
#	panda
#	selfdrive/modeld/SConscript
#	selfdrive/monitoring/test_monitoring.py
#	selfdrive/ui/soundd.py
#	tinygrad_repo
#	uv.lock
2026-04-12 16:19:47 -04:00
Adeeb Shihadeh a89ed55b65 cereal: group inline deprecated fields (#37791) 2026-04-09 10:41:04 -07:00
Jason Wen b5d2026fc7 sunnypilot models: support for on-policy models 2026-04-02 21:14:39 -04:00
Jason Wen d398f9951e Merge branch 'upstream/openpilot/master' into sync-20260401
# Conflicts:
#	.github/workflows/auto_pr_review.yaml
#	.github/workflows/repo-maintenance.yaml
#	README.md
#	SConstruct
#	docs/CARS.md
#	opendbc_repo
#	panda
#	selfdrive/car/card.py
#	selfdrive/controls/controlsd.py
#	selfdrive/selfdrived/selfdrived.py
#	selfdrive/test/process_replay/migration.py
#	selfdrive/ui/translations/app_fr.po
Platform List: sync with latest
Sync: `commaai/panda:master` → `sunnypilot/panda:master`
2026-04-02 21:14:23 -04:00
Daniel Koepping 6b94c47c6a Lateral maneuver report (#37562)
* lateral report

* mutually exclude buttons

* gating

* set maneuver

* add timer

* timer text

* fix plot

* use curvature

* more curves

* fix gating

* rm delay

* highway speed only

* msg

* add sine

* add step-down

* use relative

* text

* stabilize

* tuning

* windup

* text

* winddown

* no windup

* tuning

* more tuning

* more

* formatting

* test faster

* extend sine

* report crossings

* add readme

* clean report

* fix lint

* gating

* fix

* straighter

* compensate roll

* rm abs roll

* len

* Revert "rm abs roll"

This reverts commit a22d6bb136f90d2bf997e6b9aeee2f784398ef42.

* Revert "compensate roll"

This reverts commit dfda52119cc4a2e29ac2854b9154c08459086fea.

* print actuators

* show curve and roll

* tune roll

* text

* slower

* timer

* too much banked streets in US

* readme

* filter incomplete

* plot jerk

* plot angle jerk

* lil edits

* fix lint

* apply suggestions

* better table

* apply comments

* clean

* shane comments

* deflicker

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2026-03-27 13:31:00 -07:00
Jason Wen 1658898498 Controls: default Torque Lateral Control to v0 Tune 2026-03-18 08:45:27 -04:00
Jason Wen d5b25e14fd Merge branch 'upstream/openpilot/master' into sync-20260317
# Conflicts:
#	.github/workflows/auto_pr_review.yaml
#	.gitignore
#	opendbc_repo
#	panda
#	selfdrive/ui/mici/layouts/home.py
#	selfdrive/ui/mici/layouts/onboarding.py
#	selfdrive/ui/mici/layouts/settings/device.py
#	selfdrive/ui/tests/diff/replay.py
#	selfdrive/ui/translations/app_fr.po
#	system/ui/mici_setup.py
Sync: `commaai/opendbc:master` → `sunnypilot/opendbc:master`
Sync: `commaai/panda:master` → `sunnypilot/panda:master`
2026-03-17 23:02:10 -04:00
Adeeb Shihadeh ee9da82aab cleanup build paths (#37667)
* cleanup build paths

* not used

* lil more

* rm those too

* rm

* lil more
2026-03-13 19:20:33 -07:00
Adeeb Shihadeh bf4bf0e5b7 qcomgpsd, timed: reject invalid GPS timestamps (#37633) 2026-03-10 11:44:25 -07:00
Adeeb Shihadeh ba19527181 0.11.1: a nice DM focused release 2026-03-10 10:20:23 -07:00
Adeeb Shihadeh e42ee228c2 gitignore cleanups (#37615)
* gitignore cleanups

* lil more

* one more
2026-03-08 18:31:11 -07:00
Adeeb Shihadeh 6e87e66bc5 0.11 time 2026-03-08 11:54:15 -07:00
Jason Wen a9d5c9e23a ui: add new timer options for Onroad Brightness Delay (#1760)
* ui: add new timer options for OnOnroad Brightness Delay

* migrate

* in future pr

* Revert "in future pr"

This reverts commit ca9940f809.

* consolidate

* update

* gate

* fix
2026-03-07 01:36:24 -05:00
Shane Smiskol 055b29b226 updater: better flow (#37560)
* better update flow

* clean up

* clean up

* cmt

* clean up

* todo
2026-03-04 19:37:24 -08:00
Jason Wen daaec59464 Toyota: Stop and Go Hack (Alpha) (#1733)
* init

* sl

* some

* more

* alpha

* bump

* onroad cycle it
2026-03-01 11:14:42 -05:00
Jason Wen 29a3b3315f ui: reimplement "Screen Off" option to Onroad Brightness (#1732)
* ui: Add "Screen Off" option to Onroad Brightness

* migrate old value

* bruh

* fix algo

* comment

* no
2026-02-28 00:18:35 -05:00
Jason Wen 59a16b9cdc Merge branch 'upstream/openpilot/master' into sync-20260225
# Conflicts:
#	.github/workflows/auto_pr_review.yaml
#	.github/workflows/badges.yaml
#	.github/workflows/mici_raylib_ui_preview.yaml
#	.github/workflows/prebuilt.yaml
#	.github/workflows/raylib_ui_preview.yaml
#	.github/workflows/release.yaml
#	.github/workflows/repo-maintenance.yaml
#	.github/workflows/tests.yaml
#	.gitignore
#	Dockerfile.openpilot_base
#	SConstruct
#	docs/CARS.md
#	opendbc_repo
#	panda
#	release/build_release.sh
#	selfdrive/modeld/SConscript
#	selfdrive/modeld/modeld.py
#	selfdrive/pandad/panda_safety.cc
#	selfdrive/pandad/pandad.cc
#	selfdrive/pandad/pandad.py
#	selfdrive/test/process_replay/process_replay.py
#	selfdrive/ui/layouts/onboarding.py
#	selfdrive/ui/mici/layouts/home.py
#	selfdrive/ui/tests/diff/replay.py
#	selfdrive/ui/tests/test_ui/raylib_screenshots.py
#	tools/mac_setup.sh
#	uv.lock
2026-02-27 16:12:57 -05:00
Nayan 111e8897be models: fix default & index "0" (#1718)
* default be gone

* zero is the most significant number, don't ignore it.

* thanks sentry!!
2026-02-23 19:23:08 -08:00
Harald Schäfer 16dda06a0c Reapply chunker (#37292)
* Reapply chunker

* good size

* rm glob

* cleaner

* back to 45mb

* warp need not be fixed

* add manifest path

* lil cleaner
2026-02-23 16:49:48 -08:00
Adeeb Shihadeh 76d084d877 switch to system compilers (GCC on Linux, Apple Clang on macOS) (#37355) 2026-02-23 16:34:42 -08:00
Bruce Wayne d6af0e6eb5 Revert "Simpler file chunker (#37276)"
This reverts commit b27fa58444.
2026-02-20 16:43:43 -08:00
Bruce Wayne 09926bf5b5 Revert "safer model pkl chunking (#37283)"
This reverts commit 5d54743d8b.
2026-02-20 16:43:33 -08:00
Harald Schäfer 5d54743d8b safer model pkl chunking (#37283)
* safer chunking

* rm unchunked
2026-02-20 15:19:39 -08:00
Adeeb Shihadeh b28ff40d4d insource parameterized (#37280)
* insource parameterized

* lil more

* fix
2026-02-20 14:59:36 -08:00
Harald Schäfer b27fa58444 Simpler file chunker (#37276)
* Chunk tinygrad pkl below GitHub max size

* pull that out

* rm glob

* make work

* Single name def

* unused comment

* more cleanups

* revert that

* 10MB overhead

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2026-02-20 10:37:14 -08:00
Jason Wen e8f65bc652 Controls: Support for Torque Lateral Control v0 Tune (#1693)
* init

* no

* more

* tree it

* final

* comment

* only with enforce torque

* only with enforce torque

* missed

* no

* lint

* Apply suggestion from @sunnyhaibin

* sunnylink metadata sync

* Apply suggestion from @sunnyhaibin

---------

Co-authored-by: nayan <nayan8teen@gmail.com>
2026-02-17 13:17:03 -05:00
Christopher Haucke b3878fb211 Pause Lateral Control with Blinker: Post-Blinker Delay (#1567)
* Delay lateral reengagement

* UI elements

* Add tests

* Update title and description

* Update params_metadata

* Didn't mean to pass this to int()

* Keep sentry happy

* Title and description update

* always 100 hz

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2026-02-12 23:33:38 -05:00
Harald Schäfer af1583cdfc Reapply tgwarp w NV12 fix (#37168)
* Revert "Revert tgwarp again (#37161)"

This reverts commit 45099e7fcd.

* Weird uv sizes

* Fix interleaving

* Fix on CPU

* make CPU safe

* Prevent corruption without clone

* Claude knows speeed

* fix interleaving

* less kernels

* blob caching

* This is still slightly faster

* Comment for blob cache
2026-02-12 08:59:19 -08:00
Jason Wen 52fb0b8171 Merge branch 'upstream/openpilot/master' into sync-20260211
# Conflicts:
#	.github/workflows/auto_pr_review.yaml
#	.github/workflows/tests.yaml
#	opendbc_repo
#	panda
#	selfdrive/pandad/pandad.py
#	selfdrive/test/process_replay/test_processes.py
2026-02-11 20:16:02 -05:00
Harald Schäfer 45099e7fcd Revert tgwarp again (#37161)
* Reapply "revert tg calib and opencl cleanup (#37113)" (#37115)

This reverts commit 667f3bb32f.

* revert msgq too

* msgq on master
2026-02-10 23:12:41 -08:00
DevTekVE 1179273217 Revert "sunnylink: shorter timeout for websocket reconnect" (#1683)
Revert "sunnylink: shorter timeout for websocket reconnect (#1681)"

This reverts commit c51b41e96a.
2026-02-10 11:28:51 -05:00
Harald Schäfer 3d11e8ef36 Revert "Chunk big model files (#37134)" (#37139)
This reverts commit a941e8f78f.
2026-02-09 20:58:22 -08:00
Jason Wen c51b41e96a sunnylink: shorter timeout for websocket reconnect (#1681)
* separate

* no need

* shorten

* lint
2026-02-09 23:46:39 -05:00
Harald Schäfer a941e8f78f Chunk big model files (#37134)
* file chunking

* try this

* more cleanup

* cleaner
2026-02-09 15:29:50 -08:00
Nayan 981494a354 [TIZI/TICI] ui: Visuals panel (#1496)
* commaai/openpilot:d05cb31e2e916fba41ba8167030945f427fd811b

* bump opendbc

* bump opendbc

* bump opendbc

* bump opendbc

* bump opendbc

* sunnypilot: remove Qt

* cabana: revert to stock Qt

* commaai/openpilot:5198b1b079c37742c1050f02ce0aa6dd42b038b9

* commaai/openpilot:954b567b9ba0f3d1ae57d6aa7797fa86dd92ec6e

* commaai/openpilot:7534b2a160faa683412c04c1254440e338931c5e

* sum more

* bump opendbc

* not yet

* should've been symlink'ed

* raylib says wut

* quiet mode back

* more fixes

* no more

* too extra red diff on the side

* need to bring this back

* too extra

* let's update docs here

* Revert "let's update docs here"

This reverts commit 51fe03cd51.

* param to control stock vs sp ui

* init styles

* SP Toggles

* Lint

* optimizations

* multi-button

* Lint

* param to control stock vs sp ui

* init styles

* SP Toggles

* Lint

* optimizations

* Panels. With Icons. And Scroller.

* patience, grasshopper

* more patience, grasshopper

* sp raylib preview

* fix callback

* fix ui preview

* add ui previews

* introducing ui_state_sp for py

* param to control stock vs sp ui

* better

* add ui_update callback

* better padding

* init

* revert padding to 20

* new line, who dis

* this

* support for next line multi-button

* use inline=false

* uhh

* disabled colors

* hide em all

* lambdas

* NOT inline

* final touches

* hide HIDE

* ruff.. RUFF.. WHY RUFF

* listitem -> listitemsp

* Revert "add ui_update callback"

This reverts commit 4da32cc009.

* add show_description method

* remove padding from line separator.
like, WHY? 😩😩

* scroller -> scroller_tici

* scroller -> scroller_tici

* remove line separator padding

* ui: `GuiApplicationExt`

* add to readme

* use gui_app.sunnypilot_ui()

* use gui_app.sunnypilot_ui()

* use gui_app.sunnypilot_ui()

* uhhh. nope

* optimizations

* I THINK this is not needed, i don't see it used on the visuals panel...

* unhide for now... Why hidden tho?

* refresh controls

* missing

* blindspot

* standstill timer

* road name toggle

* more descriptions

* more descriptions

* update desc

* param turn signals

* sort

* fix

* always show desc if not available

* should be bool

* rocket fuel

* steering arc

* lint

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
Co-authored-by: DevTekVE <devtekve@gmail.com>
2026-02-09 00:17:34 -05:00
royjr 35c87a1519 [TIZI/TICI] ui: steering arc (#1628)
* init

* lint

* add toggle

* Update params_keys.h

* Update params_metadata.json

* Update params_keys.h

* bool

* decouple

* no

* make it perfect

* fade it

* only with torque bar

* dynamic

* in another PR

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2026-02-08 17:00:37 -05:00
Adeeb Shihadeh 667f3bb32f Revert "revert tg calib and opencl cleanup (#37113)" (#37115)
* Revert "revert tg calib and opencl cleanup (#37113)"

This reverts commit 51312afd3d.

* power draw is a lil higher

* just don't miss a cycle

* fix warp targets

* fix tinygrad dep
2026-02-07 21:36:44 -08:00
Adeeb Shihadeh 55a31d7657 replace tabulate with simple helper (#37122) 2026-02-07 18:27:16 -08:00
Harald Schäfer 51312afd3d revert tg calib and opencl cleanup (#37113)
* Revert "Remove all the OpenCL (#37105)"

This reverts commit d5cbb89d84.

* Revert "rm common/mat.h"

This reverts commit 4ce701150a.

* Revert "Calibrate in tg (#36621)"

This reverts commit 593c3a0c8e.
2026-02-07 09:10:29 -08:00
Adeeb Shihadeh d5cbb89d84 Remove all the OpenCL (#37105)
* Remove all the OpenCL

* lil more

* bump msgq
2026-02-06 16:36:47 -08:00
Adeeb Shihadeh 4ce701150a rm common/mat.h 2026-02-06 16:06:16 -08:00
Jason Wen 959ebd22d8 Merge branch 'upstream/openpilot/master' into sync-20260201
# Conflicts:
#	.github/workflows/auto_pr_review.yaml
#	.github/workflows/docs.yaml
#	.github/workflows/repo-maintenance.yaml
#	.gitignore
#	docs/CARS.md
#	opendbc_repo
#	panda
#	pyproject.toml
#	selfdrive/controls/lib/longitudinal_planner.py
#	selfdrive/test/process_replay/ref_commit
#	tinygrad_repo
2026-02-04 00:14:58 -05:00
Adeeb Shihadeh b03e7821d4 replace smbus2 package with minimal implementation (#37061)
* replace smbus2 package with minimal implementation

* cleanup

* fix up
2026-02-01 17:26:58 -08:00
Adeeb Shihadeh cd70e23dc3 clips: direct rendering with raylib (#36935)
* good clips

* replace

* fix

* fix font

* lil more
2026-01-31 20:15:23 -08:00
Kumar 8c36739ebd [TIZI/TICI] ui: Rocket Fuel (#1337)
* rocket

* raylib

* extra

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2026-01-23 23:27:12 -05:00
Jason Wen 53327edb50 Merge branch 'upstream/openpilot/master' into sync-20260111
# Conflicts:
#	common/api.py
#	docs/CARS.md
#	opendbc_repo
#	panda
#	scripts/lint/lint.sh
#	selfdrive/car/car_specific.py
#	selfdrive/car/card.py
#	selfdrive/test/process_replay/ref_commit
#	system/hardware/hardwared.py
#	tinygrad_repo
2026-01-20 07:29:25 -05:00
Adeeb Shihadeh 10db1edc7f merge common.util and common.utils (#36951)
* common: merge common.util and common.utils

* cleanup

* cleanup
2026-01-19 15:50:00 -08:00