Skip to content

v1.0.1.91

Latest

Choose a tag to compare

@NickEngmann NickEngmann released this 15 Aug 01:32

v1.0.1.91 — PR #96 merge (field-bug fixes) + v1.3 mp4-memory hardening

Built manually from main @ 95f0d20 (merge of PR #96, fix/idle-sleep-and-cycle-speed).

Field-bug fixes (PR #96)

  • .lps playback speed no longer varies between album entries — palindrome cycle normalized to a uniform 680 ms regardless of 2/3/4-camera capture width (loop_normalized_delays, applied to both the .mp4 sidecar timings and the .lps writer).
  • Encoder-hold force-sleep now always wakes on the rotary encoder — encode-time viewfinder pause/resume chain hardened (REQBUFS-before-realloc resume order, 1 Hz resume retry with cache yield). Soak-validated: 11/11 sleep/wake cycles, wakes 1–5.6 s.
  • Camera modules reliably sleep on idle — sleep verify re-sends up to 8 rounds with a per-cam mask + explicit GAVE UP verdict; the S3 do_sleep never refuses (EXT0-arm failure falls back to EXT1/10-min timer wake, new EXT0_FAIL sleep-diag); trigger auto-recovery gated so it can't wake a sleeping fleet.

v1.3 mp4-memory hardening (post-.90, found on the plain-P4 bench)

  • mp4 create ladder parks the bitstream buffer and retries at NATIVE before ever falling to half-res — rotate re-encodes on the v1.3 were silently downscaling then failing 0x106.
  • Rotate worker defers while the foreground encode queue is busy — two concurrent mp4 encodes don't fit the v1.3's PSRAM.

Validation

Full 81-test on-device e2e union across a P4X and a plain-P4 v1.3 (parallel forward/reverse runs + targeted re-runs); all residual failures triaged to rig/unit state — details on loop-firmware PR #96.

Variant Image Notes
P4X (chip rev v3.x) loop-p4x.bin (= loop.bin) default fleet image
plain P4 (chip rev v1.3) loop-p4.bin + loop-p4-bootloader.bin