EtherCAT Process Data buffer. More...
#include <ethercat_process_data.h>
Public Member Functions | |
EtherCAT_PD_Buffer (EC_Logic *_m_logic_instance, EtherCAT_DataLinkLayer *_m_dll_instance) | |
bool | txandrx (size_t datalen, unsigned char *data) |
Send some process data. | |
virtual | ~EtherCAT_PD_Buffer () |
Protected Member Functions | |
void | start () |
Start transmitting process data. | |
void | stop () |
Stop transmitting process data. | |
Private Attributes | |
EtherCAT_DataLinkLayer * | m_dll_instance |
Pointer to DLL instance. | |
bool | 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 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 | ( | EC_Logic * | _m_logic_instance, |
EtherCAT_DataLinkLayer * | _m_dll_instance | ||
) |
virtual EtherCAT_PD_Buffer::~EtherCAT_PD_Buffer | ( | ) | [virtual] |
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 89 of file ethercat_process_data.h.
Pointer to DLL instance.
Definition at line 81 of file ethercat_process_data.h.
bool EtherCAT_PD_Buffer::m_is_running [private] |
See note in class definition.
Definition at line 84 of file ethercat_process_data.h.
EC_Logic* EtherCAT_PD_Buffer::m_logic_instance [private] |
Pointer to EC_Logic.
Definition at line 79 of file ethercat_process_data.h.
EtherCAT frame(s) to be sent.
Definition at line 94 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 92 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 88 of file ethercat_process_data.h.