|
Motion Master 6.0.0-alpha.86
Next-generation motion control software
|
What operation modes a drive has, and which of them it says it supports. More...
#include <cstdint>#include <expected>#include <nlohmann/json_fwd.hpp>#include <optional>#include <string>#include <vector>#include "node/device.h"#include "node/device_manager.h"Go to the source code of this file.
Classes | |
| struct | mm::node::OperationModeInfo |
| One operation mode of one device. More... | |
| struct | mm::node::OperationModes |
| Every operation mode of one device, with what the drive says about each. More... | |
Namespaces | |
| namespace | mm |
| namespace | mm::node |
Enumerations | |
| enum class | mm::node::OperationModeKind : uint8_t { mm::node::kStandard , mm::node::kManufacturer } |
| Where a mode is defined, which is also how much can be said about it. More... | |
Functions | |
| void | mm::node::to_json (nlohmann::json &j, const OperationModes &modes) |
| std::expected< OperationModes, std::string > | mm::node::deviceOperationModes (Device &device) |
Builds the operation-mode table for device. | |
| std::expected< OperationModes, std::string > | mm::node::operationModes (DeviceManager &deviceManager, uint16_t slavePosition) |
Borrow-and-delegate wrapper over deviceOperationModes, for a caller holding a bus position rather than a device (the HTTP layer). | |
What operation modes a drive has, and which of them it says it supports.
Sits outward of Device and names both profiles, the way procedure_catalogue does: the standard half is CiA402 vocabulary read against the drive's own capability field, the manufacturer half is the vendor's, and joining them is neither one's business. Nothing in cia402.h or somanet_drive.h knows this file exists.
Why an endpoint at all: 0x6061 answers with a number, and a negative one names a mode no standard table can decode — a drive sitting in -2 reads as "Unknown" to anything that only knows CiA402. This is the table that turns the number into a mode.