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.