Plesty Documentation

Interfaces

The ways people and programs drive the platform — PLESTY Bench's window, control panels, command lines, scripts and live views — all faces of the same device servers and run folders.

None of the ways to drive PLESTY is the system itself. Each is a face of the same two things, so they mix freely: a run started in the window can be stopped from a script, and a device started on the command line shows up in the window.

PLESTY Bench's window, control panels, command lines, scripts and live views, each acting on device servers, run folders or both; live views only read.

PLESTY Bench

The application on each lab PC. Its window has two tabs:

The Devices tab: declared devices with their host, source, state and port, the selected one's buttons, and its log

  • Devices — the bench's fleet (any mix of fleets and benches, chosen in View ▸ Fleet): each device's package and version, the PC it runs on, its state and port; Start, Stop, Control, Install, Update, Field Test; and its Log, Jobs, Reports, Terminal and Traffic.
  • Experiments — one row per run: Create, Configure, Run, Pause, Stop, Abort, Resume; and the run's Log, Data, Visualization and Report with Export HTML.

Nothing the bench starts is its child process: closing, updating or crashing the window stops no instrument and no measurement. Everything it installs and writes lives under one folder, ~/.plesty/server, with one environment per package version.

Control panels

A device's panel is built from what its module declares — every setting with its unit and limits, every operation as a button.

The Control window: a power meter and a rotation stage, each read-only until Take control is ticked

It opens read-only, since an experiment may be using the instrument. Take control makes it usable; a click runs an operation once, and holding a reading repeats it every second until held again. The same panel opens from the bench's Control, from plesty-bench control on another machine, and from a device module's own --gui.

Command lines

Command Is For
plesty-server PLESTY Bench without its window fleet up, start, status, field-test — scripts, SSH, a PC with nobody logged in
plesty-bench a client for another bench's agent install, update, field-test and control a bench from your own computer
python -m plesty.<device> a device server --tcp-port, --mock for its simulator, --gui
python -m plesty.<experiment> an experiment --config, --dry-run, --resume <run>, --manifest
plesty the SDK init, check, docs

Every experiment has the same command line, and it is the one the bench runs: the window adds nothing a terminal cannot do.

Live views

A viewer plots a run while it happens, reading only the new lines of its records at each refresh — so any number can watch one run, and opening or closing one costs the measurement nothing. A finished run plays back, or renders to a video, the same way. The bench's Visualization pane is one.

The pol-pl demo: its commands, then the viewer filling in spectra, the spectral map and the fine structure

  • Quickstart — every interface on one real measurement.