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