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

SII (Slave Information Interface) — the structured EEPROM image of an EtherCAT slave. More...

#include <sii.h>

Public Attributes

uint16_t pdiControl = 0
 
uint16_t pdiConfiguration = 0
 
uint16_t syncImpulseLen = 0
 
uint16_t pdiConfiguration2 = 0
 
uint16_t configuredStationAlias = 0
 
uint16_t checksum = 0
 
uint32_t vendorId = 0
 
uint32_t productCode = 0
 
uint32_t revisionNumber = 0
 
uint32_t serialNumber = 0
 
uint16_t bootstrapReceiveMailboxOffset = 0
 
uint16_t bootstrapReceiveMailboxSize = 0
 
uint16_t bootstrapSendMailboxOffset = 0
 
uint16_t bootstrapSendMailboxSize = 0
 
uint16_t standardReceiveMailboxOffset = 0
 
uint16_t standardReceiveMailboxSize = 0
 
uint16_t standardSendMailboxOffset = 0
 
uint16_t standardSendMailboxSize = 0
 
uint16_t mailboxProtocol = 0
 
uint16_t size = 0
 
uint16_t version = 0
 

Detailed Description

SII (Slave Information Interface) — the structured EEPROM image of an EtherCAT slave.

Every EtherCAT slave carries a non-volatile EEPROM wired to its ESC; the ESC auto-loads its first words at power-on to configure itself before the master communicates. The SII is the standardised layout of that EEPROM: a fixed 128-byte header (identity + mailbox configuration) followed by a sequence of variable-length, self-describing categories (strings, general info, FMMU/Sync-Manager defaults, default PDO mappings, distributed-clock settings). The raw bytes are read off the bus with FieldbusDriver::readSii; parseSii decodes them into the structures below, which serialise 1:1 to JSON for the SII UI page.

Reference: ETG.2010 (EtherCAT SubDevice Information Interface / SII specification) is the authoritative layout — the fixed header (Table 2), the category directory (Tables 3 & 5), and the per-category structures (General Table 7, FMMU Table 9, SyncM Table 11, TxPDO/RxPDO Table 14, DC Table 12). ETG.2010 extends the base layout originally defined in ETG.1000.6 §5.4; where the two differ (wider category ranges, the extended category IDs, signed CurrentOnEBus) ETG.2010 governs. Individual decoders below cite their specific ETG.2010 table.

All multi-byte fields are little-endian. The parser is a pure, hardware-independent transform over a byte span — it is unit-tested against a captured EEPROM image with no fieldbus present.

Fixed-header (first 128 bytes) fields of an SII image.

String-index fields elsewhere (e.g. SiiCategoryGeneral::nameIdx) reference 1-based entries of the STRINGS category. mailboxProtocol is a bitfield (0x01 AoE, 0x02 EoE, 0x04 CoE, 0x08 FoE, 0x10 SoE, 0x20 VoE). size is the raw EEPROM-size word (ETG: size in KiBit − 1).

Member Data Documentation

◆ bootstrapReceiveMailboxOffset

uint16_t mm::comm::SiiInfo::bootstrapReceiveMailboxOffset = 0

◆ bootstrapReceiveMailboxSize

uint16_t mm::comm::SiiInfo::bootstrapReceiveMailboxSize = 0

◆ bootstrapSendMailboxOffset

uint16_t mm::comm::SiiInfo::bootstrapSendMailboxOffset = 0

◆ bootstrapSendMailboxSize

uint16_t mm::comm::SiiInfo::bootstrapSendMailboxSize = 0

◆ checksum

uint16_t mm::comm::SiiInfo::checksum = 0

◆ configuredStationAlias

uint16_t mm::comm::SiiInfo::configuredStationAlias = 0

◆ mailboxProtocol

uint16_t mm::comm::SiiInfo::mailboxProtocol = 0

◆ pdiConfiguration

uint16_t mm::comm::SiiInfo::pdiConfiguration = 0

◆ pdiConfiguration2

uint16_t mm::comm::SiiInfo::pdiConfiguration2 = 0

◆ pdiControl

uint16_t mm::comm::SiiInfo::pdiControl = 0

◆ productCode

uint32_t mm::comm::SiiInfo::productCode = 0

◆ revisionNumber

uint32_t mm::comm::SiiInfo::revisionNumber = 0

◆ serialNumber

uint32_t mm::comm::SiiInfo::serialNumber = 0

◆ size

uint16_t mm::comm::SiiInfo::size = 0

◆ standardReceiveMailboxOffset

uint16_t mm::comm::SiiInfo::standardReceiveMailboxOffset = 0

◆ standardReceiveMailboxSize

uint16_t mm::comm::SiiInfo::standardReceiveMailboxSize = 0

◆ standardSendMailboxOffset

uint16_t mm::comm::SiiInfo::standardSendMailboxOffset = 0

◆ standardSendMailboxSize

uint16_t mm::comm::SiiInfo::standardSendMailboxSize = 0

◆ syncImpulseLen

uint16_t mm::comm::SiiInfo::syncImpulseLen = 0

◆ vendorId

uint32_t mm::comm::SiiInfo::vendorId = 0

◆ version

uint16_t mm::comm::SiiInfo::version = 0

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