Headerfile for ethercatbase.c. More...
Go to the source code of this file.
Functions | |
int | ec_setupdatagram (void *frame, uint8 com, uint8 idx, uint16 ADP, uint16 ADO, uint16 length, void *data) |
Generate and set EtherCAT datagram in a standard ethernet frame. | |
int | ec_adddatagram (void *frame, uint8 com, uint8 idx, boolean more, uint16 ADP, uint16 ADO, uint16 length, void *data) |
Add EtherCAT datagram to a standard ethernet frame with existing datagram(s). | |
int | ec_BWR (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
BRW "broadcast write" primitive. | |
int | ec_BRD (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
BRD "broadcast read" primitive. | |
int | ec_APRD (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
APRD "auto increment address read" primitive. | |
int | ec_ARMW (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
APRMW "auto increment address read, multiple write" primitive. | |
int | ec_FRMW (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
FPRMW "configured address read, multiple write" primitive. | |
uint16 | ec_APRDw (uint16 ADP, uint16 ADO, int timeout) |
APRDw "auto increment address read" word return primitive. | |
int | ec_FPRD (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
FPRD "configured address read" primitive. | |
uint16 | ec_FPRDw (uint16 ADP, uint16 ADO, int16 timeout) |
FPRDw "configured address read" word return primitive. | |
int | ec_APWRw (uint16 ADP, uint16 ADO, uint16 data, int timeout) |
APWRw "auto increment address write" word primitive. | |
int | ec_APWR (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
APWR "auto increment address write" primitive. | |
int | ec_FPWRw (uint16 ADP, uint16 ADO, uint16 data, int timeout) |
FPWR "configured address write" primitive. | |
int | ec_FPWR (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
FPWR "configured address write" primitive. | |
int | ec_LRW (uint32 LogAdr, uint16 length, void *data, int timeout) |
LRW "logical memory read / write" primitive. | |
int | ec_LRD (uint32 LogAdr, uint16 length, void *data, int timeout) |
LRD "logical memory read" primitive. | |
int | ec_LWR (uint32 LogAdr, uint16 length, void *data, int timeout) |
LWR "logical memory write" primitive. | |
int | ec_LRWDC (uint32 LogAdr, uint16 length, void *data, uint16 DCrs, int64 *DCtime, int timeout) |
LRW "logical memory read / write" primitive plus Clock Distribution. |
Headerfile for ethercatbase.c.
Definition in file ethercatbase.h.
int ec_adddatagram | ( | void * | frame, | |
uint8 | com, | |||
uint8 | idx, | |||
boolean | more, | |||
uint16 | ADP, | |||
uint16 | ADO, | |||
uint16 | length, | |||
void * | data | |||
) |
Add EtherCAT datagram to a standard ethernet frame with existing datagram(s).
[out] | frame | = framebuffer |
[in] | com | = command |
[in] | idx | = index used for TX and RX buffers |
[in] | more | = TRUE if still more datagrams to follow |
[in] | ADP | = Address Position |
[in] | ADO | = Address Offset |
[in] | length | = length of datagram excluding EtherCAT header |
[in] | data | = databuffer to be copied in datagram |
Definition at line 109 of file ethercatbase.c.
APRD "auto increment address read" primitive.
Blocking.
[in] | ADP | = Address Position, each slave ++, slave that has 0 excecutes |
[in] | ADO | = Address Offset, slave memory address |
[in] | length | = length of databuffer |
[out] | data | = databuffer to put slave data in |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 220 of file ethercatbase.c.
APRDw "auto increment address read" word return primitive.
Blocking.
[in] | ADP | = Address Position, each slave ++, slave that has 0 reads. |
[in] | ADO | = Address Offset, slave memory address |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 298 of file ethercatbase.c.
APWR "auto increment address write" primitive.
Blocking.
[in] | ADP | = Address Position, each slave ++, slave that has 0 writes. |
[in] | ADO | = Address Offset, slave memory address |
[in] | length | = length of databuffer |
[in] | data | = databuffer to write to slave. |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 372 of file ethercatbase.c.
APWRw "auto increment address write" word primitive.
Blocking.
[in] | ADP | = Address Position, each slave ++, slave that has 0 writes. |
[in] | ADO | = Address Offset, slave memory address |
[in] | data | = word data to write to slave. |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 358 of file ethercatbase.c.
APRMW "auto increment address read, multiple write" primitive.
Blocking.
[in] | ADP | = Address Position, each slave ++, slave that has 0 reads, following slaves write. |
[in] | ADO | = Address Offset, slave memory address |
[in] | length | = length of databuffer |
[out] | data | = databuffer to put slave data in |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 247 of file ethercatbase.c.
BRD "broadcast read" primitive.
Blocking.
[in] | ADP | = Address Position, normally 0 |
[in] | ADO | = Address Offset, slave memory address |
[in] | length | = length of databuffer |
[out] | data | = databuffer to put slave data in |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 189 of file ethercatbase.c.
BRW "broadcast write" primitive.
Blocking.
[in] | ADP | = Address Position, normally 0 |
[in] | ADO | = Address Offset, slave memory address |
[in] | length | = length of databuffer |
[in] | data | = databuffer to be written to slaves |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 163 of file ethercatbase.c.
FPRD "configured address read" primitive.
Blocking.
[in] | ADP | = Address Position, slave that has address reads. |
[in] | ADO | = Address Offset, slave memory address |
[in] | length | = length of databuffer |
[out] | data | = databuffer to put slave data in |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 317 of file ethercatbase.c.
FPRDw "configured address read" word return primitive.
Blocking.
[in] | ADP | = Address Position, slave that has address reads. |
[in] | ADO | = Address Offset, slave memory address |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 341 of file ethercatbase.c.
FPWR "configured address write" primitive.
Blocking.
[in] | ADP | = Address Position, slave that has address writes. |
[in] | ADO | = Address Offset, slave memory address |
[in] | length | = length of databuffer |
[in] | data | = databuffer to write to slave. |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 407 of file ethercatbase.c.
FPWR "configured address write" primitive.
Blocking.
[in] | ADP | = Address Position, slave that has address writes. |
[in] | ADO | = Address Offset, slave memory address |
[in] | data | = word to write to slave. |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 393 of file ethercatbase.c.
FPRMW "configured address read, multiple write" primitive.
Blocking.
[in] | ADP | = Address Position, slave that has address reads, following slaves write. |
[in] | ADO | = Address Offset, slave memory address |
[in] | length | = length of databuffer |
[out] | data | = databuffer to put slave data in |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 274 of file ethercatbase.c.
LRD "logical memory read" primitive.
Blocking.
[in] | LogAdr | = Logical memory address |
[in] | length | = length of bytes to read from slave. |
[out] | data | = databuffer to read from slave. |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 453 of file ethercatbase.c.
LRW "logical memory read / write" primitive.
Blocking.
[in] | LogAdr | = Logical memory address |
[in] | length | = length of databuffer |
[in,out] | data | = databuffer to write to and read from slave. |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 428 of file ethercatbase.c.
int ec_LRWDC | ( | uint32 | LogAdr, | |
uint16 | length, | |||
void * | data, | |||
uint16 | DCrs, | |||
int64 * | DCtime, | |||
int | timeout | |||
) |
LRW "logical memory read / write" primitive plus Clock Distribution.
Blocking. Frame consists of two datagrams, one LRW and one FPRMW.
[in] | LogAdr | = Logical memory address |
[in] | length | = length of databuffer |
[in,out] | data | = databuffer to write to and read from slave. |
[in] | DCrs | = Distributed Clock reference slave address. |
[out] | DCtime | = DC time read from reference slave. |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 502 of file ethercatbase.c.
LWR "logical memory write" primitive.
Blocking.
[in] | LogAdr | = Logical memory address |
[in] | length | = length of databuffer |
[in] | data | = databuffer to write to slave. |
[in] | timeout | = timeout in us, standard is EC_TIMEOUTRET |
Definition at line 478 of file ethercatbase.c.
int ec_setupdatagram | ( | void * | frame, | |
uint8 | com, | |||
uint8 | idx, | |||
uint16 | ADP, | |||
uint16 | ADO, | |||
uint16 | length, | |||
void * | data | |||
) |
Generate and set EtherCAT datagram in a standard ethernet frame.
[out] | frame | = framebuffer |
[in] | com | = command |
[in] | idx | = index used for TX and RX buffers |
[in] | ADP | = Address Position |
[in] | ADO | = Address Offset |
[in] | length | = length of datagram excluding EtherCAT header |
[in] | data | = databuffer to be copied in datagram |
Definition at line 69 of file ethercatbase.c.