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

The <Flags> block of an object (ObjectType/Flags, EtherCATBase.xsd:323). More...

#include <esi.h>

Public Attributes

std::optional< Accessaccess
 
std::optional< Categorycategory
 
std::optional< PdoMappingpdoMapping
 
std::optional< SafetyMappingsafetyMapping
 
std::optional< uint32_t > attribute
 SoE IDN attribute (IEC 61158-4-16).
 
std::optional< std::string > transition
 Obsolete per ETG.2000; carried, never interpreted.
 
std::optional< SdoAccesssdoAccess
 
std::optional< int32_t > backup
 
std::optional< int32_t > setting
 

Detailed Description

The <Flags> block of an object (ObjectType/Flags, EtherCATBase.xsd:323).

Every member is std::optional because absence is semantically distinct from the spec default, and that distinction is the entire basis of ETG.2000 Figure 37, transcribed in buildDeviceEntries: for a composite object a <Flags> on the DataType SubItem shadows this block wholesale, so a flag missing from the SubItem resolves to that flag's own default — the spec's "Used default value" — rather than to the value here. Collapsing the optional into a default at parse time would erase the very information the rule branches on.

Transition and SdoAccess have no counterpart on EsiDataType::SubItem::Flags (EtherCATBase.xsd gives them to ObjectType only), and neither, along with attribute, is covered by Figure 37 — its NOTE scopes the rule to Access, Category, PdoMapping, SafetyMapping, Backup and Setting.

Deliberately not shared with EsiDataType::SubItem::Flags: that one has no SdoAccess and no Transition, and two faithful definitions beat one type that lies about which fields can occur where.

Member Data Documentation

◆ access

std::optional<Access> mm::etg::EsiObject::Flags::access

◆ attribute

std::optional<uint32_t> mm::etg::EsiObject::Flags::attribute

SoE IDN attribute (IEC 61158-4-16).

◆ backup

std::optional<int32_t> mm::etg::EsiObject::Flags::backup

◆ category

std::optional<Category> mm::etg::EsiObject::Flags::category

◆ pdoMapping

std::optional<PdoMapping> mm::etg::EsiObject::Flags::pdoMapping

◆ safetyMapping

std::optional<SafetyMapping> mm::etg::EsiObject::Flags::safetyMapping

◆ sdoAccess

std::optional<SdoAccess> mm::etg::EsiObject::Flags::sdoAccess

◆ setting

std::optional<int32_t> mm::etg::EsiObject::Flags::setting

◆ transition

std::optional<std::string> mm::etg::EsiObject::Flags::transition

Obsolete per ETG.2000; carried, never interpreted.


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