Skip to content

Struct SYN_EcatMaster

ClassList > SYN_EcatMaster

EtherCAT Master Instance Context (Zero-Heap).

  • #include <syn_ethercat.h>

Public Attributes

Type Name
uint8_t current_slave_idx
uint32_t cycle_count
bool frame_rx_ready
bool frame_tx_pending
uint8_t * input_image
uint16_t input_size
uint32_t logical_addr
SYN_EcatState master_state
uint8_t * output_image
uint16_t output_size
uint8_t pdo_count
uint8_t pdo_entry_idx
uint16_t pdo_map_idx
size_t pdo_read_len
uint32_t pdo_sdo_val
uint16_t poll_retries
uint8_t * rx_buf
uint16_t rx_buf_size
uint16_t rx_frame_len
uint8_t slave_count
SYN_EcatSlaveInfo slaves
SYN_PT sub_pt
uint32_t total_rx_bits
uint32_t total_tx_bits
uint8_t * tx_buf
uint16_t tx_buf_size
uint16_t tx_frame_len
uint32_t wkc_errors
uint16_t wkc_expected
uint16_t wkc_last

Public Attributes Documentation

variable current_slave_idx

uint8_t SYN_EcatMaster::current_slave_idx;

Iteration index for multi-step slave tasks


variable cycle_count

uint32_t SYN_EcatMaster::cycle_count;

Completed cyclic process exchange counter


variable frame_rx_ready

bool SYN_EcatMaster::frame_rx_ready;

Receive frame ready from PHY


variable frame_tx_pending

bool SYN_EcatMaster::frame_tx_pending;

Transmit frame ready for PHY


variable input_image

uint8_t* SYN_EcatMaster::input_image;

Slaves -> Master cyclic process input buffer


variable input_size

uint16_t SYN_EcatMaster::input_size;

Cyclic process input size in bytes


variable logical_addr

uint32_t SYN_EcatMaster::logical_addr;

Logical base address for LRW process exchange


variable master_state

SYN_EcatState SYN_EcatMaster::master_state;

Current Master bus state


variable output_image

uint8_t* SYN_EcatMaster::output_image;

Master -> Slaves cyclic process output buffer


variable output_size

uint16_t SYN_EcatMaster::output_size;

Cyclic process output size in bytes


variable pdo_count

uint8_t SYN_EcatMaster::pdo_count;

Scratch PDO count for discovery


variable pdo_entry_idx

uint8_t SYN_EcatMaster::pdo_entry_idx;

Scratch PDO entry loop index


variable pdo_map_idx

uint16_t SYN_EcatMaster::pdo_map_idx;

Scratch PDO mapping index


variable pdo_read_len

size_t SYN_EcatMaster::pdo_read_len;

Scratch SDO read length


variable pdo_sdo_val

uint32_t SYN_EcatMaster::pdo_sdo_val;

Scratch SDO read value


variable poll_retries

uint16_t SYN_EcatMaster::poll_retries;

Retry counter for hardware status polling loops


variable rx_buf

uint8_t* SYN_EcatMaster::rx_buf;

Pointer to static receive frame buffer


variable rx_buf_size

uint16_t SYN_EcatMaster::rx_buf_size;

Receive buffer capacity


variable rx_frame_len

uint16_t SYN_EcatMaster::rx_frame_len;

Current received frame length


variable slave_count

uint8_t SYN_EcatMaster::slave_count;

Discovered slave count


variable slaves

SYN_EcatSlaveInfo SYN_EcatMaster::slaves[SYN_ECAT_MAX_SLAVES];

Slave descriptor table


variable sub_pt

SYN_PT SYN_EcatMaster::sub_pt;

Sub-protothread handle for nested tasks


variable total_rx_bits

uint32_t SYN_EcatMaster::total_rx_bits;

Accumulated RxPDO bits


variable total_tx_bits

uint32_t SYN_EcatMaster::total_tx_bits;

Accumulated TxPDO bits


variable tx_buf

uint8_t* SYN_EcatMaster::tx_buf;

Pointer to static transmit frame buffer


variable tx_buf_size

uint16_t SYN_EcatMaster::tx_buf_size;

Transmit buffer capacity


variable tx_frame_len

uint16_t SYN_EcatMaster::tx_frame_len;

Current pending transmit frame length


variable wkc_errors

uint32_t SYN_EcatMaster::wkc_errors;

Working Counter error accumulator


variable wkc_expected

uint16_t SYN_EcatMaster::wkc_expected;

Expected Working Counter for cyclic frame


variable wkc_last

uint16_t SYN_EcatMaster::wkc_last;

Last received Working Counter



The documentation for this class was generated from the following file src/syntropic/proto/syn_ethercat.h