Motion Master 6.0.0-alpha.86
Next-generation motion control software
Loading...
Searching...
No Matches
mm::etg::EniEcatCmd Struct Reference

One EtherCAT datagram the master sends at a transition (ENI ECatCmdType). More...

#include <eni.h>

Collaboration diagram for mm::etg::EniEcatCmd:
[legend]

Public Attributes

std::vector< EniTransitiontransitions
 Transitions to send this command at.
 
bool beforeSlave = false
 Send before the addressed device's own commands.
 
std::string comment
 Free text a master may log. Empty is not written.
 
EniRequires requirement = EniRequires::None
 Frame or cycle isolation.
 
EniCmd cmd = EniCmd::Nop
 The datagram type, which also fixes the addressing mode.
 
std::optional< std::uint16_t > adp
 Device address, with ado. Excludes addr.
 
std::optional< std::uint16_t > ado
 Offset in the device's ESC memory. Excludes addr.
 
std::optional< std::uint32_t > addr
 Logical start address. Excludes adp and ado.
 
std::vector< std::uint8_t > data
 Bytes to write. Excludes dataLength.
 
std::optional< std::uint32_t > dataLength
 Bytes to read. Excludes data.
 
std::optional< std::uint32_t > cnt
 Working counter a successful datagram returns.
 
std::optional< std::uint32_t > retries
 Re-sends allowed before the command fails.
 
std::optional< EniValidatevalidate
 Retry-until condition. Excludes timeoutMs.
 
std::optional< std::uint32_t > timeoutMs
 Plain timeout. Excludes validate.
 

Detailed Description

One EtherCAT datagram the master sends at a transition (ENI ECatCmdType).

The address is one of two shapes, and exactly one must be filled: ado with an optional adp for the physical commands, or addr for the logical ones. The payload is the same choice: data for a write, or dataLength alone for a read, which says how many bytes to make room for. writeEni rejects a command that fills both sides of either choice.

Member Data Documentation

◆ addr

std::optional<std::uint32_t> mm::etg::EniEcatCmd::addr

Logical start address. Excludes adp and ado.

◆ ado

std::optional<std::uint16_t> mm::etg::EniEcatCmd::ado

Offset in the device's ESC memory. Excludes addr.

◆ adp

std::optional<std::uint16_t> mm::etg::EniEcatCmd::adp

Device address, with ado. Excludes addr.

◆ beforeSlave

bool mm::etg::EniEcatCmd::beforeSlave = false

Send before the addressed device's own commands.

◆ cmd

EniCmd mm::etg::EniEcatCmd::cmd = EniCmd::Nop

The datagram type, which also fixes the addressing mode.

◆ cnt

std::optional<std::uint32_t> mm::etg::EniEcatCmd::cnt

Working counter a successful datagram returns.

◆ comment

std::string mm::etg::EniEcatCmd::comment

Free text a master may log. Empty is not written.

◆ data

std::vector<std::uint8_t> mm::etg::EniEcatCmd::data

Bytes to write. Excludes dataLength.

◆ dataLength

std::optional<std::uint32_t> mm::etg::EniEcatCmd::dataLength

Bytes to read. Excludes data.

◆ requirement

EniRequires mm::etg::EniEcatCmd::requirement = EniRequires::None

Frame or cycle isolation.

◆ retries

std::optional<std::uint32_t> mm::etg::EniEcatCmd::retries

Re-sends allowed before the command fails.

◆ timeoutMs

std::optional<std::uint32_t> mm::etg::EniEcatCmd::timeoutMs

Plain timeout. Excludes validate.

◆ transitions

std::vector<EniTransition> mm::etg::EniEcatCmd::transitions

Transitions to send this command at.

◆ validate

std::optional<EniValidate> mm::etg::EniEcatCmd::validate

Retry-until condition. Excludes timeoutMs.


The documentation for this struct was generated from the following file: