libethercat - an embeddable realtime EtherCAT-master library
Communicate with EtherCAT slaves attached to a Network interface.
Loading...
Searching...
No Matches
common.h File Reference

ethercat master common stuff More...

#include <libethercat/config.h>
#include <libosal/types.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  ec_pd
 process data structure More...
 

Macros

#define LEC_MAX_SLAVES   ( (osal_size_t) 256u)
 Maximum number of EtherCAT slaves supported.
 
#define LEC_MAX_GROUPS   ( (osal_size_t) 8u)
 Maximum number of EtherCAT groups supported.
 
#define LEC_MAX_PDLEN   ( (osal_size_t)(2u * 1518u))
 Maximum process data length.
 
#define LEC_MAX_MBX_ENTRIES   ( (osal_size_t) 16u)
 Maximum number of mailbox entries.
 
#define LEC_MAX_INIT_CMD_DATA   ( (osal_size_t) 2048u)
 Maximum size of init command data.
 
#define LEC_MAX_SLAVE_FMMU   ( (osal_size_t) 8u)
 Maximum number of slave FMMUs.
 
#define LEC_MAX_SLAVE_SM   ( (osal_size_t) 8u)
 Maximum number of slave sync managers.
 
#define LEC_MAX_DATAGRAMS   ( (osal_size_t) 100u)
 Maximum number of datagrams.
 
#define LEC_MAX_EEPROM_CAT_SM   ( (osal_size_t)LEC_MAX_SLAVE_SM)
 Maximum number of EEPROM catergory sync manager entries.
 
#define LEC_MAX_EEPROM_CAT_FMMU   ( (osal_size_t)LEC_MAX_SLAVE_FMMU)
 Maximum number of EEPROM catergory FMMU entries.
 
#define LEC_MAX_EEPROM_CAT_PDO   ( (osal_size_t) 128u)
 Maximum number of EEPROM catergory PDO entries.
 
#define LEC_MAX_EEPROM_CAT_PDO_ENTRIES   ( (osal_size_t) 32u)
 Maximum number of EEPROM catergory PDO entries.
 
#define LEC_MAX_EEPROM_CAT_STRINGS   ( (osal_size_t) 128u)
 Maximum number of EEPROM catergory string entries.
 
#define LEC_MAX_EEPROM_CAT_DC   ( (osal_size_t) 8u)
 Maximum number of EEPROM catergory distributed clocks entries.
 
#define LEC_MAX_STRING_LEN   ( (osal_size_t) 128u)
 Maximum string length.
 
#define LEC_MAX_DATA   ( (osal_size_t) 4096u)
 Maximum data length.
 
#define LEC_MAX_DS402_SUBDEVS   ( (osal_size_t) 4u)
 Maximum DS420 sub devices.
 
#define LEC_MAX_COE_EMERGENCIES   ( (osal_size_t) 10u)
 Maximum number of CoE emergency messages.
 
#define LEC_MAX_COE_EMERGENCY_MSG_LEN   ( (osal_size_t) 32u)
 Maximum message length of CoE emergency messages.
 
#define PACKED   __attribute__((__packed__))
 
#define min(a, b)   ((a) < (b) ? (a) : (b))
 
#define EC_STATE_UNKNOWN   ((osal_uint16_t)(0x0000u))
 unknown state
 
#define EC_STATE_INIT   ((osal_uint16_t)(0x0001u))
 EtherCAT INIT state.
 
#define EC_STATE_PREOP   ((osal_uint16_t)(0x0002u))
 EtherCAT PREOP state.
 
#define EC_STATE_BOOT   ((osal_uint16_t)(0x0003u))
 EtherCAT BOOT state.
 
#define EC_STATE_SAFEOP   ((osal_uint16_t)(0x0004u))
 EtherCAT SAFEOP state.
 
#define EC_STATE_OP   ((osal_uint16_t)(0x0008u))
 EtherCAT OP state.
 
#define EC_STATE_MASK   ((osal_uint16_t)(0x000Fu))
 EtherCAT state mask.
 
#define EC_STATE_ERROR   ((osal_uint16_t)(0x0010u))
 EtherCAT ERROR.
 
#define EC_STATE_RESET   ((osal_uint16_t)(0x0010u))
 EtherCAT ERROR reset.
 

Typedefs

typedef osal_uint8_t ec_data_t[LEC_MAX_DATA]
 
typedef struct ec_pd ec_pd_t
 process data structure
 
typedef osal_uint16_t ec_state_t
 

Detailed Description

ethercat master common stuff

Author
Robert Burger rober.nosp@m.t.bu.nosp@m.rger@.nosp@m.dlr..nosp@m.de
Date
23 Nov 2016