#pragma once class CeXcomDevice; #include "MotorControl.h" class AFX_EXT_CLASS CMotorControl_eXcom : public CMotorControl { public: CMotorControl_eXcom(int nIndex, DWORD dwPeriod=100, int nThreadCount = 1); virtual ~CMotorControl_eXcom(void); public: // CMotorControl virtual int Connect(const CMotorControlInfo* pControlInfo); virtual void Disconnect(); virtual BOOL ReadAddressValue(int nAddress, long &nValue); virtual BOOL WriteAddressValue(int nAddress, long nValue); virtual BOOL ReadAddressValue(int nAddress, float &fValue); virtual BOOL WriteAddressValue(int nAddress, float fValue); virtual BOOL ReadAddressValue(int nAddress, double &dValue); virtual BOOL WriteAddressValue(int nAddress, double dValue); // get status virtual int GetStatus( int& nStatusCode, CString& strStatusMessage ); protected: virtual BOOL ReadAddressValue(long nAddress, long *pArrayData, int nArrayCount); virtual BOOL WriteAddressValue(long nAddress, long *pArrayData, int nArrayCount); virtual BOOL ReadAddressValue(long nAddress, float *pArrayData, int nArrayCount); virtual BOOL WriteAddressValue(long nAddress, float *pArrayData, int nArrayCount); private: CeXcomDevice* m_peXcomDevice; BOOL m_bCheckConnect; };