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.