Function parseSiiBuffer

  • Parse a raw EtherCAT Slave Information Interface (SII) EEPROM buffer.

    Returns

    Parsed SlaveInformationInterface.

    Remarks

    The SII structure consists of:

    1. Fixed header (first 128 bytes) Parsed using: @HHHHH4xHLLLL8xHHHHHHHHH66xHHHH

      Contains:

      • PDI configuration and control
      • Vendor/product identification
      • Mailbox configuration
      • EEPROM size and version
    2. Category section (starting at offset 128) A sequence of variable-length categories:

      Category layout:

      • uint16 categoryType
      • uint16 categoryWordSize (number of 16-bit words)
      • payload (categoryWordSize * 2 bytes)

      Parsing continues sequentially until:

      • Category type 0xFFFF (END), or
      • Category type resolves to NOP
    • Recognized categories are dispatched to dedicated parsers:

      • STRINGS → parseSiiCategoryStrings
      • GENERAL → parseSiiCategoryGeneral
      • FMMU → parseSiiCategoryFmmu
      • SYNC_M → parseSiiCategorySyncManager
      • RXPDO / TXPDO → parseSiiCategoryPdo
      • DC → parseSiiCategoryDc
    • Multiple PDO categories are supported and accumulated.

    Note

    • Unrecognized categories are skipped.

    • No validation is performed for:

      • Buffer size correctness
      • Category alignment or integrity
      • Semantic correctness of parsed values
    • String indices in parsed structures refer to entries from the STRINGS category.

    • This function assumes little-endian layout and native alignment as used by python-struct.

    Parameters

    • buffer: Buffer

      Full SII EEPROM content.

    Returns SlaveInformationInterface

Generated using TypeDoc