35 #ifndef ETHERCAT_COM_H 36 #define ETHERCAT_COM_H 38 #include <al/ethercat_AL.h> 39 #include <al/ethercat_master.h> 40 #include <al/ethercat_slave_handler.h> 41 #include <dll/ethercat_dll.h> 50 virtual bool txandrx(
struct EtherCAT_Frame * frame)=0;
51 virtual bool txandrx_once(
struct EtherCAT_Frame * frame)=0;
63 bool txandrx(
struct EtherCAT_Frame * frame);
67 EtherCAT_DataLinkLayer *
dll_;
76 bool txandrx(
struct EtherCAT_Frame * frame);
81 bool lock(
unsigned line);
82 bool trylock(
unsigned line);
83 bool unlock(
unsigned line);
89 enum {IDLE=0, READY_TO_SEND=1, WAITING_TO_RECV=2} state_;
EtherCAT_DataLinkLayer * dll_
virtual bool txandrx_once(struct EtherCAT_Frame *frame)=0
pthread_cond_t busy_cond_
pthread_cond_t share_cond_
virtual bool txandrx(struct EtherCAT_Frame *frame)=0