#pragma once #include "MotorControl.h" class AFX_EXT_CLASS CMotorControl_PowerPmac : public CMotorControl { public: CMotorControl_PowerPmac(int nIndex, DWORD dwPeriod=100, int nThreadCount = 1); virtual ~CMotorControl_PowerPmac(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: static void SwapBytes(int nSizeType, void *pSource, int nSourceSize=1); UINT m_uDeviceID; };