|
Motion Master 6.0.0-alpha.50
Next-generation motion control software
|
Pure CiA402 (CANopen drive profile, ETG.6010) vocabulary — object indices, control/status word bit layout, the device state machine, and operation modes. More...
#include <cstdint>#include <string_view>Go to the source code of this file.
Namespaces | |
| namespace | mm |
| namespace | mm::node |
| namespace | mm::node::cia402 |
Functions | |
| constexpr State | mm::node::cia402::decodeState (uint16_t statusword) |
| Decodes the CiA402 state machine state from a statusword (0x6041) value. | |
| constexpr bool | mm::node::cia402::isFaulted (uint16_t statusword) |
| Whether the statusword's fault bit (bit 3) is set, gated to the faulted states. | |
| constexpr std::string_view | mm::node::cia402::toString (State state) |
Human-readable name of a state (for logging / JSON). Never returns nullptr. | |
| constexpr std::string_view | mm::node::cia402::toString (OperationMode mode) |
Human-readable name of an operation mode (for logging / JSON). Never nullptr. | |
Variables | |
| constexpr uint16_t | mm::node::cia402::kCommandMask = 0x008F |
| Controlword (0x6040) command-bit mask — the state-machine bits a transition touches. | |
Pure CiA402 (CANopen drive profile, ETG.6010) vocabulary — object indices, control/status word bit layout, the device state machine, and operation modes.
This header is deliberately free of any dependency on Device: it is the protocol definition, decoupled from the transport, so the bit-twiddling can be unit-tested in isolation and reused by both Cia402Drive (the borrowed view) and any cyclic task that composes a controlword by hand. The behaviour that actually touches the bus lives in cia402_drive.h.