PleniDose Gantry — where the liquid meets the cartridge
S3Pulse does not stop at the freeze-dryer. The same biomimetic computational algorithm that commands the Lyochrysalis controls the PleniDose Gantry — every pump stroke, every motion, every sensed level and every recorded batch flows through one brain. The unified operator shell boots into a home screen of modes — Lyoprester, Liquiprester, PleniDose Gantry, Pumps — each an island with its own workflows, all of them executed by S3Pulse over a machine layer of iPumps, Duet-driven suckback pumps, gated motion, reservoir sensing and append-only batch records. Two machines, one controller, one doctrine: truth from the hardware, every gate explicit, nothing silent.

The shell's home grid puts the protocol workflows on top (Lyoprester · Liquiprester) and the machine surfaces below (PleniDose Gantry · Pumps) — a deliberate operator-experience decision: never a flat pile of tabs. Each mode carries its brand wordmark, and the old machine notebook lives on, whole, as the PleniDose Gantry mode's content rather than being re-hosted or duplicated.
The modes
Lyoprester mode
Four-cartridge liquid scheduling and eight-wide plunger operations for the dual-chamber cartridge:
- Corrected Run — the revised run workspace
- Run Planning · Holder Map · Operations
- Journal / Recovery — every interrupted run is resumable
- Legacy Runs — the pre-unification runs, nested read-only
- Multilayer — stacked-layer Peptourbillon operations
Liquiprester mode
Precision liquid-cartridge filling through two itineraries:
- Direct + ElimiVoid — the straightforward fill path with void elimination
- Cryoviscous + ElimiVoid — for high-viscosity formulations
- Batch & Holders · Formulations & Inventory
- Recovery / Journal
PleniDose Gantry mode
The machine itself, in nine sections: Overview · Connection & Safety · Movement · Pumps · Calibration · Commissioning · Hardware · Diagnostics · Logs. This is where the physical commissioning status lives — read-only, with every missing value named rather than filled with a placeholder.
Pumps mode
Direct manual control of all six pumps — a surface that previously did not exist at all: two iPump i160 dispense pumps (two 4-channel heads, on a write-only link) plus four WM Duet suckback pumps split across all eight suckback cannulas, and a single Stop-all that does exactly what it says.
Under the modes — the machine layer
iPumps — the dispense heart
Two iPump i160 units carry dispense duty through 4-channel heads; per-drive calibration dates and transit speed are recorded into every batch start as machine facts. Priming is its own explicit operation, logged as an event, never folded silently into a run.
Motion — triple-gated, always
The FUYU / FMC4030 motion stack treats the machine as as-built: physical wiring outranks vendor paperwork. Motion is refused unless the DLL is loaded AND its signatures are human-verified AND motion is armed — jogs clamp to a millimetre, there is no auto-home function anywhere, and the E-STOP is never gated. Commissioning proceeds A–E with each stage a gate, not a suggestion.
Reservoir sensing — a warning, not a veto
A level switch on the reservoir reads through the Duet's digital input with operator-confirmed polarity. LOW is a pure warning — it never blocks a run, because the calculated remaining volume is the single source of truth for a real shortfall; and a missing reading renders as an honest "unknown", never an assumed "good".
Batch records — Part-11 spirit
Every run opens with a required batch number. From there an append-only JSONL ledger records everything — batch start with machine facts (profile fingerprint, per-drive calibration dates, transit speed, operator id, recipe), row starts and completions with volumes, per-drive dispense events, primes, purges, aborts, batch end. A restart mid-batch resumes the open batch; closing writes a human-readable report. No retroactive edits, by construction.
PIN operator auth — one name anchors the trail
At app start one operator signs the session with name + PIN. The config stores only a salted SHA-256 hash — never the PIN. First run offers to set it (typed twice, minimum four digits); three wrong attempts bring a sixty-second lockout. It is deliberately identity anchoring, not a permission system: one role, full accountability.
Simulation as a first-class citizen
The whole panel runs against an in-memory simulator — loud SIMULATION banner, sim-local gates, and zero writes to the real configuration. Protocol modes are labelled as simulations in the shell; the machine modes talk to hardware only through the gated transport. Nobody mistakes a demo for a pump.
