Program Listing for File EcApi.h
↰ Return to documentation for file (ec\include\EcApi.h)
//This header file is used to generate the Doxygen manual
//TO STRIP ALL DOXYGEN COMMENTS FROM THIS HEADER FILE, SEARCH FOR THE FOLLOWING REGULAR EXPRESSION AND REPLACE IT WITH BLANK
// (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/\s+)|((//(/)<.*\s*)*(//(/)<.*))|(//(/)[^<].*\s*)
//==========================================DOCUMENTATION GUIDELINES (2017/3/30)=======================================================
//
// 1. There can only be 135 characters per line (counting spaces/tabs and formatting characters such as *). The technical writer should
// install a tool that displays a vertical line at column 136 to make sure that this limit is not exceeded.
//
// 2. References to constants, functions, classes, and class members should be linked using the @ref command. The format should be as
// follows:
//
// @ref [Full Path Including Namespaces] "[Name of Constant/Function/Class/Member]"
//
// Examples: @ref Motion::StartPos "StartPos"
// @ref Motion::StartPos(TriggerPosCommand *pPosCommand) "StartPos"
//
// 3. When documenting functions, @param should be used to document every function argument. @remarks should be used to explain the
// function in further detail.
//
// 4. Try to follow the conventions of the existing documentation as much as possible.
//
#ifndef EC_API_LIB
#define EC_API_LIB
#include <windows.h>
#include "WMX3Api.h"
#ifdef WIN32
#define ECAPIFUNC long __stdcall
#else
#define ECAPIFUNC HRESULT
#endif
namespace wmx3Api {
namespace ecApi {
namespace constants {
static const int maxMasters = 2;
static const int maxSlaves = 256;
static const int maxSlaveAxes = 16;
static const int maxEniFilePathLen = 256;
static const int maxFoEFilePathLen = 256;
static const int maxFoEFileNameLen = 64;
static const int maxSdoInfoNameLen = 64;
static const int maxSdoInfoODListSize = 450;
static const int maxSdoInfoEDListSize = 256;
static const int maxLogPdoSize = 256;
static const int maxLogPdoDataSize = 8;
static const int maxMappedRxPdo = 128;
static const int maxMappedTxPdo = 128;
}
class EcStateMachine {
public:
enum T {
None = 0x00,
Init = 0x01,
Preop = 0x02,
Boot = 0x03,
Safeop = 0x04,
Op = 0x08
};
};
class EcSdoType {
public:
enum T {
Expedited = 0x00,
Normal = 0x01
};
};
class EcObjectDescriptionListType {
public:
enum T {
Len = 0x00,
AllObjects = 0x01,
RxPdo = 0x02,
TxPdo = 0x03,
DevReplacement = 0x04,
Startup = 0x05,
};
};
class EcHotconnectState {
public:
enum T {
Idle = 0x00,
Running,
Abort,
Unknown
};
};
class EcHotconnectAbortCode {
public:
enum T {
None = 0x00,
PortOpenError,
Timeout,
ScanNetworkFailed,
ApplyNewTopologyError,
InitNewSlavesError,
RecalculateDcError,
ClearDLEventError,
Unknown
};
};
class EcDiagnosisScanState {
public:
enum T {
None = 0x00,
Scanning,
Done,
MemoryAllocError,
PortStateError,
PortOpenError,
Unknown
};
};
class EcOperationMode {
public:
enum T {
NONE = 0x00,
PP = 0x01,
VL = 0x02,
PV = 0x03,
TQ = 0x04,
HM = 0x06,
IP = 0x07,
CSP = 0x08,
CSV = 0x09,
CST = 0x0a,
CSTCA = 0x0b,
Unknown
};
};
class EcMasterMode {
public:
enum T {
CyclicMode,
PPMode
};
};
class EcErrorCode: public ErrorCode {
public:
enum {
EcError = 0x00002000,
ScanNetworkFailed,
HotconnectFailed,
SharedMemoryNull,
SlaveStateChangeError,
SlaveStateBelowPreop,
SlaveInvalidAddressingMode,
SlaveInEmergencyState,
SlaveMailboxInUse,
SlaveSdoDownloadError,
SlaveSdoUploadError,
SlaveSdoInfoGetODListError,
SlaveSdoInfoGetODError,
SlaveSdoInfoGetEDError,
SlaveActualSizeLargerThanBufferSize,
SlaveRegWriteError,
SlaveRegReadError,
SlaveSIIWriteError,
SlaveSIIWriteFailedToSetChecksum,
SlaveSIIReadError,
SlavePdoReadWriteNotAllowed,
SlavePdoReadWriteTimeout,
SlavePdoNotMapped,
SlaveTxPdoWriteNotAllowed,
SlaveFoENotInBootState,
SlaveFoEFileOpenError,
SlaveFoEReadError,
SlaveFoEWriteError,
SlaveFoEFilePathTooLong,
SlaveFoEFileNameTooLong,
SlaveAoEReadError,
SlaveAoEWriteError,
SlaveSoEReadError,
SlaveSoEWriteError,
SlaveVoEReadError,
SlaveVoEWriteError,
AxisNotServoOn,
NotInPPMode,
NotInHMMode,
NotInPVMode,
NotInTQMode,
PdoNotMapped,
SlaveNotSupportVirtualSerial,
OpenComFailed,
CreateComProcessThreadFailed
};
static int ConvertEcErrorCode(int errCode);
};
class EcLogInputPdo{
public:
enum DataType {
Signed,
Unsigned,
Hexadecimal
};
int slaveId;
DataType type;
unsigned int index;
unsigned int subIndex;
};
class EcLogInput : public LogInput {
public:
EcLogInput();
unsigned int GetModuleId();
WMX3APIFUNC GetInputData(unsigned char* buff, int buffSize, unsigned int* dataSize);
WMX3APIFUNC SetInputData(int moduleId, unsigned char* data, unsigned int dataSize);
int masterId;
int numOfPdo;
EcLogInputPdo pdo[constants::maxLogPdoSize];
};
class EcLogOutputPdo{
public:
EcLogOutputPdo();
int slaveId;
unsigned int index;
unsigned int subIndex;
int length;
unsigned char data[constants::maxLogPdoDataSize];
};
class EcLogOutputData{
public:
EcLogOutputData();
int masterId;
int numOfPdo;
EcLogOutputPdo pdo[constants::maxLogPdoSize];
};
class EcLogOutput : public LogOutput {
public:
EcLogOutput();
unsigned int GetModuleId();
WMX3APIFUNC SetOutputData(int moduleId, unsigned char* cfgData, unsigned int cfgDataSize, unsigned char* data, unsigned int dataSize, unsigned int dataIndex, unsigned int storeIndex);
EcLogOutputData ecData[wmx3Api::constants::maxLogOutputDataSize];
};
class EcAoESender{
public:
unsigned char senderNetId[6];
unsigned short senderPort;
};
class EcSlaveSdoInfoObjectDescription {
public:
unsigned short index;
unsigned short dataType;
unsigned char maxSubIndex;
unsigned short objectCode;
char name[constants::maxSdoInfoNameLen];
};
class EcSlaveSdoInfoObjectDescriptionList {
public:
unsigned short num;
EcSlaveSdoInfoObjectDescription objects[constants::maxSdoInfoODListSize];
};
class EcSlaveSdoInfoEntryDescription {
public:
unsigned short index;
unsigned char subIndex;
unsigned char valueInfo;
unsigned short dataType;
unsigned short bitLen;
unsigned short objectAccess;
unsigned short unitType;
int defaultValue;
int minimumValue;
int maximumValue;
char name[constants::maxSdoInfoNameLen];
};
class EcSlaveSdoInfoEntryDescriptionList {
public:
unsigned short num;
EcSlaveSdoInfoEntryDescription entry[constants::maxSdoInfoEDListSize];
};
class EcSlavePdo{
public:
bool enable;
unsigned char size;
unsigned short offset;
};
class EcSlavePdoInfo {
public:
EcSlavePdo statusWord;
EcSlavePdo modesOfOperationDisplay;
EcSlavePdo positionActualValue;
EcSlavePdo velocityActualValue;
EcSlavePdo torqueActualValue;
EcSlavePdo errorCode;
EcSlavePdo touchProbeStatus;
EcSlavePdo touchProbePositionPos1;
EcSlavePdo touchProbePositionPos2;
EcSlavePdo followingError;
EcSlavePdo digitalInput;
EcSlavePdo controlWord;
EcSlavePdo modesOfOperation;
EcSlavePdo targetPosition;
EcSlavePdo targetVelocity;
EcSlavePdo targetTorque;
EcSlavePdo maxTorque;
EcSlavePdo positiveTorqueLimit;
EcSlavePdo negativeTorqueLimit;
EcSlavePdo touchProbeFunction;
EcSlavePdo velocityOffset;
EcSlavePdo torqueOffset;
EcSlavePdo maxMotorSpeed;
EcSlavePdo digitalOutput;
};
class EcSlaveAxisInfo {
public:
int axisIndex;
short digitalInputAddr;
unsigned short digitalInputSize;
short digitalOutputAddr;
unsigned short digitalOutputSize;
EcSlavePdoInfo pdoInfo;
EcOperationMode::T operationMode;
unsigned char targetReached;
unsigned char followingError;
unsigned char homingError;
unsigned char homingAttained;
unsigned char halt;
};
class EcSlaveInfo {
public:
int id;
short position;
short address;
unsigned int vendorId;
unsigned int productCode;
unsigned int revisionNo;
unsigned int serialNo;
unsigned int alias;
unsigned int numOfAxes;
EcSlaveAxisInfo axisInfo[constants::maxSlaveAxes];
EcStateMachine::T state;
unsigned short alStatusCode;
unsigned char offline;
unsigned char inaccessible;
unsigned char newSlave;
unsigned char reverseSlave;
unsigned char dcSupport;
unsigned char dcWidth;
unsigned char portState[4];
int neighbor[4];
unsigned int propagaDelay;
unsigned long long systemTime;
unsigned long long systemTimeOffset;
unsigned long long startTime;
unsigned short inputAddr;
unsigned short inputSize;
unsigned short outputAddr;
unsigned short outputSize;
unsigned int rxLogicAddr;
unsigned int rxPhyAddr;
unsigned int rxSize;
unsigned int txLogicAddr;
unsigned int txPhyAddr;
unsigned int txSize;
};
class EcMasterStatisticsInfo {
public:
long commPeriod;
long long cycleCounter;
long long interruptIntervalCount[9];
long long cycleProcessTimeCount[6];
long long processTimeCount[6];
long long commandProcessTimeCount[6];
long long feedbackProcessTimeCount[6];
long long communicateProcessTimeCount[6];
long long dcDiffCount[12];
unsigned int txDelay;
unsigned int minTxDelay;
unsigned int maxTxDelay;
unsigned int packetLoss;
unsigned int packetTimeout;
unsigned int packetLossMode[4];
unsigned int packetTimeoutMode[4];
unsigned int dlEventCount;
unsigned long long minRefClockInterval;
unsigned long long maxRefClockInterval;
unsigned long long avgRefClockInterval;
unsigned long long curRefClock;
unsigned long long nextDcClock;
int diffFromNextDcClock;
int minDiffFromNextDcClock;
int maxDiffFromNextDcClock;
unsigned int totalAxesNum;
unsigned int totalRxPdoSize;
unsigned int totalTxPdoSize;
unsigned int totalInputSize;
unsigned int totalOutputSize;
unsigned int overCycle;
unsigned int ringNum;
unsigned int numOfCyclicFrames;
EcHotconnectState::T hcState;
EcHotconnectAbortCode::T hcAbortCode;
long hcErrorCode;
EcDiagnosisScanState::T diagnosisScanState;
};
class EcMasterInfo {
public:
int id;
EcStateMachine::T state;
EcMasterMode::T mode;
unsigned int numOfSlaves;
EcSlaveInfo slaves[constants::maxSlaves];
EcMasterStatisticsInfo statisticsInfo;
int GetOnlineSlaveCount();
int GetOfflineSlaveCount();
int GetInaccessibleSlaveCount();
};
class EcMasterInfoList{
public:
unsigned int numOfMasters;
EcMasterInfo masters[constants::maxMasters];
};
typedef int (*EcSdoDownloadCallBack)(int result, int masterid, int slaveid, int index, int subindex, EcSdoType::T sdoType, int len, unsigned char* data, unsigned int errorCode);
typedef int (*EcSdoUploadCallBack)(int result, int masterid, int slaveid, int index, int subindex, EcSdoType::T sdoType, int len, unsigned char* data, unsigned int errorCode);
typedef int (*EcRegisterWriteCallBack)(int result, int masterid, int slaveid, int off, int len, unsigned char* data);
typedef int (*EcRegisterReadCallBack)(int result, int masterid, int slaveid, int off, int len, unsigned char* data);
typedef int (*EcRegisterBroadcastWriteCallBack)(int result, int masterid, int off, int len, unsigned char* data, int wkc);
typedef int (*EcRegisterBroadcastReadCallBack)(int result, int masterid, int off, int len, unsigned char* data, int wkc);
typedef int (*EcSdoInfoGetODListCallBack)(int result, int masterid, int slaveid, EcObjectDescriptionListType::T type, EcSlaveSdoInfoObjectDescriptionList* list);
typedef int (*EcSdoInfoGetEDListCallBack)(int result, int masterid, int slaveid, int index, EcSlaveSdoInfoEntryDescriptionList* list);
typedef int (*EcFoEReadCallBack)(int result, int masterid, int slaveId, wchar_t* filePath, char* fileName, unsigned int password, unsigned int errorCode);
typedef int (*EcFoEWriteCallBack)(int result, int masterid, int slaveId, wchar_t* filePath, char* fileName, unsigned int password, unsigned int errorCode);
typedef int (*EcSIIWriteCallBack)(int result, int masterid, int slaveid, int addr, int len, unsigned char* data);
typedef int (*EcSIIReadCallBack)(int result, int masterid, int slaveid, int addr, int len, unsigned char* data);
typedef int (*EcAoEReadCallBack)(int result, int masterid, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned char senderNetId[6], unsigned short senderPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int readLength, unsigned char* aoeBuff, unsigned int errorCode);
typedef int (*EcAoEWriteCallBack)(int result, int masterid, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned char senderNetId[6], unsigned short senderPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int writeLength, unsigned char* aoeData, unsigned int errorCode);
typedef int (*EcAoEWriteControlCallBack)(int result, int masterid, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned char senderNetId[6], unsigned short senderPort, unsigned short aoeState, unsigned short deviceState, unsigned int writeLength, unsigned char* aoeData, unsigned int errorCode);
typedef int (*EcSoEReadCallBack)(int result, int masterid, int slaveId, unsigned char driveNo, unsigned char elementFlags, unsigned short idn, unsigned int buffSize, unsigned char* readSoEBuffer, unsigned int errorCode);
typedef int (*EcSoEWriteCallBack)(int result, int masterid, int slaveId, unsigned char driveNo, unsigned char elementFlags, unsigned short idn, unsigned int dataSize, unsigned char* writeSoEData, unsigned int errorCode);
typedef int (*EcVoEReadCallBack)(int result, int masterid, int slaveId, unsigned int vendorId, unsigned short vendorType, unsigned int readDataSize, unsigned char* readVoEBuffer);
typedef int (*EcVoEWriteCallBack)(int result, int masterid, int slaveId, unsigned int vendorId, unsigned short vendorType, unsigned int writeDataSize, unsigned char* writeAoEData);
class Ecat;
class Ecat {
private:
WMX3Api *wmx3Api;
int statChnlId;
bool isSelfDev;
void init(WMX3Api *f);
void close();
HANDLE ioHdl;
void* ioData;
public:
Ecat(WMX3Api *f);
Ecat(const Ecat& src);
Ecat& operator=(const Ecat& src);
Ecat();
Ecat(DeviceType::T type);
~Ecat();
static ECAPIFUNC ErrorToString(int errCode, char *pString, unsigned int size);
static ECAPIFUNC ErrorToString(int errCode, wchar_t *pString, unsigned int size);
static ECAPIFUNC ApiLogToString(unsigned char* pLogData, unsigned int logDataSize, char *pString, unsigned int size);
static ECAPIFUNC ApiLogToString(unsigned char* pLogData, unsigned int logDataSize, wchar_t *pString, unsigned int size);
static ECAPIFUNC GetLibVersion(int *pMajorVersion, int *pMinorVersion, int *pRevisionVersion, int *pFixVersion);
bool IsDeviceValid();
ECAPIFUNC GetVersion(int *pMajorVersion, int *pMinorVersion, int *pRevisionVersion, int *pFixVersion);
ECAPIFUNC ScanNetwork();
ECAPIFUNC ScanNetwork(int masterId);
ECAPIFUNC ChangeSlaveState(int slaveId, EcStateMachine::T state, int* errorCode);
ECAPIFUNC ChangeSlaveState(int masterId, int slaveId, EcStateMachine::T state, int* errorCode);
ECAPIFUNC StartHotconnect();
ECAPIFUNC StartHotconnect(int masterId);
ECAPIFUNC ResetRefClockInfo();
ECAPIFUNC ResetRefClockInfo(int masterId);
ECAPIFUNC ResetTransmitStatisticsInfo();
ECAPIFUNC ResetTransmitStatisticsInfo(int masterId);
ECAPIFUNC SetUpdatePeriod(unsigned int period);
ECAPIFUNC DiagnosisScan();
ECAPIFUNC DiagnosisScan(int masterId);
ECAPIFUNC GetMasterInfo(EcMasterInfo* master);
ECAPIFUNC GetMasterInfo(int masterId, EcMasterInfo* master);
ECAPIFUNC GetMasterInfoList(EcMasterInfoList* masters);
ECAPIFUNC GetEniFilePath(int slaveId, char* path, int len);
ECAPIFUNC GetEniFilePath(int slaveId, wchar_t* path, int len);
ECAPIFUNC GetEniFilePath(int masterId, int slaveId, char* path, int len);
ECAPIFUNC GetEniFilePath(int masterId, int slaveId, wchar_t* path, int len);
ECAPIFUNC SetEniFilePath(int slaveId, char* path, unsigned char oneshot = 1);
ECAPIFUNC SetEniFilePath(int slaveId, wchar_t* path, unsigned char oneshot = 1);
ECAPIFUNC SetEniFilePath(int masterId, int slaveId, char* path, unsigned char oneshot = 1);
ECAPIFUNC SetEniFilePath(int masterId, int slaveId, wchar_t* path, unsigned char oneshot = 1);
ECAPIFUNC RegisterWrite(int slaveId, int regAddr, int len, unsigned char* data);
ECAPIFUNC RegisterWrite(int masterId, int slaveId, int regAddr, int len, unsigned char* data);
ECAPIFUNC RegisterRead(int slaveId, int regAddr, int len, unsigned char* buff);
ECAPIFUNC RegisterRead(int masterId, int slaveId, int regAddr, int len, unsigned char* buff);
ECAPIFUNC RegisterWrite(int slaveId, int regAddr, int len, unsigned char* data, EcRegisterWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC RegisterWrite(int masterId, int slaveId, int regAddr, int len, unsigned char* data, EcRegisterWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC RegisterRead(int slaveId, int regAddr, int len, EcRegisterReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC RegisterRead(int masterId, int slaveId, int regAddr, int len, EcRegisterReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC RegisterBroadcastWrite(int regAddr, int len, unsigned char* data, unsigned short* wkc);
ECAPIFUNC RegisterBroadcastWrite(int masterId, int regAddr, int len, unsigned char* data, unsigned short* wkc);
ECAPIFUNC RegisterBroadcastRead(int regAddr, int len, unsigned char* buff, unsigned short* wkc);
ECAPIFUNC RegisterBroadcastRead(int masterId, int regAddr, int len, unsigned char* buff, unsigned short* wkc);
ECAPIFUNC RegisterBroadcastWrite(int regAddr, int len, unsigned char* data, EcRegisterBroadcastWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC RegisterBroadcastWrite(int masterId, int regAddr, int len, unsigned char* data, EcRegisterBroadcastWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC RegisterBroadcastRead(int regAddr, int len, EcRegisterBroadcastReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC RegisterBroadcastRead(int masterId, int regAddr, int len, EcRegisterBroadcastReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SdoDownload(int slaveId, int index, int subindex, int sdoDataSize, unsigned char* sdoData, unsigned int* errCode, unsigned int waitTime = 0);
ECAPIFUNC SdoDownload(int masterId, int slaveId, int index, int subindex, int sdoDataSize, unsigned char* sdoData, unsigned int* errCode, unsigned int waitTime = 0);
ECAPIFUNC SdoUpload(int slaveId, int index, int subindex, int sdoBuffSize, unsigned char* sdoBuff, unsigned int* actualSize, unsigned int* errCode, unsigned int waitTime = 0);
ECAPIFUNC SdoUpload(int masterId, int slaveId, int index, int subindex, int sdoBuffSize, unsigned char* sdoBuff, unsigned int* actualSize, unsigned int* errCode, unsigned int waitTime = 0);
ECAPIFUNC SdoDownload(int slaveId, int index, int subindex, int sdoDataSize, unsigned char* sdoData, EcSdoDownloadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SdoDownload(int masterId, int slaveId, int index, int subindex, int sdoDataSize, unsigned char* sdoData, EcSdoDownloadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SdoUpload(int slaveId, int index, int subindex, EcSdoUploadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SdoUpload(int masterId, int slaveId, int index, int subindex, EcSdoUploadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SdoDownload(int slaveId, int index, int subindex, EcSdoType::T sdoType, int sdoDataSize, unsigned char* sdoData, unsigned int* errCode, unsigned int waitTime = 0, BOOL complete = FALSE);
ECAPIFUNC SdoDownload(int masterId, int slaveId, int index, int subindex, EcSdoType::T sdoType, int sdoDataSize, unsigned char* sdoData, unsigned int* errCode, unsigned int waitTime = 0, BOOL complete = FALSE);
ECAPIFUNC SdoUpload(int slaveId, int index, int subindex, EcSdoType::T sdoType, int sdoBuffSize, unsigned char* sdoBuff, unsigned int* actualSize, unsigned int* errCode, unsigned int waitTime = 0, BOOL complete = FALSE);
ECAPIFUNC SdoUpload(int masterId, int slaveId, int index, int subindex, EcSdoType::T sdoType, int sdoBuffSize, unsigned char* sdoBuff, unsigned int* actualSize, unsigned int* errCode, unsigned int waitTime = 0, BOOL complete = FALSE);
ECAPIFUNC SdoDownload(int slaveId, int index, int subindex, EcSdoType::T sdoType, int sdoDataSize, unsigned char* sdoData, EcSdoDownloadCallBack callbackFunc, unsigned int waitTime, BOOL complete = FALSE);
ECAPIFUNC SdoDownload(int masterId, int slaveId, int index, int subindex, EcSdoType::T sdoType, int sdoDataSize, unsigned char* sdoData, EcSdoDownloadCallBack callbackFunc, unsigned int waitTime, BOOL complete = FALSE);
ECAPIFUNC SdoUpload(int slaveId, int index, int subindex, EcSdoType::T sdoType, EcSdoUploadCallBack callbackFunc, unsigned int waitTime, BOOL complete = FALSE);
ECAPIFUNC SdoUpload(int masterId, int slaveId, int index, int subindex, EcSdoType::T sdoType, EcSdoUploadCallBack callbackFunc, unsigned int waitTime, BOOL complete = FALSE);
ECAPIFUNC GetSdoInfoODList(int slaveId, EcObjectDescriptionListType::T type, EcSlaveSdoInfoObjectDescriptionList* list);
ECAPIFUNC GetSdoInfoODList(int masterId, int slaveId, EcObjectDescriptionListType::T type, EcSlaveSdoInfoObjectDescriptionList* list);
ECAPIFUNC GetSdoInfoEDList(int slaveId, int index, EcSlaveSdoInfoEntryDescriptionList* list);
ECAPIFUNC GetSdoInfoEDList(int masterId, int slaveId, int index, EcSlaveSdoInfoEntryDescriptionList* list);
ECAPIFUNC GetSdoInfoODList(int slaveId, EcObjectDescriptionListType::T type, EcSdoInfoGetODListCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC GetSdoInfoODList(int masterId, int slaveId, EcObjectDescriptionListType::T type, EcSdoInfoGetODListCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC GetSdoInfoEDList(int slaveId, int index, EcSdoInfoGetEDListCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC GetSdoInfoEDList(int masterId, int slaveId, int index, EcSdoInfoGetEDListCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC TxPdoWrite(int slaveId, int index, int subindex, int pdoDataSize, unsigned char* pdoData, unsigned int mask = 0);
ECAPIFUNC TxPdoWrite(int masterId, int slaveId, int index, int subindex, int pdoDataSize, unsigned char* pdoData, unsigned int mask = 0);
ECAPIFUNC ClearTxPdoWrite(int slaveId, int index, int subindex);
ECAPIFUNC ClearTxPdoWrite(int masterId, int slaveId, int index, int subindex);
ECAPIFUNC PdoRead(int slaveId, int index, int subindex, int pdoBuffSize, unsigned char* pdoBuff, unsigned int* actualSize);
ECAPIFUNC PdoRead(int masterId, int slaveId, int index, int subindex, int pdoBuffSize, unsigned char* pdoBuff, unsigned int* actualSize);
ECAPIFUNC SetOutputBit(int slaveId, int byte, int bit, unsigned char data);
ECAPIFUNC SetOutputBit(int masterId, int slaveId, int byte, int bit, unsigned char data);
ECAPIFUNC SetOutputByte(int slaveId, int byte, unsigned char data);
ECAPIFUNC SetOutputByte(int masterId, int slaveId, int byte, unsigned char data);
ECAPIFUNC SetOutputBytes(int slaveId, int byte, int size, unsigned char *pData);
ECAPIFUNC SetOutputBytes(int masterId, int slaveId, int byte, int size, unsigned char *pData);
ECAPIFUNC SetOutputBits(int slaveId, int *pByte, int *pBit, unsigned char *pData, int count);
ECAPIFUNC SetOutputBits(int masterId, int slaveId, int *pByte, int *pBit, unsigned char *pData, int count);
ECAPIFUNC GetInputBit(int slaveId, int byte, int bit, unsigned char *pData);
ECAPIFUNC GetInputBit(int masterId, int slaveId, int byte, int bit, unsigned char *pData);
ECAPIFUNC GetInputByte(int slaveId, int byte, unsigned char *pData);
ECAPIFUNC GetInputByte(int masterId, int slaveId, int byte, unsigned char *pData);
ECAPIFUNC GetInputBytes(int slaveId, int byte, int size,unsigned char *pData);
ECAPIFUNC GetInputBytes(int masterId, int slaveId, int byte, int size, unsigned char *pData);
ECAPIFUNC GetOutputBit(int slaveId, int byte, int bit, unsigned char *pData);
ECAPIFUNC GetOutputBit(int masterId, int slaveId, int byte, int bit, unsigned char *pData);
ECAPIFUNC GetOutputByte(int slaveId, int byte, unsigned char *pData);
ECAPIFUNC GetOutputByte(int masterId, int slaveId, int byte, unsigned char *pData);
ECAPIFUNC GetOutputBytes(int slaveId, int byte, int size, unsigned char *pData);
ECAPIFUNC GetOutputBytes(int masterId, int slaveId, int byte, int size, unsigned char *pData);
ECAPIFUNC FoERead(int slaveId, wchar_t* filePath, char* fileName, unsigned int password, unsigned int* errCode);
ECAPIFUNC FoERead(int masterId, int slaveId, wchar_t* filePath, char* fileName, unsigned int password, unsigned int* errCode);
ECAPIFUNC FoEWrite(int slaveId, wchar_t* filePath, char* fileName, unsigned int password, unsigned int* errCode);
ECAPIFUNC FoEWrite(int masterId, int slaveId, wchar_t* filePath, char* fileName, unsigned int password, unsigned int* errCode);
ECAPIFUNC FoERead(int slaveId, wchar_t* filePath, char* fileName, unsigned int password, EcFoEReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC FoERead(int masterId, int slaveId, wchar_t* filePath, char* fileName, unsigned int password, EcFoEReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC FoEWrite(int slaveId, wchar_t* filePath, char* fileName, unsigned int password, EcFoEWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC FoEWrite(int masterId, int slaveId, wchar_t* filePath, char* fileName, unsigned int password, EcFoEWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC FoERead(int slaveId, char* filePath, char* fileName, unsigned int password, unsigned int* errCode);
ECAPIFUNC FoERead(int masterId, int slaveId, char* filePath, char* fileName, unsigned int password, unsigned int* errCode);
ECAPIFUNC FoEWrite(int slaveId, char* filePath, char* fileName, unsigned int password, unsigned int* errCode);
ECAPIFUNC FoEWrite(int masterId, int slaveId, char* filePath, char* fileName, unsigned int password, unsigned int* errCode);
ECAPIFUNC FoERead(int slaveId, char* filePath, char* fileName, unsigned int password, EcFoEReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC FoERead(int masterId, int slaveId, char* filePath, char* fileName, unsigned int password, EcFoEReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC FoEWrite(int slaveId, char* filePath, char* fileName, unsigned int password, EcFoEWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC FoEWrite(int masterId, int slaveId, char* filePath, char* fileName, unsigned int password, EcFoEWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SIIWrite(int slaveId, int siiAddr, int len, unsigned char* data, bool checkSum = false);
ECAPIFUNC SIIWrite(int masterId, int slaveId, int siiAddr, int len, unsigned char* data, bool checkSum = false);
ECAPIFUNC SIIRead(int slaveId, int siiAddr, int len, unsigned char* buff);
ECAPIFUNC SIIRead(int masterId, int slaveId, int siiAddr, int len, unsigned char* buff);
ECAPIFUNC SIIWrite(int slaveId, int siiAddr, int len, unsigned char* data, EcSIIWriteCallBack callbackFunc, unsigned int waitTime, bool checkSum = false);
ECAPIFUNC SIIWrite(int masterId, int slaveId, int siiAddr, int len, unsigned char* data, EcSIIWriteCallBack callbackFunc, unsigned int waitTime, bool checkSum = false);
ECAPIFUNC SIIRead(int slaveId, int siiAddr, int len, EcSIIReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SIIRead(int masterId, int slaveId, int siiAddr, int len, EcSIIReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC AoERead(int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int readLength, unsigned char* readAoEBuff, unsigned int* errCode, unsigned int waitTime = 0, EcAoESender* sender = NULL);
ECAPIFUNC AoERead(int masterId, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int readLength, unsigned char* readAoEBuff, unsigned int* errCode, unsigned int waitTime = 0, EcAoESender* sender = NULL);
ECAPIFUNC AoEWrite(int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int writeLength, unsigned char* writeAoEData, unsigned int* errCode, unsigned int waitTime = 0, EcAoESender* sender = NULL);
ECAPIFUNC AoEWrite(int masterId, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int writeLength, unsigned char* writeAoEData, unsigned int* errCode, unsigned int waitTime = 0, EcAoESender* sender = NULL);
ECAPIFUNC AoEWriteControl(int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned short aoeState, unsigned short deviceState, unsigned int writeLength, unsigned char* writeAoEData, unsigned int* errCode, unsigned int waitTime = 0, EcAoESender* sender = NULL);
ECAPIFUNC AoEWriteControl(int masterId, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned short aoeState, unsigned short deviceState, unsigned int writeLength, unsigned char* writeAoEData, unsigned int* errCode, unsigned int waitTime = 0, EcAoESender* sender = NULL);
ECAPIFUNC AoEReadWrite(int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int readLength, unsigned char* readAoEBuff, unsigned int writeLength, unsigned char* writeAoEData, unsigned int* errCode, unsigned int waitTime = 0, EcAoESender* sender = NULL);
ECAPIFUNC AoEReadWrite(int masterId, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int readLength, unsigned char* readAoEBuff, unsigned int writeLength, unsigned char* writeAoEData, unsigned int* errCode, unsigned int waitTime = 0, EcAoESender* sender = NULL);
ECAPIFUNC AoERead(int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int readLength, EcAoEReadCallBack callbackFunc, unsigned int waitTime, EcAoESender* sender = NULL);
ECAPIFUNC AoERead(int masterId, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int readLength, EcAoEReadCallBack callbackFunc, unsigned int waitTime, EcAoESender* sender = NULL);
ECAPIFUNC AoEWrite(int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int writeLength, unsigned char* writeAoEData, EcAoEWriteCallBack callbackFunc, unsigned int waitTime, EcAoESender* sender = NULL);
ECAPIFUNC AoEWrite(int masterId, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int writeLength, unsigned char* writeAoEData, EcAoEWriteCallBack callbackFunc, unsigned int waitTime, EcAoESender* sender = NULL);
ECAPIFUNC AoEWriteControl(int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned short aoeState, unsigned short deviceState, unsigned int writeLength, unsigned char* writeAoEData, EcAoEWriteControlCallBack callbackFunc, unsigned int waitTime, EcAoESender* sender = NULL);
ECAPIFUNC AoEWriteControl(int masterId, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned short aoeState, unsigned short deviceState, unsigned int writeLength, unsigned char* writeAoEData, EcAoEWriteControlCallBack callbackFunc, unsigned int waitTime, EcAoESender* sender = NULL);
ECAPIFUNC AoEReadWrite(int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int readLength, unsigned int writeLength, unsigned char* writeAoEData, EcAoEReadCallBack callbackFunc, unsigned int waitTime, EcAoESender* sender = NULL);
ECAPIFUNC AoEReadWrite(int masterId, int slaveId, unsigned char targetNetId[6], unsigned short targetPort, unsigned int indexGroup, unsigned int indexOffset, unsigned int readLength, unsigned int writeLength, unsigned char* writeAoEData, EcAoEReadCallBack callbackFunc, unsigned int waitTime, EcAoESender* sender = NULL);
ECAPIFUNC SoERead(int slaveId, unsigned char driveNo, unsigned char elementFlags, unsigned short idn, unsigned int buffSize, unsigned char* readSoEBuffer, unsigned int* actualSize, unsigned int* errCode, unsigned int waitTime = 0);
ECAPIFUNC SoERead(int masterId, int slaveId, unsigned char driveNo, unsigned char elementFlags, unsigned short idn, unsigned int buffSize, unsigned char* readSoEBuffer, unsigned int* actualSize, unsigned int* errCode, unsigned int waitTime = 0);
ECAPIFUNC SoEWrite(int slaveId, unsigned char driveNo, unsigned char elementFlags, unsigned short idn, unsigned int dataSize, unsigned char* writeSoEData, unsigned int* errCode, unsigned int waitTime = 0);
ECAPIFUNC SoEWrite(int masterId, int slaveId, unsigned char driveNo, unsigned char elementFlags, unsigned short idn, unsigned int dataSize, unsigned char* writeSoEData, unsigned int* errCode, unsigned int waitTime = 0);
ECAPIFUNC SoERead(int slaveId, unsigned char driveNo, unsigned char elementFlags, unsigned short idn, EcSoEReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SoERead(int masterId, int slaveId, unsigned char driveNo, unsigned char elementFlags, unsigned short idn, EcSoEReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SoEWrite(int slaveId, unsigned char driveNo, unsigned char elementFlags, unsigned short idn, unsigned int dataSize, unsigned char* writeSoEData, EcSoEWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SoEWrite(int masterId, int slaveId, unsigned char driveNo, unsigned char elementFlags, unsigned short idn, unsigned int dataSize, unsigned char* writeSoEData, EcSoEWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC VoERead(int slaveId, unsigned int* vendorId, unsigned short* vendorType, unsigned int buffSize, unsigned char* readVoEBuffer, unsigned int* actualSize, unsigned int waitTime = 0);
ECAPIFUNC VoERead(int masterId, int slaveId, unsigned int* vendorId, unsigned short* vendorType, unsigned int buffSize, unsigned char* readVoEBuffer, unsigned int* actualSize, unsigned int waitTime = 0);
ECAPIFUNC VoEWrite(int slaveId, unsigned int vendorId, unsigned short vendorType, unsigned int dataSize, unsigned char* writeVoEData, unsigned int waitTime = 0);
ECAPIFUNC VoEWrite(int masterId, int slaveId, unsigned int vendorId, unsigned short vendorType, unsigned int dataSize, unsigned char* writeVoEData, unsigned int waitTime = 0);
ECAPIFUNC VoERead(int slaveId, EcVoEReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC VoERead(int masterId, int slaveId, EcVoEReadCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC VoEWrite(int slaveId, unsigned int vendorId, unsigned short vendorType, unsigned int dataSize, unsigned char* writeVoEData, EcVoEWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC VoEWrite(int masterId, int slaveId, unsigned int vendorId, unsigned short vendorType, unsigned int dataSize, unsigned char* writeVoEData, EcVoEWriteCallBack callbackFunc, unsigned int waitTime);
ECAPIFUNC SetAxisMode(int slaveId, int axisId, EcOperationMode::T mode);
ECAPIFUNC SetAxisMode(int masterId, int slaveId, int axisId, EcOperationMode::T mode);
ECAPIFUNC StartAxisPP(int slaveId, int axisIndex, int targetPos, unsigned int profileVel, unsigned int profileAcc, unsigned int profileDec, char immediately = -1, char relative = -1);
ECAPIFUNC StartAxisPP(int masterId, int slaveId, int axisIndex, int targetPos, unsigned int profileVel, unsigned int profileAcc, unsigned int profileDec, char immediately = -1, char relative = -1);
ECAPIFUNC StartAxisPV(int slaveId, int axisIndex, int targetVel, unsigned int profileAcc, unsigned int profileDec);
ECAPIFUNC StartAxisPV(int masterId, int slaveId, int axisIndex, int targetVel, unsigned int profileAcc, unsigned int profileDec);
ECAPIFUNC StartAxisPV(int slaveId, int axisIndex, int targetVel, unsigned int profileAcc, unsigned int profileDec, unsigned short maxTorque);
ECAPIFUNC StartAxisPV(int masterId, int slaveId, int axisIndex, int targetVel, unsigned int profileAcc, unsigned int profileDec, unsigned short maxTorque);
ECAPIFUNC StartAxisTQ(int slaveId, int axisIndex, short targetTrq);
ECAPIFUNC StartAxisTQ(int masterId, int slaveId, int axisIndex, short targetTrq);
ECAPIFUNC StartAxisTQ(int slaveId, int axisIndex, short targetTrq, unsigned int maxMotorSpeed);
ECAPIFUNC StartAxisTQ(int masterId, int slaveId, int axisIndex, short targetTrq, unsigned int maxMotorSpeed);
ECAPIFUNC StartAxisHM(int slaveId, int axisIndex, int method, unsigned int switchSpeed, unsigned int zeroSpeed, unsigned int hmAcc);
ECAPIFUNC StartAxisHM(int masterId, int slaveId, int axisIndex, int method, unsigned int switchSpeed, unsigned int zeroSpeed, unsigned int hmAcc);
ECAPIFUNC StartAxisHM(int slaveId, int axisIndex, int method, unsigned int switchSpeed, unsigned int zeroSpeed, unsigned int hmAcc, int homeOffset);
ECAPIFUNC StartAxisHM(int masterId, int slaveId, int axisIndex, int method, unsigned int switchSpeed, unsigned int zeroSpeed, unsigned int hmAcc, int homeOffset);
ECAPIFUNC HaltAxis(int slaveId, int axisIndex);
ECAPIFUNC HaltAxis(int masterId, int slaveId, int axisIndex);
ECAPIFUNC HaltAxisRelease(int slaveId, int axisIndex);
ECAPIFUNC HaltAxisRelease(int masterId, int slaveId, int axisIndex);
ECAPIFUNC OpenSerialChannel(int slaveId, int chnlId, wchar_t* comName, DCB* dcb, COMMTIMEOUTS* timeout, unsigned int* error = NULL);
ECAPIFUNC OpenSerialChannel(int masterId, int slaveId, int chnlId, wchar_t* comName, DCB* dcb, COMMTIMEOUTS* timeout, unsigned int* error = NULL);
ECAPIFUNC OpenSerialChannel(int slaveId, int chnlId, char* comName, DCB* dcb, COMMTIMEOUTS* timeout, unsigned int* error = NULL);
ECAPIFUNC OpenSerialChannel(int masterId, int slaveId, int chnlId, char* comName, DCB* dcb, COMMTIMEOUTS* timeout, unsigned int* error = NULL);
ECAPIFUNC CloseSerialChannel(int slaveId, int chnlId);
ECAPIFUNC CloseSerialChannel(int masterId, int slaveId, int chnlId);
};
}
}
#endif