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

One primitive type: its ESI spelling and the CoE numbering it maps onto. More...

#include <esi_data_type.h>

Collaboration diagram for mm::etg::PrimitiveType:
[legend]

Public Attributes

std::string_view name
 Canonical ESI name (the base name for parameterised types).
 
uint16_t code = 0
 ETG.1020 data type code.
 
uint16_t bitSize = 0
 Bit width; 0 for types whose width comes from a parameter.
 
bool isSigned = false
 True for two's-complement signed integers.
 

Detailed Description

One primitive type: its ESI spelling and the CoE numbering it maps onto.

ESI files name types with the IEC 61131-3 spellings (UDINT, USINT, REAL, STRING(50)), while the CoE wire and mm::node::decodeSdoBytes speak the ETG.1020 numbering whose symbolic names are different (UNSIGNED32, UNSIGNED8, REAL32, VISIBLE_STRING). This table is the bridge, and it is the whole reason mm::etg needs no dependency on mm::comm: the codes below are cross-checked against mm::comm::kObjectDataTypes but deliberately duplicated as literals, because linking mm::comm would drag SOEM into a pure XML parser and its tests.

Member Data Documentation

◆ bitSize

uint16_t mm::etg::PrimitiveType::bitSize = 0

Bit width; 0 for types whose width comes from a parameter.

◆ code

uint16_t mm::etg::PrimitiveType::code = 0

ETG.1020 data type code.

◆ isSigned

bool mm::etg::PrimitiveType::isSigned = false

True for two's-complement signed integers.

◆ name

std::string_view mm::etg::PrimitiveType::name

Canonical ESI name (the base name for parameterised types).


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