|
Motion Master 6.0.0-alpha.86
Next-generation motion control software
|
#include <cstdint>#include <expected>#include <nlohmann/json_fwd.hpp>#include <optional>#include <span>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | mm::etg::EniValidate |
The value a read init command must return before the master goes on (ENI Validate). More... | |
| struct | mm::etg::EniEcatCmd |
One EtherCAT datagram the master sends at a transition (ENI ECatCmdType). More... | |
| struct | mm::etg::EniCoeCmd |
One CoE transfer the master runs at a transition (ENI CoE/InitCmds/InitCmd). More... | |
| struct | mm::etg::EniProcessDataWindow |
Where one device's process data sits in the master's image (ENI ProcessData/Send or ProcessData/Recv). More... | |
| struct | mm::etg::EniSyncManager |
One Sync Manager of a device (ENI SyncManagerSettings). More... | |
| struct | mm::etg::EniPdoEntry |
One object mapped into a PDO (ENI EntryType). More... | |
| struct | mm::etg::EniPdo |
One process-data object of a device (ENI PdoType). More... | |
| struct | mm::etg::EniProcessData |
A device's process-data description (ENI Slave/ProcessData). More... | |
| struct | mm::etg::EniMailboxWindow |
One mailbox window of a device (ENI MailboxSendInfoType / MailboxRecvInfoType). More... | |
| struct | mm::etg::EniMailbox |
A device's mailbox configuration (ENI Slave/Mailbox). More... | |
| struct | mm::etg::EniSlaveInfo |
A device's identity (ENI Slave/Info). More... | |
| struct | mm::etg::EniPreviousPort |
Where this device sits in the ring (ENI Slave/PreviousPort). More... | |
| struct | mm::etg::EniDc |
A device's distributed-clock configuration (ENI Slave/DC). More... | |
| struct | mm::etg::EniSlave |
One device on the bus (ENI Config/Slave). More... | |
| struct | mm::etg::EniCyclicCmd |
One datagram of a cyclic frame (ENI Cyclic/Frame/Cmd). More... | |
| struct | mm::etg::EniFrame |
One cyclic frame (ENI Cyclic/Frame). More... | |
| struct | mm::etg::EniCyclic |
The cyclic task that exchanges process data (ENI Config/Cyclic). More... | |
| struct | mm::etg::EniVariable |
One named value in the master's process image (ENI ProcessImage Variable). More... | |
| struct | mm::etg::EniProcessImageArea |
One half of the master's process image (ENI ProcessImage/Inputs or /Outputs). More... | |
| struct | mm::etg::EniProcessImage |
The master's process image (ENI Config/ProcessImage). More... | |
| struct | mm::etg::EniMailboxStates |
The master's cyclic check of every mailbox on the bus (ENI Master/MailboxStates). More... | |
| struct | mm::etg::EniEoe |
The virtual Ethernet switch the master runs for Ethernet over EtherCAT (ENI Master/EoE). More... | |
| struct | mm::etg::EniMaster |
The master itself (ENI Config/Master). More... | |
| struct | mm::etg::EniNetwork |
A complete network configuration (ENI EtherCATConfig/Config). More... | |
Namespaces | |
| namespace | mm |
| namespace | mm::etg |
Enumerations | |
| enum class | mm::etg::EniTransition : std::uint8_t { mm::etg::II , mm::etg::IP , mm::etg::PP , mm::etg::PO , mm::etg::PS , mm::etg::PI , mm::etg::SS , mm::etg::SP , mm::etg::SO , mm::etg::SI , mm::etg::OS , mm::etg::OP , mm::etg::OI , mm::etg::IB , mm::etg::BI } |
| EtherCAT Network Information (ENI) — the configuration a master replays to start a bus. More... | |
| enum class | mm::etg::EniCmd : std::uint8_t { mm::etg::Nop = 0 , mm::etg::Aprd = 1 , mm::etg::Apwr = 2 , mm::etg::Aprw = 3 , mm::etg::Fprd = 4 , mm::etg::Fpwr = 5 , mm::etg::Fprw = 6 , mm::etg::Brd = 7 , mm::etg::Bwr = 8 , mm::etg::Brw = 9 , mm::etg::Lrd = 10 , mm::etg::Lwr = 11 , mm::etg::Lrw = 12 , mm::etg::Armw = 13 , mm::etg::Frmw = 14 } |
EtherCAT command type of an init or cyclic command (ENI Cmd, ETG.2100 Table 21). More... | |
| enum class | mm::etg::EniRequires : std::uint8_t { mm::etg::None , mm::etg::Frame , mm::etg::Cycle } |
Whether an init command needs a frame or a cycle of its own (ENI <Requires>). More... | |
| enum class | mm::etg::EniState : std::uint8_t { mm::etg::Init , mm::etg::PreOp , mm::etg::SafeOp , mm::etg::Op } |
An AL state a cyclic command is sent in (ENI Cyclic/Frame/Cmd/State). More... | |
| enum class | mm::etg::EniSyncManagerType : std::uint8_t { mm::etg::MailboxOut , mm::etg::MailboxIn , mm::etg::Outputs , mm::etg::Inputs } |
What a Sync Manager carries (ENI SyncManagerSettings/Type). More... | |
| enum class | mm::etg::EniMailboxProtocol : std::uint8_t { mm::etg::Aoe , mm::etg::Eoe , mm::etg::Coe , mm::etg::Soe , mm::etg::Foe , mm::etg::Voe } |
A mailbox protocol a device supports (ENI Mailbox/Protocol). More... | |
| enum class | mm::etg::EniCoeCommandSpecifier : std::uint8_t { mm::etg::Download = 1 , mm::etg::Upload = 2 } |
The CoE command specifier of a mailbox init command (ENI Ccs). More... | |
| enum class | mm::etg::EniPort : std::uint8_t { mm::etg::A , mm::etg::B , mm::etg::C , mm::etg::D } |
A port of the device upstream of this one (ENI Slave/PreviousPort Port). More... | |
Functions | |
| void | mm::etg::to_json (nlohmann::json &j, const EniNetwork &network) |
| Serialises a network as JSON, for a client that renders rather than replays it. | |
| std::string | mm::etg::eniPhysics (std::uint16_t physicalPort) |
Renders the ENI Physics string for a device from its SII physical-port word. | |
| std::expected< std::string, std::string > | mm::etg::writeEni (const EniNetwork &network) |
| Renders a network as an ENI document. | |