Commit Graph

49 Commits

Author SHA1 Message Date
Prabhaav Pillai 5b2e2dae0f Refactor Android Auto references to StarPort across the codebase 2026-10-28 01:46:55 -04:00
Zeph Leggett cf4301b16e Jetlink: take over on native02e with the small model's warp 2026-10-27 12:10:26 -05:00
firestar5683 4cc02a4a8f Validate Extracted GPU Loader Fixture Callable 2026-10-27 11:12:20 -05:00
firestar5683 6effaaa356 Accelerate Chestnut model loading 2026-10-27 10:55:08 -05:00
Zeph Leggett 8b4902209c Jetlink: move the warp output when the small model loads
The output used to move after the small model's warmup had linked the
warp to its address, which needed the warp to link again by dropping a
private tinygrad cached property. Had that ever stopped working, the
small model's own warp would have kept writing the freed memory.

modeld now asks the adapter's coherent_warp() (Jetlink's make_coherent
with Jetlink on, off legacy9d) and load_verified_model moves the small
model's warp output before warmup(), as Jetlink's own warp moves its
output before its first call. CatalogWarp only reads the answer
(warp_copied): sent from where it is, or copied out, chosen once.
2026-10-26 19:32:00 -05:00
Zeph Leggett 0701c25b14 Jetlink bf4dc94
make_coherent's contract is one rule: move a buffer before the first call of the JIT that writes it. CREDITS.md and JETLINK.md name the new revision.
2026-10-26 19:31:43 -05:00
Zeph Leggett f36b39a68b Jetlink: send the warp from coherent memory on a comma
tinygrad maps the warp's QCOM output write-combined, which the CPU reads
uncached: CatalogWarp spent ~2.9 ms a frame copying the frame out, out
of the 46 ms a host has to answer in. It now moves the output to
IO-coherent write-back memory with Jetlink's warp.make_coherent, as
Jetlink's own warp does, and the link sends straight from it (0.22 ms
measured for Jetlink's warp). The warp has run by then, and tinygrad
bakes a held buffer's address in at link time, so its program links
again on the next call. If the kernel refuses the memory, the frame is
copied out as before, and the adapter's log says which.

TinyJit's per-call input checks are left alone: 0.045 ms a call on a
Mac under this tinygrad, not the ~1 ms they cost under Jetlink's.
2026-10-26 19:04:34 -05:00
Zeph Leggett bf09b8eea4 Jetlink e0257f4
warp.make_coherent is public, for an adapter's own warp: it moves a QCOM
output to memory the CPU reads cached, as Jetlink's warp does.
CREDITS.md and JETLINK.md name the new revision.
2026-10-26 19:04:05 -05:00
Zeph Leggett 6e430242e3 Jetlink: the link's warp goes through the runner's warp_frames
CatalogModelState.warp_frames is the warp branch of run(), which run()
and CatalogWarp now both call, so the link enqueues exactly what the JIT
was captured with and reads npy and input_queues live rather than as
they were when it was built. CatalogWarp binds the output once (the
captured JIT returns the same buffer every call), reuses one pair of
warm-up frames for the probe and frees them, and drops their blob
cache entries. model_warp lets a failure raise without logging it
too: Jetlink logs it as it keeps the small model.
2026-10-26 18:50:12 -05:00
dirwin31 6c9ae11f63 Jetlink: send the small model's warp off legacy9d
Jetlink's stock driving warp is a legacy9d pickle, which a native02e
modeld cannot load, so the link never took over there. The adapter's
model_warp (Jetlink's optional hook since 0605e34) now hands Jetlink
the small model's own camera warp (CatalogWarp) on any other runtime:
the same JIT, inputs and blob cache, read into host memory after each
frame, with a probe at load that refuses an output not read live.
Under legacy9d it returns None and Jetlink loads the stock pickle.

From #253, without its edit to jetlink_repo or the hold tolerance
override.
2026-10-26 18:43:20 -05:00
Zeph Leggett db94a2be1a Jetlink 0605e34
The adapter may now supply the warp the link sends (ModelSide.model_warp,
optional; what it returns is checked against interface.FrameWarp before
the frame loop). Without one, or when it returns None, Jetlink loads the
stock driving warp pickle as before. API stays 3.

CREDITS.md and JETLINK.md name the new revision.
2026-10-26 18:41:10 -05:00
firestar5683 eb7afba097 Show Jetlink model status in GPU feedback 2026-10-25 17:41:51 -05:00
firestar5683 27b552cbd8 Reset Jetlink fallback history without GPU compilation 2026-10-25 17:39:43 -05:00
firestar5683 49ab8cf392 Record model identity in qlog opening metadata 2026-10-24 23:20:11 -05:00
firestar5683 3d8f901f1c Exit failed GPU startup before isolated Small recovery 2026-10-24 21:25:48 -05:00
firestar5683 a8e10e4e52 Restore compatible model runtime 2026-10-23 20:48:09 -05:00
firestar5683 656ba431e9 Update model runtime test contracts 2026-10-23 19:07:47 -05:00
firestar5683 1a7c20ab6c Compile native RDF Chestnut model 2026-10-23 18:13:43 -05:00
firestar5683 0eec2e2a55 Bound native model loading memory 2026-10-23 18:09:38 -05:00
firestar5683 748e7b13fc Fix model runtime test fixtures 2026-10-23 18:08:05 -05:00
firestar5683 12601d1fac Pin model runtime source imports before ambient hooks 2026-10-23 17:38:06 -05:00
firestar5683 d28aa489ca Compile older Chestnut models 2026-10-23 17:13:33 -05:00
firestar5683 091682eb06 Fix native model static checks 2026-10-23 16:39:50 -05:00
firestar5683 26bc78b69d Compile native Chestnut models 2026-10-23 16:17:25 -05:00
firestar5683 29ab44fc4d Align model compiler and steering-delay test fixtures 2026-10-23 05:56:55 -05:00
firestar5683 bd764bbf2e Reduce Chestnut model startup overhead 2026-10-22 13:52:19 -05:00
Dom ab9b2d7624 Make CI fixture preconditions and AST body types explicit 2026-10-21 12:49:11 -05:00
firestar5683 ba6eac264e Fix Big Model Cold Startup 2026-10-21 08:23:17 -05:00
prabhaavp d2db94e177 Merge pull request #235 from dirwin31:PR-Smaller-1
Core: Companion phone uplink, phone GPS, cellular off switch and usage stats
2026-10-20 18:16:33 -04:00
Jeffrey Wong fdcf1db290 Build: keep the hash-pinned model guard libraries instead of recompiling them 2026-10-20 17:00:04 -05:00
Danny 8f628ba48b Core: Companion phone uplink, phone GPS, cellular off switch and usage stats 2026-10-20 06:03:37 -07:00
firestar5683 58cf992fe4 Preserve StarPilot Model Runtime Compatibility 2026-10-20 03:55:47 +00:00
firestar5683 100b077dc7 Isolate Chestnut Startup Fallback 2026-10-19 20:57:30 -05:00
firestar5683 5521e6aafe Restore CI Fixtures 2026-10-19 17:24:05 -05:00
Zeph Leggett 4f7ff0a4d3 Jetlink adapter checks and guide
jetlink's own kit checks the adapter module and modeld's hook order. Tests cover in_control with AOL armed and paused, the driving warp jetlink runs, and the catalog runner's history reset on tinygrad keeping its buffers. JETLINK.md describes the stay-engaged hand-back and the cable rule.
2026-10-18 16:18:43 -05:00
Zeph Leggett acde83a0a8 Galaxy Jetlink status from jetlink
The Jetlink card's state, activity and running model come from jetlink's Status (phase, active, running, running_sha256, running_checkpoint), so StarPilot no longer derives them. A build in progress reads preparing, with its line below.
2026-10-18 16:18:38 -05:00
Zeph Leggett ce766c0668 Stay engaged when Jetlink hands back
A Jetlink hand-back while engaged soft-disabled with Big Model Failed and
"Restart the car to retry", although the small model drives on and Jetlink
retries in seconds. Now nothing disengages: a Big Model Lost warning shows
for 5 s. A native chestnut's loss still raises Big Model Failed.

jetlink's swap events also refuse engaging for the second after a swap
(bigModelLoading) and hold the comm and localizer errors the swap's dropped
frame raises, as a chestnut load does. In control is the rule the swap
itself waits on (openpilot, or AOL armed or paused), and a gap in modeld's
runtime record holds the last state instead of reading as a switch.

The warning is a selfdrived alert, like aolAvailability: no new
OnroadEvent, so cereal and schema-policy.json are unchanged.
2026-10-18 16:18:37 -05:00
Zeph Leggett af96e527d7 Jetlink runs modeld's driving warp
jetlink runs the driving_warp pickles modeld already ships, so its own warp build, the four jetlink_warp pickles and their QCOM import and validation go.
2026-10-18 16:18:37 -05:00
Zeph Leggett 4c1f9a0205 Jetlink host is not a chestnut
cable_connected() is true for any host on the USB-C port. With a Chestnut pick downloaded and Jetlink on, every drive waited 10 s for a chestnut, raised Big Model Failed and left Jetlink unattached. The cable now counts only with Jetlink off.
2026-10-18 16:18:37 -05:00
Zeph Leggett ca183df497 Jetlink API 3 adapter
StarPilotAdapter subclasses jetlink's Stock: StarPilot's param names, the
AOL engagement rule, the model root and a CatalogModelState history reset
that keeps its JIT buffers. jetlinkd runs jetlink's owner as it is, modeld
calls the hooks, and Galaxy and analytics read jetlink's runtime record in
place of JetlinkRuntime.

- no big-model slot or catalog keys: jetlink provisions its default model
- jetlink restores the owner's tuning itself; the port draw stays cut with
  a host plugged in
- the Jetson is asked to power off on DoShutdown only, capped at 30 s
2026-10-18 16:18:37 -05:00
Zeph Leggett de40ad2ff1 Jetlink d24328d
Vendor only the comma payload jetlink commits to (jetlink/, LICENSE,
pyproject.toml, README.md) with an include list, so the exclude list goes
and upstream's README stays as published; StarPilot's notes live in
JETLINK.md. The root helper now ships inside the package.

The adapter moves to API 3 in the next commit; until then Jetlink stays
off.

d24328d stands in for the jetlink release tag commit: re-run
tools/vendor/sync.py jetlink_repo <tag commit> --apply before merging and
update the revision in CREDITS.md and JETLINK.md with it.
2026-10-18 16:18:37 -05:00
Danny 3a770b3ab2 Download More Ram
(cherry picked from commit f3df89cc99ea9b28ca83c717f4ceee822ab7854f)
2026-10-18 01:40:04 -04:00
dirwin31 bb514b6f0b Add wired android auto back in, gate behind no jetlink and no chestnut 2026-10-16 07:51:20 -07:00
firestar5683 80fbb4f6db Feature registration
Register vehicle controls, planner modes, UI actions and Galaxy services after their providers exist. Wire the shared runtime entrypoints and cover their combined behavior.

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Daniel Koepping <elkoled@gmail.com>
Co-authored-by: Danny <dannyirwin31@yahoo.com>
Co-authored-by: DimitriChrysafis <Dimitri.chrysafis@gmail.com>
Co-authored-by: Dom <168790843+firestar5683@users.noreply.github.com>
Co-authored-by: Harald Schäfer <harald.the.engineer@gmail.com>
Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
Co-authored-by: Prabhaav Pillai <prabhaav@msu.edu>
Co-authored-by: dirwin31 <83434411+dirwin31@users.noreply.github.com>
Co-authored-by: firestarsdog <229254897+firestarsdog@users.noreply.github.com>
Co-authored-by: stef <19478336+stefpi@users.noreply.github.com>
Co-authored-by: whoisdomi <dcantu83@gmail.com>

Co-authored-by: Intelli <contact@intelli.software>
Co-authored-by: haraschax <6804392+haraschax@users.noreply.github.com>
Co-authored-by: prabhaavp <prabhaav@msu.edu>
2026-10-14 20:02:39 -05:00
firestar5683 a82935f326 User interfaces and Android Auto
Integrate onroad views, configurable widgets, local settings, steering-profile contracts, Bluetooth and Android Auto with their device and runtime services.

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Daniel Koepping <elkoled@gmail.com>
Co-authored-by: Danny <dannyirwin31@yahoo.com>
Co-authored-by: DimitriChrysafis <Dimitri.chrysafis@gmail.com>
Co-authored-by: Dom <168790843+firestar5683@users.noreply.github.com>
Co-authored-by: Harald Schäfer <harald.the.engineer@gmail.com>
Co-authored-by: Prabhaav Pillai <prabhaav@msu.edu>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: dirwin31 <83434411+dirwin31@users.noreply.github.com>
Co-authored-by: firestarsdog <229254897+firestarsdog@users.noreply.github.com>
Co-authored-by: stef <19478336+stefpi@users.noreply.github.com>
Co-authored-by: whoisdomi <dcantu83@gmail.com>

Co-authored-by: Intelli <contact@intelli.software>
Co-authored-by: pharmacomaniac <blittle65@gmail.com>

Co-authored-by: prabhaavp <prabhaav@msu.edu>
2026-10-14 20:02:39 -05:00
firestar5683 8b254da432 Runtime Dependencies
Extend vendored runtime helpers and diagnostics while preserving the existing compiler and model ABI.
2026-10-14 20:02:39 -05:00
firestar5683 2b1152adf7 Hyundai
Integrate vehicle-specific steering, longitudinal control, startup, and handoff policies, including Ioniq, EV9, GV70, and non-SCC configurations. Preserve the corresponding native safety and CAN routing contracts.

Co-authored-by: Dom <168790843+firestar5683@users.noreply.github.com>
Co-authored-by: firestarsdog <229254897+firestarsdog@users.noreply.github.com>

Co-authored-by: Intelli <contact@intelli.software>
2026-10-14 20:02:39 -05:00
firestar5683 694b460f80 Developer Tools
Provide laptop and device build entry points, cache compatibility checks and developer tooling. Keep distribution assets and model packaging available before runtime consumers.

Co-authored-by: Danny <dannyirwin31@yahoo.com>
Co-authored-by: Prabhaav Pillai <prabhaav@msu.edu>
Co-authored-by: dirwin31 <83434411+dirwin31@users.noreply.github.com>
Co-authored-by: firestarsdog <229254897+firestarsdog@users.noreply.github.com>

Co-authored-by: prabhaavp <prabhaav@msu.edu>
2026-10-14 20:02:39 -05:00
firestar5683 49d5b8eaff Models
Own model discovery, compilation and registry selection through explicit model metadata and geometry contracts.

Co-authored-by: whoisdomi <dcantu83@gmail.com>
2026-10-14 19:56:17 -05:00