Motion Master 6.0.0-alpha.50
Next-generation motion control software
Loading...
Searching...
No Matches
mm::comm::OdEntry Struct Reference

Schema of a single object dictionary entry uploaded from a slave. More...

#include <fieldbus_driver.h>

Collaboration diagram for mm::comm::OdEntry:
[legend]

Public Attributes

uint16_t index = 0
 CoE object index.
 
uint8_t subindex = 0
 CoE object subindex.
 
uint16_t objectCode = 0
 OTYPE_VAR / OTYPE_ARRAY / OTYPE_RECORD (ETG.1000.6 §5).
 
uint16_t dataType = 0
 ETG.1020 data type code (e.g. 0x0007 = UNSIGNED32).
 
uint16_t bitLength = 0
 Bit length of the entry.
 
uint16_t access = 0
 ObjAccess bitfield (read/write per AL state).
 
std::string name
 Textual description.
 
std::optional< uint32_t > unit
 ETG.1004 unit code, if available.
 
std::optional< std::vector< uint8_t > > defaultValue
 Raw default-value bytes, if available.
 
std::optional< std::vector< uint8_t > > minValue
 Raw minimum-value bytes, if available.
 
std::optional< std::vector< uint8_t > > maxValue
 Raw maximum-value bytes, if available.
 

Detailed Description

Schema of a single object dictionary entry uploaded from a slave.

Populated by FieldbusDriver::readObjectDictionary, one entry per (index, subindex) pair. Holds the immutable description only — no current value.

unit / defaultValue / minValue / maxValue carry the raw bytes for the optional metadata when a source populates them; the raw byte form is intentional — decoding into a typed variant is done at the node layer where dataType is interpreted. The SOEM driver currently leaves them empty: it reads entries with the basic-info "Get Entry Description" request only, because SOMANET firmware echoes the extended ValueInfo bits without the matching payload, which corrupts the trailing name. If these are ever needed, source them from the object-dictionary description metadata rather than this service.

Member Data Documentation

◆ access

uint16_t mm::comm::OdEntry::access = 0

ObjAccess bitfield (read/write per AL state).

◆ bitLength

uint16_t mm::comm::OdEntry::bitLength = 0

Bit length of the entry.

◆ dataType

uint16_t mm::comm::OdEntry::dataType = 0

ETG.1020 data type code (e.g. 0x0007 = UNSIGNED32).

◆ defaultValue

std::optional<std::vector<uint8_t> > mm::comm::OdEntry::defaultValue

Raw default-value bytes, if available.

◆ index

uint16_t mm::comm::OdEntry::index = 0

CoE object index.

◆ maxValue

std::optional<std::vector<uint8_t> > mm::comm::OdEntry::maxValue

Raw maximum-value bytes, if available.

◆ minValue

std::optional<std::vector<uint8_t> > mm::comm::OdEntry::minValue

Raw minimum-value bytes, if available.

◆ name

std::string mm::comm::OdEntry::name

Textual description.

◆ objectCode

uint16_t mm::comm::OdEntry::objectCode = 0

OTYPE_VAR / OTYPE_ARRAY / OTYPE_RECORD (ETG.1000.6 §5).

◆ subindex

uint8_t mm::comm::OdEntry::subindex = 0

CoE object subindex.

◆ unit

std::optional<uint32_t> mm::comm::OdEntry::unit

ETG.1004 unit code, if available.


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