Functions
ethercatbase.h File Reference

Headerfile for ethercatbase.c. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int ec_adddatagram (void *frame, uint8 com, uint8 idx, boolean more, uint16 ADP, uint16 ADO, uint16 length, void *data)
int ec_APRD (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout)
uint16 ec_APRDw (uint16 ADP, uint16 ADO, int timeout)
int ec_APWR (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout)
int ec_APWRw (uint16 ADP, uint16 ADO, uint16 data, int timeout)
int ec_ARMW (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout)
int ec_BRD (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout)
int ec_BWR (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout)
int ec_FPRD (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout)
uint16 ec_FPRDw (uint16 ADP, uint16 ADO, int16 timeout)
int ec_FPWR (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout)
int ec_FPWRw (uint16 ADP, uint16 ADO, uint16 data, int timeout)
int ec_FRMW (uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout)
int ec_LRD (uint32 LogAdr, uint16 length, void *data, int timeout)
int ec_LRW (uint32 LogAdr, uint16 length, void *data, int timeout)
int ec_LRWDC (uint32 LogAdr, uint16 length, void *data, uint16 DCrs, int64 *DCtime, int timeout)
int ec_LWR (uint32 LogAdr, uint16 length, void *data, int timeout)
int ec_setupdatagram (void *frame, uint8 com, uint8 idx, uint16 ADP, uint16 ADO, uint16 length, void *data)

Detailed Description

Headerfile for ethercatbase.c.

Definition in file ethercatbase.h.


Function Documentation

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

Parameters:
[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 109 of file ethercatbase.c.

int ec_APRD ( uint16  ADP,
uint16  ADO,
uint16  length,
void *  data,
int  timeout 
)

APRD "auto increment address read" primitive. Blocking.

Parameters:
[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
Returns:
Workcounter or EC_NOFRAME

Definition at line 220 of file ethercatbase.c.

uint16 ec_APRDw ( uint16  ADP,
uint16  ADO,
int  timeout 
)

APRDw "auto increment address read" word return primitive. Blocking.

Parameters:
[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 ec_APWR ( uint16  ADP,
uint16  ADO,
uint16  length,
void *  data,
int  timeout 
)

APWR "auto increment address write" primitive. Blocking.

Parameters:
[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 372 of file ethercatbase.c.

int ec_APWRw ( uint16  ADP,
uint16  ADO,
uint16  data,
int  timeout 
)

APWRw "auto increment address write" word primitive. Blocking.

Parameters:
[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 358 of file ethercatbase.c.

int ec_ARMW ( uint16  ADP,
uint16  ADO,
uint16  length,
void *  data,
int  timeout 
)

APRMW "auto increment address read, multiple write" primitive. Blocking.

Parameters:
[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 247 of file ethercatbase.c.

int ec_BRD ( uint16  ADP,
uint16  ADO,
uint16  length,
void *  data,
int  timeout 
)

BRD "broadcast read" primitive. Blocking.

Parameters:
[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 189 of file ethercatbase.c.

int ec_BWR ( uint16  ADP,
uint16  ADO,
uint16  length,
void *  data,
int  timeout 
)

BRW "broadcast write" primitive. Blocking.

Parameters:
[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 163 of file ethercatbase.c.

int ec_FPRD ( uint16  ADP,
uint16  ADO,
uint16  length,
void *  data,
int  timeout 
)

FPRD "configured address read" primitive. Blocking.

Parameters:
[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 317 of file ethercatbase.c.

uint16 ec_FPRDw ( uint16  ADP,
uint16  ADO,
int16  timeout 
)

FPRDw "configured address read" word return primitive. Blocking.

Parameters:
[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 341 of file ethercatbase.c.

int ec_FPWR ( uint16  ADP,
uint16  ADO,
uint16  length,
void *  data,
int  timeout 
)

FPWR "configured address write" primitive. Blocking.

Parameters:
[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 407 of file ethercatbase.c.

int ec_FPWRw ( uint16  ADP,
uint16  ADO,
uint16  data,
int  timeout 
)

FPWR "configured address write" primitive. Blocking.

Parameters:
[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 393 of file ethercatbase.c.

int ec_FRMW ( uint16  ADP,
uint16  ADO,
uint16  length,
void *  data,
int  timeout 
)

FPRMW "configured address read, multiple write" primitive. Blocking.

Parameters:
[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 274 of file ethercatbase.c.

int ec_LRD ( uint32  LogAdr,
uint16  length,
void *  data,
int  timeout 
)

LRD "logical memory read" primitive. Blocking.

Parameters:
[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 453 of file ethercatbase.c.

int ec_LRW ( uint32  LogAdr,
uint16  length,
void *  data,
int  timeout 
)

LRW "logical memory read / write" primitive. Blocking.

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

Parameters:
[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 502 of file ethercatbase.c.

int ec_LWR ( uint32  LogAdr,
uint16  length,
void *  data,
int  timeout 
)

LWR "logical memory write" primitive. Blocking.

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

Parameters:
[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 69 of file ethercatbase.c.



youbot_driver
Author(s): Jan Paulus
autogenerated on Mon Oct 6 2014 09:08:03