ethercattype.h File Reference

General typedefs and defines for EtherCAT. More...

#include <sys/time.h>
Include dependency graph for ethercattype.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  PACKED
 SDO structure, not to be confused with EcSDOserviceT. More...
struct  PACKED
 SDO structure, not to be confused with EcSDOserviceT. More...
struct  ec_errort
 Struct to retrieve errors. More...

Defines

#define EC_LITTLE_ENDIAN
 Define Little or Big endian target.
#define TRUE   1
#define FALSE   0
#define EC_ERROR   -3
 return value general error
#define EC_NOFRAME   -1
 return value no frame returned
#define EC_OTHERFRAME   -2
 return value unknown frame received
#define EC_MAXECATFRAME   1518
 maximum EtherCAT frame length in bytes
#define EC_MAXLRWDATA   EC_MAXECATFRAME - 14 - 2 - 10 - 2 - 4
 maximum EtherCAT LRW frame length in bytes
#define EC_FIRSTDCDATAGRAM   20
 size of DC datagram used in first LRW frame
#define EC_BUFSIZE   EC_MAXECATFRAME
 standard frame buffer size in bytes
#define EC_ECATTYPE   0x1000
 datagram type EtherCAT
#define EC_MAXBUF   16
 number of frame buffers per channel (tx, rx1 rx2)
#define EC_TIMEOUTRET   500
 timeout value in us for tx frame to return to rx
#define EC_TIMEOUTSAFE   20000
 timeout value in us for return "safe" variant (f.e.
#define EC_TIMEOUTEEP   20000
 timeout value in us for EEPROM access
#define EC_TIMEOUTTXM   20000
 timeout value in us for tx mailbox cycle
#define EC_TIMEOUTRXM   700000
 timeout value in us for rx mailbox cycle
#define EC_TIMEOUTSTATE   2000000
 timeout value in us for check statechange
#define EC_MAXEEPBITMAP   128
 size of EEPROM bitmap cache
#define EC_MAXEEPBUF   EC_MAXEEPBITMAP << 5
 size of EEPROM cache buffer
#define EC_DEFAULTRETRIES   3
 default number of retries if wkc <= 0
#define ETH_HEADERSIZE   sizeof(ec_etherheadert)
 ethernet header size
#define EC_HEADERSIZE   sizeof(ec_comt)
 EtherCAT header size.
#define EC_ELENGTHSIZE   sizeof(uint16)
 size of ec_comt.elength item in EtherCAT header
#define EC_CMDOFFSET   EC_ELENGTHSIZE
 offset position of command in EtherCAT header
#define EC_WKCSIZE   sizeof(uint16)
 size of workcounter item in EtherCAT datagram
#define EC_DATAGRAMFOLLOWS   (1 << 15)
 definition of datagram follows bit in ec_comt.dlength
#define EC_ESTAT_R64   0x0040
 EEprom state machine read size.
#define EC_ESTAT_BUSY   0x8000
 EEprom state machine busy flag.
#define EC_ESTAT_EMASK   0x7800
 EEprom state machine error flag mask.
#define EC_ESTAT_NACK   0x2000
 EEprom state machine error acknowledge.
#define ECT_SII_START   0x0040
 Start address SII sections in Eeprom.
#define ECT_SDO_SMCOMMTYPE   0x1c00
 standard SDO Sync Manager Communication Type
#define ECT_SDO_PDOASSIGN   0x1c10
 standard SDO PDO assignment
#define ECT_SDO_RXPDOASSIGN   0x1c12
 standard SDO RxPDO assignment
#define ECT_SDO_TXPDOASSIGN   0x1c13
 standard SDO TxPDO assignment
#define ETH_P_ECAT   0x88A4
 Ethercat packet type.
#define MK_WORD(msb, lsb)   ((((uint16)(msb))<<8) | (lsb))
 Helper macros.
#define HI_BYTE(w)   ((w) >> 8)
 Macro to get hi byte of a word.
#define LO_BYTE(w)   ((w) & 0x00ff)
 Macro to get low byte of a word.
#define SWAP(w)   ((((w)& 0xff00) >> 8) | (((w) & 0x00ff) << 8))
 Macro to swap hi and low byte of a word.
#define LO_WORD(l)   ((l) & 0xffff)
 Macro to get hi word of a dword.
#define HI_WORD(l)   ((l) >> 16)
 Macro to get hi word of a dword.
#define get_unaligned(ptr)   ({ __typeof__(*(ptr)) __tmp; memcpy(&__tmp, (ptr), sizeof(*(ptr))); __tmp; })
#define put_unaligned32(val, ptr)
#define put_unaligned64(val, ptr)

Typedefs

typedef signed char int8
typedef signed short int16
typedef signed int int32
typedef unsigned char uint8
typedef unsigned short uint16
typedef unsigned int uint32
typedef signed long long int64
typedef unsigned long long uint64
typedef uint8 ec_bufT [EC_BUFSIZE]
 definition for frame buffers
typedef struct PACKED ec_etherheadert
 ethernet header definition
typedef struct PACKED ec_comt
 EtherCAT datagram header definition.

Enumerations

enum  ec_err {
  EC_ERR_OK = 0, EC_ERR_ALREADY_INITIALIZED, EC_ERR_NOT_INITIALIZED, EC_ERR_TIMEOUT,
  EC_ERR_NO_SLAVES, EC_ERR_NOK
}
 

Possible error codes returned.

More...
enum  ec_state {
  EC_STATE_INIT = 0x01, EC_STATE_PRE_OP = 0x02, EC_STATE_BOOT = 0x03, EC_STATE_SAFE_OP = 0x04,
  EC_STATE_OPERATIONAL = 0x08, EC_STATE_ACK = 0x10, EC_STATE_ERROR = 0x10
}
 

Possible EtherCAT slave states.

More...
enum  ec_bufstate {
  EC_BUF_EMPTY = 0x00, EC_BUF_ALLOC = 0x01, EC_BUF_TX = 0x02, EC_BUF_RCVD = 0x03,
  EC_BUF_COMPLETE = 0x04
}
 

Possible buffer states.

More...
enum  ec_datatype {
  ECT_BOOLEAN = 0x0001, ECT_INTEGER8 = 0x0002, ECT_INTEGER16 = 0x0003, ECT_INTEGER32 = 0x0004,
  ECT_UNSIGNED8 = 0x0005, ECT_UNSIGNED16 = 0x0006, ECT_UNSIGNED32 = 0x0007, ECT_REAL32 = 0x0008,
  ECT_VISIBLE_STRING = 0x0009, ECT_OCTET_STRING = 0x000A, ECT_UNICODE_STRING = 0x000B, ECT_TIME_OF_DAY = 0x000C,
  ECT_TIME_DIFFERENCE = 0x000D, ECT_DOMAIN = 0x000F, ECT_INTEGER24 = 0x0010, ECT_REAL64 = 0x0011,
  ECT_INTEGER64 = 0x0015, ECT_UNSIGNED24 = 0x0016, ECT_UNSIGNED64 = 0x001B, ECT_BIT1 = 0x0030,
  ECT_BIT2 = 0x0031, ECT_BIT3 = 0x0032, ECT_BIT4 = 0x0033, ECT_BIT5 = 0x0034,
  ECT_BIT6 = 0x0035, ECT_BIT7 = 0x0036, ECT_BIT8 = 0x0037
}
 

Ethercat data types.

More...
enum  ec_cmdtype {
  EC_CMD_NOP = 0x00, EC_CMD_APRD, EC_CMD_APWR, EC_CMD_APRW,
  EC_CMD_FPRD, EC_CMD_FPWR, EC_CMD_FPRW, EC_CMD_BRD,
  EC_CMD_BWR, EC_CMD_BRW, EC_CMD_LRD, EC_CMD_LWR,
  EC_CMD_LRW, EC_CMD_ARMW, EC_CMD_FRMW
}
 

Ethercat command types.

More...
enum  ec_ecmdtype { EC_ECMD_NOP = 0x0000, EC_ECMD_READ = 0x0100, EC_ECMD_WRITE = 0x0201, EC_ECMD_RELOAD = 0x0300 }
 

Ethercat EEprom command types.

More...
enum  {
  ECT_SII_STRING = 10, ECT_SII_GENERAL = 30, ECT_SII_FMMU = 40, ECT_SII_SM = 41,
  ECT_SII_PDO = 50
}
enum  {
  ECT_SII_MANUF = 0x0008, ECT_SII_ID = 0x000a, ECT_SII_REV = 0x000c, ECT_SII_BOOTRXMBX = 0x0014,
  ECT_SII_BOOTTXMBX = 0x0016, ECT_SII_MBXSIZE = 0x0019, ECT_SII_TXMBXADR = 0x001a, ECT_SII_RXMBXADR = 0x0018,
  ECT_SII_MBXPROTO = 0x001c
}
 

Item offsets in SII general section.

More...
enum  {
  ECT_MBXT_ERR = 0x00, ECT_MBXT_AOE, ECT_MBXT_EOE, ECT_MBXT_COE,
  ECT_MBXT_FOE, ECT_MBXT_SOE, ECT_MBXT_VOE = 0x0f
}
 

Mailbox types definitions.

More...
enum  {
  ECT_COES_EMERGENCY = 0x01, ECT_COES_SDOREQ, ECT_COES_SDORES, ECT_COES_TXPDO,
  ECT_COES_RXPDO, ECT_COES_TXPDO_RR, ECT_COES_RXPDO_RR, ECT_COES_SDOINFO
}
 

CoE mailbox types.

More...
enum  {
  ECT_SDO_DOWN_INIT = 0x21, ECT_SDO_DOWN_INIT_CA = 0x31, ECT_SDO_UP_REQ = 0x40, ECT_SDO_UP_REQ_CA = 0x50,
  ECT_SDO_SEG_UP_REQ = 0x60, ECT_SDO_ABORT = 0x80
}
 

CoE SDO commands.

More...
enum  {
  ECT_GET_ODLIST_REQ = 0x01, ECT_GET_ODLIST_RES = 0x02, ECT_GET_OD_REQ = 0x03, ECT_GET_OD_RES = 0x04,
  ECT_GET_OE_REQ = 0x05, ECT_GET_OE_RES = 0x06, ECT_SDOINFO_ERROR = 0x07
}
 

CoE Object Description commands.

More...
enum  {
  ECT_FOE_READ = 0x01, ECT_FOE_WRITE, ECT_FOE_DATA, ECT_FOE_ACK,
  ECT_FOE_ERROR, ECT_FOE_BUSY
}
 

FoE opcodes.

More...
enum  {
  ECT_SOE_READREQ = 0x01, ECT_SOE_READRES, ECT_SOE_WRITEREQ, ECT_SOE_WRITERES,
  ECT_SOE_NOTIFICATION, ECT_SOE_EMERGENCY
}
 

SoE opcodes.

More...
enum  {
  ECT_REG_TYPE = 0x0000, ECT_REG_PORTDES = 0x0007, ECT_REG_ESCSUP = 0x0008, ECT_REG_STADR = 0x0010,
  ECT_REG_ALIAS = 0x0012, ECT_REG_DLCTL = 0x0100, ECT_REG_DLPORT = 0x0101, ECT_REG_DLALIAS = 0x0103,
  ECT_REG_DLSTAT = 0x0110, ECT_REG_ALCTL = 0x0120, ECT_REG_ALSTAT = 0x0130, ECT_REG_ALSTATCODE = 0x0134,
  ECT_REG_PDICTL = 0x0140, ECT_REG_IRQMASK = 0x0200, ECT_REG_RXERR = 0x0300, ECT_REG_EEPCFG = 0x0500,
  ECT_REG_EEPCTL = 0x0502, ECT_REG_EEPSTAT = 0x0502, ECT_REG_EEPADR = 0x0504, ECT_REG_EEPDAT = 0x0508,
  ECT_REG_FMMU0 = 0x0600, ECT_REG_FMMU1 = ECT_REG_FMMU0 + 0x10, ECT_REG_FMMU2 = ECT_REG_FMMU1 + 0x10, ECT_REG_FMMU3 = ECT_REG_FMMU2 + 0x10,
  ECT_REG_SM0 = 0x0800, ECT_REG_SM1 = ECT_REG_SM0 + 0x08, ECT_REG_SM2 = ECT_REG_SM1 + 0x08, ECT_REG_SM3 = ECT_REG_SM2 + 0x08,
  ECT_REG_SM0STAT = ECT_REG_SM0 + 0x05, ECT_REG_SM1STAT = ECT_REG_SM1 + 0x05, ECT_REG_SM1ACT = ECT_REG_SM1 + 0x06, ECT_REG_SM1CONTR = ECT_REG_SM1 + 0x07,
  ECT_REG_DCTIME0 = 0x0900, ECT_REG_DCTIME1 = 0x0904, ECT_REG_DCTIME2 = 0x0908, ECT_REG_DCTIME3 = 0x090C,
  ECT_REG_DCSYSTIME = 0x0910, ECT_REG_DCSOF = 0x0918, ECT_REG_DCSYSOFFSET = 0x0920, ECT_REG_DCSYSDELAY = 0x0928,
  ECT_REG_DCSYSDIFF = 0x092C, ECT_REG_DCSPEEDCNT = 0x0930, ECT_REG_DCTIMEFILT = 0x0934, ECT_REG_DCCUC = 0x0980,
  ECT_REG_DCSYNCACT = 0x0981, ECT_REG_DCSTART0 = 0x0990, ECT_REG_DCCYCLE0 = 0x09A0, ECT_REG_DCCYCLE1 = 0x09A4
}
 

Ethercat registers.

More...
enum  ec_err_type {
  EC_ERR_TYPE_SDO_ERROR = 0, EC_ERR_TYPE_EMERGENCY = 1, EC_ERR_TYPE_PACKET_ERROR = 3, EC_ERR_TYPE_SDOINFO_ERROR = 4,
  EC_ERR_TYPE_FOE_ERROR = 5, EC_ERR_TYPE_FOE_BUF2SMALL = 6, EC_ERR_TYPE_FOE_PACKETNUMBER = 7, EC_ERR_TYPE_SOE_ERROR = 8
}
 

Error types.

More...

Functions

 __attribute__ ((__packed__)) typedef unsigned char boolean
 max.

Detailed Description

General typedefs and defines for EtherCAT.

Defines that could need optimalisation for specific applications are the EC_TIMEOUTxxx. Assumptions for the standard settings are a standard linux PC or laptop and a wired connection to maximal 100 slaves. For use with wireless connections or lots of slaves the timouts need increasing. For fast systems running Xenomai and RT-net or alike the timeouts need to be shorter.

Definition in file ethercattype.h.


Define Documentation

#define EC_BUFSIZE   EC_MAXECATFRAME

standard frame buffer size in bytes

Definition at line 93 of file ethercattype.h.

#define EC_CMDOFFSET   EC_ELENGTHSIZE

offset position of command in EtherCAT header

Definition at line 159 of file ethercattype.h.

#define EC_DATAGRAMFOLLOWS   (1 << 15)

definition of datagram follows bit in ec_comt.dlength

Definition at line 163 of file ethercattype.h.

#define EC_DEFAULTRETRIES   3

default number of retries if wkc <= 0

Definition at line 116 of file ethercattype.h.

#define EC_ECATTYPE   0x1000

datagram type EtherCAT

Definition at line 95 of file ethercattype.h.

#define EC_ELENGTHSIZE   sizeof(uint16)

size of ec_comt.elength item in EtherCAT header

Definition at line 157 of file ethercattype.h.

#define EC_ERROR   -3

return value general error

Definition at line 79 of file ethercattype.h.

#define EC_ESTAT_BUSY   0x8000

EEprom state machine busy flag.

Definition at line 299 of file ethercattype.h.

#define EC_ESTAT_EMASK   0x7800

EEprom state machine error flag mask.

Definition at line 301 of file ethercattype.h.

#define EC_ESTAT_NACK   0x2000

EEprom state machine error acknowledge.

Definition at line 303 of file ethercattype.h.

#define EC_ESTAT_R64   0x0040

EEprom state machine read size.

Definition at line 297 of file ethercattype.h.

#define EC_FIRSTDCDATAGRAM   20

size of DC datagram used in first LRW frame

Definition at line 91 of file ethercattype.h.

#define EC_HEADERSIZE   sizeof(ec_comt)

EtherCAT header size.

Definition at line 155 of file ethercattype.h.

#define EC_LITTLE_ENDIAN

Define Little or Big endian target.

Definition at line 57 of file ethercattype.h.

#define EC_MAXBUF   16

number of frame buffers per channel (tx, rx1 rx2)

Definition at line 97 of file ethercattype.h.

#define EC_MAXECATFRAME   1518

maximum EtherCAT frame length in bytes

Definition at line 85 of file ethercattype.h.

#define EC_MAXEEPBITMAP   128

size of EEPROM bitmap cache

Definition at line 112 of file ethercattype.h.

#define EC_MAXEEPBUF   EC_MAXEEPBITMAP << 5

size of EEPROM cache buffer

Definition at line 114 of file ethercattype.h.

#define EC_MAXLRWDATA   EC_MAXECATFRAME - 14 - 2 - 10 - 2 - 4

maximum EtherCAT LRW frame length in bytes

Definition at line 88 of file ethercattype.h.

#define EC_NOFRAME   -1

return value no frame returned

Definition at line 81 of file ethercattype.h.

#define EC_OTHERFRAME   -2

return value unknown frame received

Definition at line 83 of file ethercattype.h.

#define EC_TIMEOUTEEP   20000

timeout value in us for EEPROM access

Definition at line 104 of file ethercattype.h.

#define EC_TIMEOUTRET   500

timeout value in us for tx frame to return to rx

Definition at line 99 of file ethercattype.h.

#define EC_TIMEOUTRXM   700000

timeout value in us for rx mailbox cycle

Definition at line 108 of file ethercattype.h.

#define EC_TIMEOUTSAFE   20000

timeout value in us for return "safe" variant (f.e.

wireless)

Definition at line 102 of file ethercattype.h.

#define EC_TIMEOUTSTATE   2000000

timeout value in us for check statechange

Definition at line 110 of file ethercattype.h.

#define EC_TIMEOUTTXM   20000

timeout value in us for tx mailbox cycle

Definition at line 106 of file ethercattype.h.

#define EC_WKCSIZE   sizeof(uint16)

size of workcounter item in EtherCAT datagram

Definition at line 161 of file ethercattype.h.

#define ECT_SDO_PDOASSIGN   0x1c10

standard SDO PDO assignment

Definition at line 472 of file ethercattype.h.

#define ECT_SDO_RXPDOASSIGN   0x1c12

standard SDO RxPDO assignment

Definition at line 474 of file ethercattype.h.

#define ECT_SDO_SMCOMMTYPE   0x1c00

standard SDO Sync Manager Communication Type

Definition at line 470 of file ethercattype.h.

#define ECT_SDO_TXPDOASSIGN   0x1c13

standard SDO TxPDO assignment

Definition at line 476 of file ethercattype.h.

#define ECT_SII_START   0x0040

Start address SII sections in Eeprom.

Definition at line 308 of file ethercattype.h.

#define ETH_HEADERSIZE   sizeof(ec_etherheadert)

ethernet header size

Definition at line 133 of file ethercattype.h.

#define ETH_P_ECAT   0x88A4

Ethercat packet type.

Definition at line 479 of file ethercattype.h.

#define FALSE   0

Definition at line 68 of file ethercattype.h.

#define get_unaligned ( ptr   )     ({ __typeof__(*(ptr)) __tmp; memcpy(&__tmp, (ptr), sizeof(*(ptr))); __tmp; })

Definition at line 539 of file ethercattype.h.

#define HI_BYTE (  )     ((w) >> 8)

Macro to get hi byte of a word.

Definition at line 529 of file ethercattype.h.

#define HI_WORD (  )     ((l) >> 16)

Macro to get hi word of a dword.

Definition at line 537 of file ethercattype.h.

#define LO_BYTE (  )     ((w) & 0x00ff)

Macro to get low byte of a word.

Definition at line 531 of file ethercattype.h.

#define LO_WORD (  )     ((l) & 0xffff)

Macro to get hi word of a dword.

Definition at line 535 of file ethercattype.h.

#define MK_WORD ( msb,
lsb   )     ((((uint16)(msb))<<8) | (lsb))

Helper macros.

Macro to make a word from 2 bytes

Definition at line 527 of file ethercattype.h.

#define put_unaligned32 ( val,
ptr   ) 
Value:
({   memcpy((ptr), &(val), 4);         \
      (void)0; })

Definition at line 542 of file ethercattype.h.

#define put_unaligned64 ( val,
ptr   ) 
Value:
({   memcpy((ptr), &(val), 8);         \
      (void)0; })

Definition at line 546 of file ethercattype.h.

#define SWAP (  )     ((((w)& 0xff00) >> 8) | (((w) & 0x00ff) << 8))

Macro to swap hi and low byte of a word.

Definition at line 533 of file ethercattype.h.

#define TRUE   1

Definition at line 67 of file ethercattype.h.


Typedef Documentation

typedef uint8 ec_bufT[EC_BUFSIZE]

definition for frame buffers

Definition at line 119 of file ethercattype.h.

typedef struct PACKED ec_comt

EtherCAT datagram header definition.

typedef struct PACKED ec_etherheadert

ethernet header definition

typedef signed short int16

Definition at line 70 of file ethercattype.h.

typedef signed int int32

Definition at line 71 of file ethercattype.h.

typedef signed long long int64

Definition at line 75 of file ethercattype.h.

typedef signed char int8

Definition at line 69 of file ethercattype.h.

typedef unsigned short uint16

Definition at line 73 of file ethercattype.h.

typedef unsigned int uint32

Definition at line 74 of file ethercattype.h.

typedef unsigned long long uint64

Definition at line 76 of file ethercattype.h.

typedef unsigned char uint8

Definition at line 72 of file ethercattype.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
ECT_SII_STRING 

SII category strings.

ECT_SII_GENERAL 

SII category general.

ECT_SII_FMMU 

SII category FMMU.

ECT_SII_SM 

SII category SM.

ECT_SII_PDO 

SII category PDO.

Definition at line 310 of file ethercattype.h.

anonymous enum

Item offsets in SII general section.

Enumerator:
ECT_SII_MANUF 
ECT_SII_ID 
ECT_SII_REV 
ECT_SII_BOOTRXMBX 
ECT_SII_BOOTTXMBX 
ECT_SII_MBXSIZE 
ECT_SII_TXMBXADR 
ECT_SII_RXMBXADR 
ECT_SII_MBXPROTO 

Definition at line 325 of file ethercattype.h.

anonymous enum

Mailbox types definitions.

Enumerator:
ECT_MBXT_ERR 

Error mailbox type.

ECT_MBXT_AOE 

ADS over EtherCAT mailbox type.

ECT_MBXT_EOE 

Ethernet over EtherCAT mailbox type.

ECT_MBXT_COE 

CANopen over EtherCAT mailbox type.

ECT_MBXT_FOE 

File over EtherCAT mailbox type.

ECT_MBXT_SOE 

Servo over EtherCAT mailbox type.

ECT_MBXT_VOE 

Vendor over EtherCAT mailbox type.

Definition at line 340 of file ethercattype.h.

anonymous enum

CoE mailbox types.

Enumerator:
ECT_COES_EMERGENCY 
ECT_COES_SDOREQ 
ECT_COES_SDORES 
ECT_COES_TXPDO 
ECT_COES_RXPDO 
ECT_COES_TXPDO_RR 
ECT_COES_RXPDO_RR 
ECT_COES_SDOINFO 

Definition at line 359 of file ethercattype.h.

anonymous enum

CoE SDO commands.

Enumerator:
ECT_SDO_DOWN_INIT 
ECT_SDO_DOWN_INIT_CA 
ECT_SDO_UP_REQ 
ECT_SDO_UP_REQ_CA 
ECT_SDO_SEG_UP_REQ 
ECT_SDO_ABORT 

Definition at line 372 of file ethercattype.h.

anonymous enum

CoE Object Description commands.

Enumerator:
ECT_GET_ODLIST_REQ 
ECT_GET_ODLIST_RES 
ECT_GET_OD_REQ 
ECT_GET_OD_RES 
ECT_GET_OE_REQ 
ECT_GET_OE_RES 
ECT_SDOINFO_ERROR 

Definition at line 383 of file ethercattype.h.

anonymous enum

FoE opcodes.

Enumerator:
ECT_FOE_READ 
ECT_FOE_WRITE 
ECT_FOE_DATA 
ECT_FOE_ACK 
ECT_FOE_ERROR 
ECT_FOE_BUSY 

Definition at line 395 of file ethercattype.h.

anonymous enum

SoE opcodes.

Enumerator:
ECT_SOE_READREQ 
ECT_SOE_READRES 
ECT_SOE_WRITEREQ 
ECT_SOE_WRITERES 
ECT_SOE_NOTIFICATION 
ECT_SOE_EMERGENCY 

Definition at line 406 of file ethercattype.h.

anonymous enum

Ethercat registers.

Enumerator:
ECT_REG_TYPE 
ECT_REG_PORTDES 
ECT_REG_ESCSUP 
ECT_REG_STADR 
ECT_REG_ALIAS 
ECT_REG_DLCTL 
ECT_REG_DLPORT 
ECT_REG_DLALIAS 
ECT_REG_DLSTAT 
ECT_REG_ALCTL 
ECT_REG_ALSTAT 
ECT_REG_ALSTATCODE 
ECT_REG_PDICTL 
ECT_REG_IRQMASK 
ECT_REG_RXERR 
ECT_REG_EEPCFG 
ECT_REG_EEPCTL 
ECT_REG_EEPSTAT 
ECT_REG_EEPADR 
ECT_REG_EEPDAT 
ECT_REG_FMMU0 
ECT_REG_FMMU1 
ECT_REG_FMMU2 
ECT_REG_FMMU3 
ECT_REG_SM0 
ECT_REG_SM1 
ECT_REG_SM2 
ECT_REG_SM3 
ECT_REG_SM0STAT 
ECT_REG_SM1STAT 
ECT_REG_SM1ACT 
ECT_REG_SM1CONTR 
ECT_REG_DCTIME0 
ECT_REG_DCTIME1 
ECT_REG_DCTIME2 
ECT_REG_DCTIME3 
ECT_REG_DCSYSTIME 
ECT_REG_DCSOF 
ECT_REG_DCSYSOFFSET 
ECT_REG_DCSYSDELAY 
ECT_REG_DCSYSDIFF 
ECT_REG_DCSPEEDCNT 
ECT_REG_DCTIMEFILT 
ECT_REG_DCCUC 
ECT_REG_DCSYNCACT 
ECT_REG_DCSTART0 
ECT_REG_DCCYCLE0 
ECT_REG_DCCYCLE1 

Definition at line 417 of file ethercattype.h.

Possible buffer states.

Enumerator:
EC_BUF_EMPTY 

Empty.

EC_BUF_ALLOC 

Allocated, but not filled.

EC_BUF_TX 

Transmitted.

EC_BUF_RCVD 

Received, but not consumed.

EC_BUF_COMPLETE 

Cycle completed.

Definition at line 201 of file ethercattype.h.

enum ec_cmdtype

Ethercat command types.

Enumerator:
EC_CMD_NOP 

No operation.

EC_CMD_APRD 

Auto Increment Read.

EC_CMD_APWR 

Auto Increment Write.

EC_CMD_APRW 

Auto Increment Read Write.

EC_CMD_FPRD 

Configured Address Read.

EC_CMD_FPWR 

Configured Address Write.

EC_CMD_FPRW 

Configured Address Read Write.

EC_CMD_BRD 

Broadcast Read.

EC_CMD_BWR 

Broaddcast Write.

EC_CMD_BRW 

Broadcast Read Write.

EC_CMD_LRD 

Logical Memory Read.

EC_CMD_LWR 

Logical Memory Write.

EC_CMD_LRW 

Logical Memory Read Write.

EC_CMD_ARMW 

Auto Increment Read Mulitple Write.

EC_CMD_FRMW 

Configured Read Mulitple Write.

Reserved

Definition at line 248 of file ethercattype.h.

Ethercat data types.

Enumerator:
ECT_BOOLEAN 
ECT_INTEGER8 
ECT_INTEGER16 
ECT_INTEGER32 
ECT_UNSIGNED8 
ECT_UNSIGNED16 
ECT_UNSIGNED32 
ECT_REAL32 
ECT_VISIBLE_STRING 
ECT_OCTET_STRING 
ECT_UNICODE_STRING 
ECT_TIME_OF_DAY 
ECT_TIME_DIFFERENCE 
ECT_DOMAIN 
ECT_INTEGER24 
ECT_REAL64 
ECT_INTEGER64 
ECT_UNSIGNED24 
ECT_UNSIGNED64 
ECT_BIT1 
ECT_BIT2 
ECT_BIT3 
ECT_BIT4 
ECT_BIT5 
ECT_BIT6 
ECT_BIT7 
ECT_BIT8 

Definition at line 216 of file ethercattype.h.

Ethercat EEprom command types.

Enumerator:
EC_ECMD_NOP 

No operation.

EC_ECMD_READ 

Read.

EC_ECMD_WRITE 

Write.

EC_ECMD_RELOAD 

Reload.

Definition at line 284 of file ethercattype.h.

enum ec_err

Possible error codes returned.

Enumerator:
EC_ERR_OK 

No error.

EC_ERR_ALREADY_INITIALIZED 

Library already initialized.

EC_ERR_NOT_INITIALIZED 

Library not initialized.

EC_ERR_TIMEOUT 

Timeout occured during execution of the function.

EC_ERR_NO_SLAVES 

No slaves were found.

EC_ERR_NOK 

Function failed.

Definition at line 166 of file ethercattype.h.

Error types.

Enumerator:
EC_ERR_TYPE_SDO_ERROR 
EC_ERR_TYPE_EMERGENCY 
EC_ERR_TYPE_PACKET_ERROR 
EC_ERR_TYPE_SDOINFO_ERROR 
EC_ERR_TYPE_FOE_ERROR 
EC_ERR_TYPE_FOE_BUF2SMALL 
EC_ERR_TYPE_FOE_PACKETNUMBER 
EC_ERR_TYPE_SOE_ERROR 

Definition at line 482 of file ethercattype.h.

enum ec_state

Possible EtherCAT slave states.

Enumerator:
EC_STATE_INIT 

Init state.

EC_STATE_PRE_OP 

Pre-operational.

EC_STATE_BOOT 

Boot state.

EC_STATE_SAFE_OP 

Safe-operational.

EC_STATE_OPERATIONAL 

Operational.

EC_STATE_ACK 

Error or ACK error.

EC_STATE_ERROR 

Definition at line 183 of file ethercattype.h.


Function Documentation

__attribute__ ( (__packed__)   ) 

max.

etries in EtherCAT error list max. length of readable name in slavelist and Object Description List max. number of slaves in array max. number of groups max. number of IO segments per group max. mailbox size max. eeprom PDO entries max. SM used max. FMMU used record for FMMU

Definition at line 50 of file ethercatmain.h.

Generated by  doxygen 1.6.3