⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 focuser.h

📁 天文望远镜电动调焦距驱动程序
💻 H
字号:
// Focuser.h: Definition of the Focuser class
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FOCUSER_H__8DC5101A_AF9A_48A3_87AD_2CD0B95C82F5__INCLUDED_)
#define AFX_FOCUSER_H__8DC5101A_AF9A_48A3_87AD_2CD0B95C82F5__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "resource.h"       // main symbols

class ComPort;

/////////////////////////////////////////////////////////////////////////////
// Focuser

class Focuser : 
	public IDispatchImpl<IFocuser, &IID_IFocuser, &LIBID_DualFocus>, 
	public ISupportErrorInfo,
	public CComObjectRoot,
	public CComCoClass<Focuser,&CLSID_Focuser>
{
public:
	Focuser()
	{
		bLinkEstablished = FALSE;
		Port = NULL;
		FocusNum = 0;
	}
	~Focuser()
	{
		if (Port != NULL) put_Link ( FALSE );
	}

BEGIN_COM_MAP(Focuser)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IFocuser)
	COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
//DECLARE_NOT_AGGREGATABLE(Focuser) 
// Remove the comment from the line above if you don't want your object to 
// support aggregation. 

DECLARE_REGISTRY_RESOURCEID(IDR_Focuser)
// ISupportsErrorInfo
	STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);

protected:
	BOOL bLinkEstablished;
	int Timeout;
	int FocusNum;
	ComPort *Port;
	bool GetPosition(long &Position);
	bool SetPosition(long Delta);
	bool GetParms(int num, char *Buf);

// IFocuser
public:
	STDMETHOD(get_Temperature)(/*[out, retval]*/ float *pVal);
	STDMETHOD(get_TempCompAvailable)(/*[out, retval]*/ VARIANT_BOOL *pVal);
	STDMETHOD(get_TempComp)(/*[out, retval]*/ VARIANT_BOOL *pVal);
	STDMETHOD(put_TempComp)(/*[in]*/ VARIANT_BOOL newVal);
	STDMETHOD(get_StepSize)(/*[out, retval]*/ float *pVal);
	STDMETHOD(SetupDialog)();
	STDMETHOD(get_Position)(/*[out, retval]*/ long *pVal);
	STDMETHOD(Move)(long Position);
	STDMETHOD(get_MaxStep)(/*[out, retval]*/ long *pVal);
	STDMETHOD(get_MaxIncrement)(/*[out, retval]*/ long *pVal);
	STDMETHOD(get_Link)(/*[out, retval]*/ VARIANT_BOOL *pVal);
	STDMETHOD(put_Link)(/*[in]*/ VARIANT_BOOL newVal);
	STDMETHOD(get_IsMoving)(/*[out, retval]*/ VARIANT_BOOL *pVal);
	STDMETHOD(Halt)();
	STDMETHOD(get_Absolute)(/*[out, retval]*/ VARIANT_BOOL *pVal);
};

#endif // !defined(AFX_FOCUSER_H__8DC5101A_AF9A_48A3_87AD_2CD0B95C82F5__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -