|
Motion Master 6.0.0-alpha.86
Next-generation motion control software
|
A dictionary-scoped type definition (ETG.2000 DataTypeType).
More...
#include <esi.h>
Classes | |
| struct | ArrayInfo |
One dimension of an array type (ETG.2000 ArrayInfoType). More... | |
| struct | EnumInfo |
One enumerator of an enumerated type (ETG.2000 EnumInfoType). More... | |
| struct | SubItem |
A member of a composite type (ETG.2000 SubItemType). More... | |
Public Attributes | |
| std::optional< uint32_t > | index |
| std::string | name |
| std::optional< std::string > | baseType |
| std::vector< Text > | comments |
| int32_t | bitSize = 0 |
| std::vector< ArrayInfo > | arrayInfo |
| std::vector< SubItem > | subItems |
| std::vector< EnumInfo > | enumInfo |
| std::vector< Property > | properties |
A dictionary-scoped type definition (ETG.2000 DataTypeType).
arrayInfo, subItems and enumInfo form an xs:choice — at most one is non-empty — which yields four shapes:
subItems; enumInfo lists the enumerators if any;subItems where subItems[1].type is name + "ARR" (ETG.2000 Table 12, "Data Type Composition");baseType + arrayInfo;subItems.EtherCATBase.xsd puts an xs:key on DataType/Name scoped to a single <Dictionary>, and a name like DT1600 is redefined independently in every device and module dictionary of the same file. Never build one global type table across dictionaries. | std::vector<ArrayInfo> mm::etg::EsiDataType::arrayInfo |
| std::optional<std::string> mm::etg::EsiDataType::baseType |
| int32_t mm::etg::EsiDataType::bitSize = 0 |
| std::vector<Text> mm::etg::EsiDataType::comments |
| std::vector<EnumInfo> mm::etg::EsiDataType::enumInfo |
| std::optional<uint32_t> mm::etg::EsiDataType::index |
| std::string mm::etg::EsiDataType::name |
| std::vector<Property> mm::etg::EsiDataType::properties |
| std::vector<SubItem> mm::etg::EsiDataType::subItems |