Instruments #

URLs: /instruments (list), /instruments/new, /instruments/{id} (detail), /instruments/{id}/edit

The Instruments page has two tabs: Catalog (instrument types — the templates that describe what an instrument can do) and Inventory (physical assets — individual units with serial numbers, calibration dates, manufacturer / model).

List — /instruments #

Catalog tab (default) #

A table with one row per instrument type defined in the catalog.

ColumnWhat it shows
TypeCatalog type id (e.g. keysight_e3631a)
NameHuman-readable name
DescriptionDescription, when set
CapabilitiesCount of capability entries (function + direction pairs the instrument supports)

Click a row to open /instruments/{type} — the catalog-type detail view with the full capability list. When the catalog is empty, the table is replaced with a card offering a Create Instrument button.

Inventory tab #

A table with one row per physical instrument that is either configured in the project (an asset YAML file exists) or has been observed in run history (no YAML file, only referenced by past runs). Columns:

ColumnWhat it shows
StatusConfigured chip (grey) — an asset YAML file exists. Observed chip (amber) — appears in run history but has no asset YAML file.
IDAsset identifier
DriverDriver identifier from the asset YAML
Manufacturer / ModelIdentity stamp from the asset YAML
SerialHardware serial number
Cal DueCalibration due date, ISO 8601
Cal LabCalibration lab name
RunsTotal runs that have used this instrument
Last RunMost recent run start timestamp, browser-local time

Above the table, a filter card with All / Configured / Observed buttons narrows the view. The active filter is mirrored into the URL so the view is bookmarkable.

Clicking a Configured row jumps to the asset detail view at /instruments/{id}. Observed rows are not clickable — no YAML file exists to display.

When no instrument assets are configured or observed, the tab shows a blue hint card pointing at litmus station init to discover instruments and create asset files.

Detail — /instruments/{id} #

The same URL resolves either a catalog type OR a physical asset depending on what {id} matches; the page picks the right shape automatically:

  • Catalog type — info card followed by a tab strip with three tabs:

    TabContent
    CapabilitiesThe full capability list — function, direction, signals, specs, and parameters per entry
    SCPI CommandsA placeholder on the detail view — SCPI vocabulary isn't surfaced here today (view and edit it on the Edit page).
    SimulationLikewise a placeholder on the detail view; edit simulation responses on the Edit page.
  • Asset — info card (ID, Driver, Protocol, Manufacturer / Model, Serial, Firmware) followed by stacked cards (no tabs): a Calibration card (last cal date, due date, certificate, lab) and a Linked Stations card (the stations whose YAML references this asset).

Edit — /instruments/{id}/edit #

Only resolves for catalog types; assets are edited by hand-editing the instruments/<id>.yaml file directly.

A tab strip with four tabs:

TabContent
InfoName, description, manufacturer / model
CapabilitiesAdd / edit / delete capability entries
SCPI CommandsEdit the SCPI command vocabulary
SimulationEdit simulation-mode responses

New — /instruments/new #

A form for creating a new catalog type. Sets type id, name, description, and an initial capability list. After creation, the page redirects to the four-tab Edit surface (/instruments/{type}/edit) for further capability / SCPI / simulation editing.

Underlying data #

  • Catalog types come from the project's catalog/ directory plus the bundled generic catalog (litmus.catalog.generic)
  • Inventory assets come from instruments/*.yaml, plus observed-only assets seen in run history (no YAML file)

For the YAML schemas, see Catalog schema for catalog types and Models → InstrumentAssetFile for asset files.

Common tasks #

  • Add a new instrument type to the project's catalog — open /instruments/new, fill the type form.
  • Discover instruments on the bench — run litmus station init from the project root; it discovers instruments, prompts you to assign a role to each, and writes an asset YAML for the ones you assign (plus a station YAML).
  • Check calibration status — the Inventory tab's Cal Due column, sorted ascending, surfaces what's about to expire.

See also #