Motion Master 6.0.0-alpha.86
Next-generation motion control software
Loading...
Searching...
No Matches
cia402_control.cc File Reference
#include "node/cia402_control.h"
#include <chrono>
#include <expected>
#include <string>
#include <type_traits>
#include <utility>
Include dependency graph for cia402_control.cc:

Namespaces

namespace  mm
 
namespace  mm::node
 

Functions

std::expected< Cia402Status, std::string > mm::node::cia402Status (DeviceManager &deviceManager, uint16_t slavePosition)
 Reads a device's CiA402 control snapshot (state, status/control words, active mode).
 
std::expected< Cia402Status, std::string > mm::node::setCia402OperationMode (DeviceManager &deviceManager, uint16_t slavePosition, int8_t mode, std::chrono::milliseconds timeout=std::chrono::milliseconds(200))
 Requests an operation mode (0x6060) by its raw value, then reads back the snapshot.
 
std::expected< Cia402Status, std::string > mm::node::runCia402Command (DeviceManager &deviceManager, uint16_t slavePosition, Cia402Command command, std::chrono::milliseconds timeout=std::chrono::milliseconds(2000))
 Runs a CiA402 state-machine command (enable / disable / quick stop / fault reset), then reads back the resulting snapshot.
 
std::expected< Cia402Status, std::string > mm::node::transitionToCia402State (DeviceManager &deviceManager, uint16_t slavePosition, cia402::State target, std::chrono::milliseconds timeout=std::chrono::milliseconds(2000))
 Brings a drive to target, walking whatever transitions that takes, then reads back the resulting snapshot.
 
std::expected< void, std::string > mm::node::setCia402Target (DeviceManager &deviceManager, uint16_t slavePosition, Cia402TargetKind kind, int32_t setpoint)
 Writes the one CiA402 cyclic setpoint that matches the active operation mode.