|
Motion Master 6.0.0-alpha.86
Next-generation motion control software
|
The <Flags> block of an object (ObjectType/Flags, EtherCATBase.xsd:323).
More...
#include <esi.h>
Public Attributes | |
| std::optional< Access > | access |
| std::optional< Category > | category |
| std::optional< PdoMapping > | pdoMapping |
| std::optional< SafetyMapping > | safetyMapping |
| 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< SdoAccess > | sdoAccess |
| std::optional< int32_t > | backup |
| std::optional< int32_t > | setting |
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.
| std::optional<Access> mm::etg::EsiObject::Flags::access |
| std::optional<uint32_t> mm::etg::EsiObject::Flags::attribute |
SoE IDN attribute (IEC 61158-4-16).
| std::optional<int32_t> mm::etg::EsiObject::Flags::backup |
| std::optional<Category> mm::etg::EsiObject::Flags::category |
| std::optional<PdoMapping> mm::etg::EsiObject::Flags::pdoMapping |
| std::optional<SafetyMapping> mm::etg::EsiObject::Flags::safetyMapping |
| std::optional<SdoAccess> mm::etg::EsiObject::Flags::sdoAccess |
| std::optional<int32_t> mm::etg::EsiObject::Flags::setting |
| std::optional<std::string> mm::etg::EsiObject::Flags::transition |
Obsolete per ETG.2000; carried, never interpreted.