|
Motion Master 6.0.0-alpha.86
Next-generation motion control software
|
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>
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< ProcedureParameter > | parameters |
| std::vector< ProgressStep > | steps |
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.
| std::vector<std::string> mm::node::ProcedureDescriptor::caveats |
What a user must know before running it; may be empty.
| std::string mm::node::ProcedureDescriptor::description |
What the procedure does, in a sentence or two.
| bool mm::node::ProcedureDescriptor::movesMotor = false |
True if running it can move the shaft.
| std::string mm::node::ProcedureDescriptor::name |
Identifier: the URL segment, and the key its snapshot is retained under.
| 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).
| bool mm::node::ProcedureDescriptor::requiresEnabled = false |
True if the drive must be enabled first.
| 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.
| std::string mm::node::ProcedureDescriptor::title |
Short human-readable name, e.g. "OS command".