62 int readMailbox(
EthercatCom *com,
unsigned address,
void *data,
unsigned length);
65 static const unsigned MBX_COMMAND_PHY_ADDR = 0x1400;
66 static const unsigned MBX_COMMAND_SIZE = 512;
67 static const unsigned MBX_STATUS_PHY_ADDR = 0x2400;
68 static const unsigned MBX_STATUS_SIZE = 512;
70 static const unsigned MBX_COMMAND_SYNCMAN_NUM = 2;
71 static const unsigned MBX_STATUS_SYNCMAN_NUM = 3;
82 int writeMailbox_(
EthercatCom *com,
unsigned address,
void const *data,
unsigned length);
83 int readMailbox_(
EthercatCom *com,
unsigned address,
void *data,
unsigned length);
84 bool verifyDeviceStateForMailboxOperation();
90 bool writeMailboxInternal(
EthercatCom *com,
void const *data,
unsigned length);
91 bool readMailboxInternal(
EthercatCom *com,
void *data,
unsigned length);
94 EtherCAT_SlaveHandler *
sh_;
ROSCONSOLE_DECL void initialize()
pthread_mutex_t mailbox_lock_
MbxDiagnostics mailbox_publish_diagnostics_
MbxDiagnostics mailbox_diagnostics_
EtherCAT_SlaveHandler * sh_