Servo over EtherCAT (SoE) Module. More...
#include <stdio.h>#include <string.h>#include <sys/time.h>#include <unistd.h>#include "ethercattype.h"#include "nicdrv.h"#include "ethercatbase.h"#include "ethercatmain.h"#include "ethercatsoe.h"
Go to the source code of this file.
Data Structures | |
| struct | PACKED |
| SDO structure, not to be confused with EcSDOserviceT. More... | |
Typedefs | |
| typedef struct PACKED | ec_SoEt |
| SoE (Servo over EtherCAT) mailbox structure. | |
Functions | |
| void | ec_SoEerror (uint16 Slave, uint16 idn, uint16 Error) |
| Report SoE error. | |
| int | ec_SoEread (uint16 slave, uint8 driveNo, uint8 elementflags, uint16 idn, int *psize, void *p, int timeout) |
| SoE read, blocking. | |
| int | ec_SoEwrite (uint16 slave, uint8 driveNo, uint8 elementflags, uint16 idn, int psize, void *p, int timeout) |
| SoE write, blocking. | |
| int | ec_readIDNmap (uint16 slave, int *Osize, int *Isize) |
| SoE read AT and MTD mapping. | |
Servo over EtherCAT (SoE) Module.
Definition in file ethercatsoe.c.
| int ec_readIDNmap | ( | uint16 | slave, | |
| int * | Osize, | |||
| int * | Isize | |||
| ) |
SoE read AT and MTD mapping.
SoE has standard indexes defined for mapping. This function tries to read them and collect a full input and output mapping size of designated slave.
| [in] | Slave | = Slave number |
| [out] | Osize | = Size in bits of output mapping (MTD) found |
| [out] | Isize | = Size in bits of input mapping (AT) found |
Definition at line 343 of file ethercatsoe.c.


Report SoE error.
| [in] | Slave | = Slave number |
| [in] | idn | = IDN that generated error |
| [in] | Error | = Error code, see EtherCAT documentation for list |
Definition at line 82 of file ethercatsoe.c.


| int ec_SoEread | ( | uint16 | slave, | |
| uint8 | driveNo, | |||
| uint8 | elementflags, | |||
| uint16 | idn, | |||
| int * | psize, | |||
| void * | p, | |||
| int | timeout | |||
| ) |
SoE read, blocking.
The IDN object of the selected slave and DriveNo is read. If a response is larger than the mailbox size then the response is segmented. The function will combine all segments and copy them to the parameter buffer.
| [in] | slave | = Slave number |
| [in] | driveNo | = Drive number in slave |
| [in] | elementflags | = Flags to select what properties of IDN are to be transfered. |
| [in] | idn | = IDN. |
| [in,out] | psize | = Size in bytes of parameter buffer, returns bytes read from SoE. |
| [out] | p | = Pointer to parameter buffer |
| [in] | timeout | = Timeout in us, standard is EC_TIMEOUTRXM |
Definition at line 111 of file ethercatsoe.c.


| int ec_SoEwrite | ( | uint16 | slave, | |
| uint8 | driveNo, | |||
| uint8 | elementflags, | |||
| uint16 | idn, | |||
| int | psize, | |||
| void * | p, | |||
| int | timeout | |||
| ) |
SoE write, blocking.
The IDN object of the selected slave and DriveNo is written. If a response is larger than the mailbox size then the response is segmented.
| [in] | slave | = Slave number |
| [in] | driveNo | = Drive number in slave |
| [in] | elementflags | = Flags to select what properties of IDN are to be transfered. |
| [in] | idn | = IDN. |
| [in] | psize | = Size in bytes of parameter buffer. |
| [out] | p | = Pointer to parameter buffer |
| [in] | timeout | = Timeout in us, standard is EC_TIMEOUTRXM |
Definition at line 232 of file ethercatsoe.c.

1.6.3