src.nth.io/

summaryrefslogtreecommitdiff
path: root/main
AgeCommit message (Expand)AuthorFilesLines
2026-07-01release: v1.3.0v1.3.0Luke Hoersten1-1/+1
2026-06-30firmware: clear panel to Loading screen on new stream connectionLuke Hoersten1-0/+15
2026-06-20firmware: split stream recv into its own task with 3-buffer ping-pongLuke Hoersten5-246/+416
2026-06-20firmware: recv-throughput instrumentation (FIONREAD pre-body, recv() call/chu...Luke Hoersten3-6/+104
2026-06-20firmware: OTA firmware updates via POST /firmware + rollbackLuke Hoersten6-5/+242
2026-06-20firmware: live-update last_paint_event_us_low so /state g2g reflects real fra...Luke Hoersten1-1/+12
2026-06-20phase 6: performance review playbook in TESTING.md + UDP-vs-TCP rationale in ...Luke Hoersten1-0/+23
2026-06-20phase 4: glass-to-glass via 16-byte stream header + /state stream statsLuke Hoersten4-10/+158
2026-06-20cleanup phase 2: delete HTTP-streaming-era dead codeLuke Hoersten1-121/+21
2026-06-20cleanup phase 1: stale-comment refresh, zero behavior changeLuke Hoersten2-51/+52
2026-06-20release: v1.0.0 — streaming pivot completev1.0.0Luke Hoersten1-1/+1
2026-06-20"paint the latest, drop the rest" — FIONREAD skip + Scrypted backpressure-b...Luke Hoersten1-0/+14
2026-06-20faster snapshot + deeper firmware timing + camera substream UI controlLuke Hoersten1-14/+67
2026-06-19streaming pivot: raw TCP data plane, drop per-frame HTTP entirelyLuke Hoersten3-1/+269
2026-06-19firmware: build fixes — esp_app_format component + forward-declare s_last_p...Luke Hoersten2-14/+9
2026-06-19disable Nagle on /frame socket + add min/max/worst-frame to script logLuke Hoersten1-0/+14
2026-06-19unified end-to-end per-frame instrumentation + version stampsLuke Hoersten2-1/+23
2026-06-15add X-Frame-Seq monotonic ordering for pipelined /frame POSTsLuke Hoersten1-1/+44
2026-06-15pipeline two /frame POSTs + HTTP keep-alive on the Scrypted sideLuke Hoersten1-0/+6
2026-06-15instrumentation: firmware idle gap between frames + Scrypted per-fetch wall-c...Luke Hoersten1-5/+22
2026-06-15firmware: double-buffer the panel + zero-copy decode → ~22 fps ceilingLuke Hoersten5-35/+92
2026-06-15scrypted: don't reset idle timer on each painted frame + finer timingLuke Hoersten1-8/+23
2026-06-15http_api: log per-frame timing breakdown every 10 frames (recv / decode / paint)Luke Hoersten1-0/+21
2026-06-15firmware: zero-copy JPEG → BGR888 → DSI hot path; Scrypted pre-rotatesLuke Hoersten5-19/+48
2026-06-14state_machine: wait one panel-refresh after paint before lighting backlight (...Luke Hoersten1-5/+9
2026-06-14state_machine: paint placeholder before wake — no more stale-frame flashLuke Hoersten1-2/+4
2026-06-14Default name = MAC; brief wake on boot; drop dead touch defencesLuke Hoersten10-107/+70
2026-06-14touch: wake on boot — FT5426 only reports while LCD is streaming + litLuke Hoersten2-32/+57
2026-06-14touch: retry + hard-reset when FT5426 boots into wedged 0xff stateLuke Hoersten3-2/+48
2026-06-14Tidy: delete dead code, inline single-use helpers, fix double-lockLuke Hoersten12-215/+89
2026-06-14Drop VIEWPORT_STATE_UNCONFIGURED — state is just awake/asleepLuke Hoersten6-31/+14
2026-06-14M5 colors fixed: JPEG byte order + DPI memory layoutLuke Hoersten2-10/+13
2026-06-14Info screen: full /config + /state dump, replaces identity screenLuke Hoersten6-61/+165
2026-06-14touch: drop factory-reset gestureLuke Hoersten1-22/+5
2026-06-14http_api: bump httpd stack to 8 KiB — POST /config was overflowingLuke Hoersten1-0/+5
2026-06-14M3 done: drop boot test, fold BOOT button into touch long-pressLuke Hoersten5-165/+66
2026-06-14M3: panel renders — TC358762 bridge init + non-burst DSILuke Hoersten2-135/+222
2026-06-14M3 WIP: DSI bring-up + state machine + identity overlayLuke Hoersten9-133/+282
2026-06-14M1+M2 hardware bring-up: 3 fixes + elegant subsystem degradationLuke Hoersten3-58/+104
2026-06-14Identity screen: name + hostname + IP + state, auto-scaledLuke Hoersten2-14/+86
2026-06-13M8: local screens (IP + Loading) + BOOT buttonLuke Hoersten6-6/+345
2026-06-13M7: touch + outbound /state POST to ScryptedLuke Hoersten10-4/+293
2026-06-13M6: state machine — POST /state, idle timer, /frame 409 guardLuke Hoersten4-8/+189
2026-06-13M5: POST /frame — hardware JPEG decode + orientation-aware paintLuke Hoersten7-4/+293
2026-06-13M4: NVS-backed /config with partial updates + validationLuke Hoersten4-13/+362
2026-06-13M3: display driver (Pi-style DSI panel: TC358762 + ATTINY MCU)Luke Hoersten4-2/+317
2026-06-13M2: HTTP server + mDNS service discovery + shared stateLuke Hoersten9-6/+295
2026-06-13M1: Ethernet bring-upLuke Hoersten4-12/+197
2026-06-13Switch scaffold to C; update boot TODOs to match current specLuke Hoersten1-4/+4
2026-06-13Initial Scrypted Viewport scaffoldLuke Hoersten2-0/+24