EtherCAT Process Data buffer. More...
#include <ethercat_process_data.h>
Public Member Functions | |
bool | txandrx (size_t datalen, unsigned char *data) |
Send some process data. | |
Static Public Member Functions | |
static EtherCAT_PD_Buffer * | instance () |
Singleton. | |
Protected Member Functions | |
EtherCAT_PD_Buffer () | |
Constructor. | |
void | start () |
Start transmitting process data. | |
void | stop () |
Stop transmitting process data. | |
virtual | ~EtherCAT_PD_Buffer () |
Private Attributes | |
EtherCAT_DataLinkLayer * | m_dll_instance |
Pointer to DLL instance. | |
unsigned int | m_is_running |
See note in class definition. | |
EC_Logic * | m_logic_instance |
Pointer to EC_Logic. | |
EC_Ethernet_Frame * | m_lrw_frame [MAX_CHUNKS] |
EtherCAT frame(s) to be sent. | |
LRW_Telegram * | m_lrw_telegram [MAX_CHUNKS] |
Telegram(s) to be sent. | |
Static Private Attributes | |
static const unsigned | CHUNK_SIZE = 1486 |
static EtherCAT_PD_Buffer * | m_instance |
This class is a singleton. | |
static const unsigned | MAX_CHUNKS = 4 |
Friends | |
class | EC_ESM_Ops |
EtherCAT Process Data buffer.
Definition at line 54 of file ethercat_process_data.h.
EtherCAT_PD_Buffer::EtherCAT_PD_Buffer | ( | ) | [protected] |
Constructor.
virtual EtherCAT_PD_Buffer::~EtherCAT_PD_Buffer | ( | ) | [protected, virtual] |
static EtherCAT_PD_Buffer* EtherCAT_PD_Buffer::instance | ( | ) | [static] |
Singleton.
void EtherCAT_PD_Buffer::start | ( | ) | [protected] |
Start transmitting process data.
void EtherCAT_PD_Buffer::stop | ( | ) | [protected] |
Stop transmitting process data.
bool EtherCAT_PD_Buffer::txandrx | ( | size_t | datalen, |
unsigned char * | data | ||
) |
Send some process data.
datalen | number of bytes that should be set |
data | pointer to data array. Data is read, transmitted, and (if the operation succeeded) the received data is put in the data array |
friend class EC_ESM_Ops [friend] |
Definition at line 56 of file ethercat_process_data.h.
const unsigned EtherCAT_PD_Buffer::CHUNK_SIZE = 1486 [static, private] |
Definition at line 95 of file ethercat_process_data.h.
Pointer to DLL instance.
Definition at line 85 of file ethercat_process_data.h.
EtherCAT_PD_Buffer* EtherCAT_PD_Buffer::m_instance [static, private] |
This class is a singleton.
Definition at line 87 of file ethercat_process_data.h.
unsigned int EtherCAT_PD_Buffer::m_is_running [private] |
See note in class definition.
Definition at line 90 of file ethercat_process_data.h.
EC_Logic* EtherCAT_PD_Buffer::m_logic_instance [private] |
Pointer to EC_Logic.
Definition at line 83 of file ethercat_process_data.h.
EtherCAT frame(s) to be sent.
Definition at line 100 of file ethercat_process_data.h.
LRW_Telegram* EtherCAT_PD_Buffer::m_lrw_telegram[MAX_CHUNKS] [private] |
Telegram(s) to be sent.
Definition at line 98 of file ethercat_process_data.h.
const unsigned EtherCAT_PD_Buffer::MAX_CHUNKS = 4 [static, private] |
Process data can be divided over MAX_CHUCKS packets of upto CHUNK_SIZE bytes
Definition at line 94 of file ethercat_process_data.h.