Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: EasyCAT_LAB_simple EasyCAT_LAB_very_simple EasyCAT_LAB
ethercatbase.h File Reference
Headerfile for ethercatbase.c. More...
Go to the source code of this file.
Functions | |
int | ecx_setupdatagram (ecx_portt *port, 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 | ecx_adddatagram (ecx_portt *port, 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 | ecx_BWR (ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
BRW "broadcast write" primitive. | |
int | ecx_BRD (ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
BRD "broadcast read" primitive. | |
int | ecx_APRD (ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
APRD "auto increment address read" primitive. | |
int | ecx_ARMW (ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
APRMW "auto increment address read, multiple write" primitive. | |
int | ecx_FRMW (ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
FPRMW "configured address read, multiple write" primitive. | |
uint16 | ecx_APRDw (ecx_portt *port, uint16 ADP, uint16 ADO, int timeout) |
APRDw "auto increment address read" word return primitive. | |
int | ecx_FPRD (ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
FPRD "configured address read" primitive. | |
uint16 | ecx_FPRDw (ecx_portt *port, uint16 ADP, uint16 ADO, int timeout) |
FPRDw "configured address read" word return primitive. | |
int | ecx_APWRw (ecx_portt *port, uint16 ADP, uint16 ADO, uint16 data, int timeout) |
APWRw "auto increment address write" word primitive. | |
int | ecx_APWR (ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
APWR "auto increment address write" primitive. | |
int | ecx_FPWRw (ecx_portt *port, uint16 ADP, uint16 ADO, uint16 data, int timeout) |
FPWR "configured address write" primitive. | |
int | ecx_FPWR (ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout) |
FPWR "configured address write" primitive. | |
int | ecx_LRW (ecx_portt *port, uint32 LogAdr, uint16 length, void *data, int timeout) |
LRW "logical memory read / write" primitive. | |
int | ecx_LRD (ecx_portt *port, uint32 LogAdr, uint16 length, void *data, int timeout) |
LRD "logical memory read" primitive. | |
int | ecx_LWR (ecx_portt *port, uint32 LogAdr, uint16 length, void *data, int timeout) |
LWR "logical memory write" primitive. | |
int | ecx_LRWDC (ecx_portt *port, uint32 LogAdr, uint16 length, void *data, uint16 DCrs, int64 *DCtime, int timeout) |
LRW "logical memory read / write" primitive plus Clock Distribution. |
Detailed Description
Headerfile for ethercatbase.c.
Definition in file ethercatbase.h.
Function Documentation
int ecx_adddatagram | ( | ecx_portt * | port, |
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).
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Offset to data in rx frame, usefull to retrieve data after RX.
Definition at line 106 of file ethercatbase.c.
int ecx_APRD | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
APRD "auto increment address read" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [in] ADP = Address Position, each slave ++, slave that has 0 executes [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 217 of file ethercatbase.c.
uint16 ecx_APRDw | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
int | timeout | ||
) |
APRDw "auto increment address read" word return primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- word data from slave
Definition at line 298 of file ethercatbase.c.
int ecx_APWR | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
APWR "auto increment address write" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 362 of file ethercatbase.c.
int ecx_APWRw | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | data, | ||
int | timeout | ||
) |
APWRw "auto increment address write" word primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 384 of file ethercatbase.c.
int ecx_ARMW | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
APRMW "auto increment address read, multiple write" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 245 of file ethercatbase.c.
int ecx_BRD | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
BRD "broadcast read" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 185 of file ethercatbase.c.
int ecx_BWR | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
BRW "broadcast write" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 158 of file ethercatbase.c.
int ecx_FPRD | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
FPRD "configured address read" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 318 of file ethercatbase.c.
uint16 ecx_FPRDw | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
int | timeout | ||
) |
FPRDw "configured address read" word return primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- word data from slave
Definition at line 343 of file ethercatbase.c.
int ecx_FPWR | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
FPWR "configured address write" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 399 of file ethercatbase.c.
int ecx_FPWRw | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | data, | ||
int | timeout | ||
) |
FPWR "configured address write" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 421 of file ethercatbase.c.
int ecx_FRMW | ( | ecx_portt * | port, |
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
FPRMW "configured address read, multiple write" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 273 of file ethercatbase.c.
int ecx_LRD | ( | ecx_portt * | port, |
uint32 | LogAdr, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
LRD "logical memory read" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 461 of file ethercatbase.c.
int ecx_LRW | ( | ecx_portt * | port, |
uint32 | LogAdr, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
LRW "logical memory read / write" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 435 of file ethercatbase.c.
int ecx_LRWDC | ( | ecx_portt * | port, |
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.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 512 of file ethercatbase.c.
int ecx_LWR | ( | ecx_portt * | port, |
uint32 | LogAdr, | ||
uint16 | length, | ||
void * | data, | ||
int | timeout | ||
) |
LWR "logical memory write" primitive.
Blocking.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- Workcounter or EC_NOFRAME
Definition at line 487 of file ethercatbase.c.
int ecx_setupdatagram | ( | ecx_portt * | port, |
void * | frame, | ||
uint8 | com, | ||
uint8 | idx, | ||
uint16 | ADP, | ||
uint16 | ADO, | ||
uint16 | length, | ||
void * | data | ||
) |
Generate and set EtherCAT datagram in a standard ethernet frame.
- Parameters:
-
[in] port = port context struct [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
- Returns:
- always 0
Definition at line 68 of file ethercatbase.c.
Generated on Tue Jul 12 2022 18:21:13 by
