I want to find...

Search

Shares

Table of Content

EthercatDevice.pdoWrite()

[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.

Leave a Comment

Scroll to Top