Servo over EtherCAT (SoE) Module. More...
#include <stdio.h>#include <string.h>#include "osal.h"#include "oshw.h"#include "ethercattype.h"#include "ethercatbase.h"#include "ethercatmain.h"#include "ethercatsoe.h"
Go to the source code of this file.
Classes | |
| struct | PACKED |
Macros | |
| #define | EC_SOE_MAX_DRIVES 8 |
Typedefs | |
| typedef PACKED_BEGIN struct PACKED | ec_SoEt |
Functions | |
| int | ec_readIDNmap (uint16 slave, int *Osize, int *Isize) |
| int | ec_SoEread (uint16 slave, uint8 driveNo, uint8 elementflags, uint16 idn, int *psize, void *p, int timeout) |
| int | ec_SoEwrite (uint16 slave, uint8 driveNo, uint8 elementflags, uint16 idn, int psize, void *p, int timeout) |
| int | ecx_readIDNmap (ecx_contextt *context, uint16 slave, int *Osize, int *Isize) |
| PACKED_END void | ecx_SoEerror (ecx_contextt *context, uint16 Slave, uint16 idn, uint16 Error) |
| int | ecx_SoEread (ecx_contextt *context, uint16 slave, uint8 driveNo, uint8 elementflags, uint16 idn, int *psize, void *p, int timeout) |
| int | ecx_SoEwrite (ecx_contextt *context, uint16 slave, uint8 driveNo, uint8 elementflags, uint16 idn, int psize, void *p, int timeout) |
Servo over EtherCAT (SoE) Module.
Definition in file ethercatsoe.c.
| #define EC_SOE_MAX_DRIVES 8 |
Definition at line 20 of file ethercatsoe.c.
| typedef PACKED_BEGIN struct PACKED ec_SoEt |
SoE (Servo over EtherCAT) mailbox structure
| int ec_readIDNmap | ( | uint16 | slave, |
| int * | Osize, | ||
| int * | Isize | ||
| ) |
Definition at line 385 of file ethercatsoe.c.
| int ec_SoEread | ( | uint16 | slave, |
| uint8 | driveNo, | ||
| uint8 | elementflags, | ||
| uint16 | idn, | ||
| int * | psize, | ||
| void * | p, | ||
| int | timeout | ||
| ) |
Definition at line 375 of file ethercatsoe.c.
| int ec_SoEwrite | ( | uint16 | slave, |
| uint8 | driveNo, | ||
| uint8 | elementflags, | ||
| uint16 | idn, | ||
| int | psize, | ||
| void * | p, | ||
| int | timeout | ||
| ) |
Definition at line 380 of file ethercatsoe.c.
| int ecx_readIDNmap | ( | ecx_contextt * | context, |
| 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] | context | = context struct |
| [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 312 of file ethercatsoe.c.
| PACKED_END void ecx_SoEerror | ( | ecx_contextt * | context, |
| uint16 | Slave, | ||
| uint16 | idn, | ||
| uint16 | Error | ||
| ) |
Report SoE error.
| [in] | context | = context struct |
| [in] | Slave | = Slave number |
| [in] | idn | = IDN that generated error |
| [in] | Error | = Error code, see EtherCAT documentation for list |
Definition at line 47 of file ethercatsoe.c.
| int ecx_SoEread | ( | ecx_contextt * | context, |
| 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] | context | = context struct |
| [in] | slave | = Slave number |
| [in] | driveNo | = Drive number in slave |
| [in] | elementflags | = Flags to select what properties of IDN are to be transferred. |
| [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 78 of file ethercatsoe.c.
| int ecx_SoEwrite | ( | ecx_contextt * | context, |
| 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] | context | = context struct |
| [in] | slave | = Slave number |
| [in] | driveNo | = Drive number in slave |
| [in] | elementflags | = Flags to select what properties of IDN are to be transferred. |
| [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 200 of file ethercatsoe.c.