#pragma once
|
|
#include "LensChangeControlInfo.h"
|
|
class AFX_EXT_CLASS CLensChangeControl
|
{
|
public:
|
CLensChangeControl(int nIndex)
|
{
|
m_nIndex = nIndex;
|
m_pLCC2P = NULL;
|
m_nPortIndex = 1;
|
m_nBaudRate = CBR_9600;
|
m_bConnected = FALSE;
|
}
|
|
virtual ~CLensChangeControl(void)
|
{
|
}
|
|
void SetRC2P(ILensChangeControl2Parent* pLCC2P) { m_pLCC2P = pLCC2P; }
|
|
int GetControlType() const { return m_ControlInfo.GetControllerType(); }
|
int GetIndex() const { return m_nIndex; }
|
int GetPortIndex() const { return m_nPortIndex; }
|
int GetBaudRate() const { return m_nBaudRate; }
|
BOOL GetConnected() const { return m_bConnected; }
|
|
virtual BOOL Connect(const CLensChangeControlInfo& controlInfo) = 0;
|
virtual void Disconnect() = 0;
|
virtual BOOL Backward() = 0;
|
virtual BOOL Forward() = 0;
|
virtual BOOL GetPosition(int& nPos) = 0;
|
virtual BOOL SetPosition(int nPos) = 0;
|
virtual BOOL GoHoming()=0;
|
protected:
|
int m_nIndex;
|
ILensChangeControl2Parent *m_pLCC2P;
|
CLensChangeControlInfo m_ControlInfo;
|
|
int m_nPortIndex;
|
int m_nBaudRate;
|
BOOL m_bConnected;
|
|
};
|