|
Motion Master 6.0.0-alpha.50
Next-generation motion control software
|
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 |
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).
| uint16_t mm::comm::SiiInfo::bootstrapReceiveMailboxOffset = 0 |
| uint16_t mm::comm::SiiInfo::bootstrapReceiveMailboxSize = 0 |
| uint16_t mm::comm::SiiInfo::bootstrapSendMailboxOffset = 0 |
| uint16_t mm::comm::SiiInfo::bootstrapSendMailboxSize = 0 |
| uint16_t mm::comm::SiiInfo::checksum = 0 |
| uint16_t mm::comm::SiiInfo::configuredStationAlias = 0 |
| uint16_t mm::comm::SiiInfo::mailboxProtocol = 0 |
| uint16_t mm::comm::SiiInfo::pdiConfiguration = 0 |
| uint16_t mm::comm::SiiInfo::pdiConfiguration2 = 0 |
| uint16_t mm::comm::SiiInfo::pdiControl = 0 |
| uint32_t mm::comm::SiiInfo::productCode = 0 |
| uint32_t mm::comm::SiiInfo::revisionNumber = 0 |
| uint32_t mm::comm::SiiInfo::serialNumber = 0 |
| uint16_t mm::comm::SiiInfo::size = 0 |
| uint16_t mm::comm::SiiInfo::standardReceiveMailboxOffset = 0 |
| uint16_t mm::comm::SiiInfo::standardReceiveMailboxSize = 0 |
| uint16_t mm::comm::SiiInfo::standardSendMailboxOffset = 0 |
| uint16_t mm::comm::SiiInfo::standardSendMailboxSize = 0 |
| uint16_t mm::comm::SiiInfo::syncImpulseLen = 0 |
| uint32_t mm::comm::SiiInfo::vendorId = 0 |
| uint16_t mm::comm::SiiInfo::version = 0 |