Motion Master 6.0.0-alpha.86
Next-generation motion control software
Loading...
Searching...
No Matches
mm::node::ProcedureDescriptor Struct Reference

What a procedure is, independent of any run — the half of the catalogue a client needs to render a control for it. More...

#include <procedure.h>

Collaboration diagram for mm::node::ProcedureDescriptor:
[legend]

Public Attributes

std::string name
 Identifier: the URL segment, and the key its snapshot is retained under.
 
std::string title
 Short human-readable name, e.g. "OS command".
 
std::string description
 What the procedure does, in a sentence or two.
 
std::vector< std::string > caveats
 What a user must know before running it; may be empty.
 
bool movesMotor = false
 True if running it can move the shaft.
 
bool requiresEnabled = false
 True if the drive must be enabled first.
 
std::vector< ProcedureParameterparameters
 
std::vector< ProgressStepsteps
 

Detailed Description

What a procedure is, independent of any run — the half of the catalogue a client needs to render a control for it.

The text lives here, on the server, rather than in each client: the house rule that every action control carries a description and its caveats means it has to exist somewhere, and duplicating it per client is how it goes stale. A client renders whatever the catalogue reports, so it stays in step with the server's procedure set without hard-coding an entry per procedure.

What it deliberately does not carry is presentation. Formatting a step's value is the client's business (see ProgressStep) — whether 0.123 renders as "123 mΩ" is a decision the server has no business making.

Member Data Documentation

◆ caveats

std::vector<std::string> mm::node::ProcedureDescriptor::caveats

What a user must know before running it; may be empty.

◆ description

std::string mm::node::ProcedureDescriptor::description

What the procedure does, in a sentence or two.

◆ movesMotor

bool mm::node::ProcedureDescriptor::movesMotor = false

True if running it can move the shaft.

◆ name

std::string mm::node::ProcedureDescriptor::name

Identifier: the URL segment, and the key its snapshot is retained under.

◆ parameters

std::vector<ProcedureParameter> mm::node::ProcedureDescriptor::parameters

What the request body may carry, in the order a client should present it; empty for a procedure that takes none (most of them — a procedure's timings are properties of the command it issues, not a caller's choice).

◆ requiresEnabled

bool mm::node::ProcedureDescriptor::requiresEnabled = false

True if the drive must be enabled first.

◆ steps

std::vector<ProgressStep> mm::node::ProcedureDescriptor::steps

The ordered step template, all idle — both what a run is seeded with and what an idle snapshot is rendered from.

◆ title

std::string mm::node::ProcedureDescriptor::title

Short human-readable name, e.g. "OS command".


The documentation for this struct was generated from the following file: