Linux interface to Epson Discprinter PP-100II using USB
  • Go 99.4%
  • Shell 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
hum3 dc690122c0 Add twin/ digital-twin tooling and wire it into status TUI
Three pieces, related:

1. twin/ package — runtime digital twin of the PP-100II loader plus a
   pcap-driven static analyzer.  twin/model.go tracks CoverOpen, per-
   stacker presence, phase (Clean/Residue/Walking/Faulted), and a
   NeedsWalk driver hint; events flow through Apply/DetectAndDispatch
   so the model stays in sync with successive live-status reads and
   the EPIPE-on-SET signal.  twin/cmd/extract/ pulls SET requests and
   GET responses from USBPcap captures (URB-layer, works on captures
   without HID enumeration).  twin/cmd/analyze/ matches each SET
   against a typed Go family registry (18 families covering 100% of
   373 SETs in 10 captures) and emits SUMMARY/COMMANDS/MOTIFS/
   SEQUENCES/NEXT-INVESTIGATIONS as auto-generated markdown.

2. main.go — status TUI now uses the runtime twin.  Cover-close
   automatically fires the verified walk-trigger ('A' "001") so cached
   stacker heights refresh without the user having to hand-run
   `discproducer walk`.  Version + build-time banner is shown at the
   top of usage/status/TUI; populate with
   `go build -ldflags "-X main.Version=$(git describe ...)
   -X main.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ)"`.

3. DISCOVERY.md — Findings 43–46: S2 byte is a per-stacker missing
   bitmap (verified across all 8 present/absent combinations); S5/S6
   semantics tightened; walk-trigger isolated to bracketed 'A' "001"
   (the historical 'A' "000" is a no-op).  PROTOCOL.md (in twin/)
   carries the cleaned-up structural reference grounded in this work,
   including the §8.1 S0/S9 bit-decode derived by cross-capture
   pairing of action SETs with their following status pushes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 15:43:45 +01:00
twin Add twin/ digital-twin tooling and wire it into status TUI 2026-05-25 15:43:45 +01:00
vm Initial commit: Epson PP-100II Linux reverse-engineering 2026-05-23 13:17:04 +01:00
.gitignore Add twin/ digital-twin tooling and wire it into status TUI 2026-05-25 15:43:45 +01:00
70-discproducer.rules discproducer status: add printer IEEE 1284 device ID 2026-05-23 17:45:52 +01:00
DISCOVERY.md Add twin/ digital-twin tooling and wire it into status TUI 2026-05-25 15:43:45 +01:00
go.mod Initial commit: Epson PP-100II Linux reverse-engineering 2026-05-23 13:17:04 +01:00
IMAGE-RECON.md Initial commit: Epson PP-100II Linux reverse-engineering 2026-05-23 13:17:04 +01:00
main.go Add twin/ digital-twin tooling and wire it into status TUI 2026-05-25 15:43:45 +01:00