Motion Master 6.0.0-alpha.86
Next-generation motion control software
Loading...
Searching...
No Matches
profile_procedures.h
Go to the documentation of this file.
1#pragma once
2
3#include <expected>
4#include <nlohmann/json_fwd.hpp>
5#include <stop_token>
6#include <string>
7#include <string_view>
8#include <vector>
9
10#include "node/device.h"
11#include "node/procedure.h"
12#include "node/profile_device.h"
13
14namespace mm::node {
15
28
30inline constexpr std::string_view kStoreParametersProcedure = "store-parameters";
31
33inline constexpr std::string_view kStoreParametersStep = "store";
34
36std::vector<ProgressStep> storeParametersSteps();
37
62std::expected<void, std::string> runStoreParametersProcedure(Device& device,
63 ProgressReporter& reporter,
64 std::stop_token stop,
65 StoreParametersConfig config = {});
66
69inline constexpr std::string_view kRestoreDefaultParametersProcedure = "restore-default-parameters";
70
72inline constexpr std::string_view kRestoreDefaultParametersStep = "restore";
73
81
89std::expected<RestoreDefaultParametersRequest, std::string> parseRestoreDefaultParametersRequest(
90 const nlohmann::json& body);
91
93std::vector<ProcedureParameter> restoreDefaultParametersParameters();
94
96std::vector<ProgressStep> restoreDefaultParametersSteps();
97
115std::expected<void, std::string> runRestoreDefaultParametersProcedure(
116 Device& device, ProgressReporter& reporter, std::stop_token stop,
117 const RestoreDefaultParametersRequest& request, RestoreDefaultParametersConfig config = {});
118
119} // namespace mm::node
Represents a single node on the fieldbus.
Definition device.h:116
The handle a procedure body uses to report where it has got to.
Definition procedure.h:327
Definition bus_health_source.h:7
std::expected< void, std::string > runRestoreDefaultParametersProcedure(Device &device, ProgressReporter &reporter, std::stop_token stop, const RestoreDefaultParametersRequest &request, RestoreDefaultParametersConfig config)
Runs a restore of default parameters (0x1011) as a procedure body.
Definition profile_procedures.cc:85
constexpr std::string_view kStoreParametersProcedure
Procedure name for storing parameters, as it appears in its URL and its snapshot key.
Definition profile_procedures.h:30
RestoreGroup
Which group of default parameters to restore (which 0x1011 sub-entry to command). The enum value is t...
Definition profile_device.h:59
@ kAll
0x1011:01 — all default parameters.
std::expected< void, std::string > runStoreParametersProcedure(Device &device, ProgressReporter &reporter, std::stop_token stop, StoreParametersConfig config)
Runs a parameter store (0x1010) as a procedure body.
Definition profile_procedures.cc:14
std::expected< RestoreDefaultParametersRequest, std::string > parseRestoreDefaultParametersRequest(const nlohmann::json &body)
Parses and validates a client's restore request body.
Definition profile_procedures.cc:36
std::vector< ProgressStep > restoreDefaultParametersSteps()
Restore default parameters' step template — one step, idle.
Definition profile_procedures.cc:81
constexpr std::string_view kStoreParametersStep
The single step storing parameters reports against.
Definition profile_procedures.h:33
constexpr std::string_view kRestoreDefaultParametersProcedure
Procedure name for restoring default parameters, as it appears in its URL and its snapshot key.
Definition profile_procedures.h:69
std::vector< ProgressStep > storeParametersSteps()
Store parameters' step template — one step, idle.
Definition profile_procedures.cc:12
constexpr std::string_view kRestoreDefaultParametersStep
The single step restoring default parameters reports against.
Definition profile_procedures.h:72
std::vector< ProcedureParameter > restoreDefaultParametersParameters()
What restoring default parameters accepts, as its descriptor advertises it.
Definition profile_procedures.cc:60
What one restore was asked to do.
Definition profile_procedures.h:75
RestoreGroup group
Definition profile_procedures.h:79
Timing for the store-parameters confirmation walk (ProfileDevice::runStoreParameters).
Definition profile_device.h:93