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
1.7.2