[Ethercat Device]
Description
Write the output process data of a certain size which starting from the specified offset for such EtherCAT slave device.
Syntax
int pdoWrite(uint32_t offset, void *data, uint32_t size);
Parameters
[in] uint32_t offset
The offset value of output process data for such EtherCAT slave device.[in] void *data
The data buffer for writing output process data.[in] uint32_t size
The size of the data buffer for writing output process data.
Return Value
Return an error code. If the returned value is zero, it indicates a successful execution of this function.
Comment
This function must be called after a successful execution of EthercatMaster::start(). This function is non-blocking and can be called within the Cyclic Callback.
Example
#include "Ethercat.h"
EthercatMaster master;
EthercatDevice_Generic slave;
uint8_t buffer[4] = {0x00, 0x55, 0xAA, 0xFF};
void setup() {
master.begin();
slave.attach(0, master);
master.start(1000000);
}
void loop() {
buffer[0] = ~buffer[0];
buffer[1] = ~buffer[1];
buffer[2] = ~buffer[2];
buffer[3] = ~buffer[3];
slave.pdoWrite(0, buffer, 4);
delay(1000);
}Please see the EtherCAT Library User Manual for more QEC EtherCAT instructions and API usage.