#include "StdAfx.h"
|
#include "LensChangeControl_Nikon.h"
|
|
CLensChangeControl_Nikon::CLensChangeControl_Nikon(int nIndex) : CLensChangeControl(nIndex)
|
{
|
}
|
|
CLensChangeControl_Nikon::~CLensChangeControl_Nikon(void)
|
{
|
}
|
|
BOOL CLensChangeControl_Nikon::Connect(const CLensChangeControlInfo& controlInfo)
|
{
|
m_ControlInfo = controlInfo;
|
|
int nPort = _ttoi(controlInfo.GetConnectionPort());
|
if (nPort<0) return FALSE;
|
|
|
CString strProt;
|
strProt.Format(_T("COM%d"), nPort);
|
|
if(Open(strProt, controlInfo.GetBaudRate()) != ERROR_SUCCESS)
|
{
|
m_bConnected = FALSE;
|
return FALSE;
|
}
|
|
m_bConnected = TRUE;
|
|
return m_bConnected;
|
}
|
|
void CLensChangeControl_Nikon::Disconnect()
|
{
|
Close();
|
}
|
|
BOOL CLensChangeControl_Nikon::Backward()
|
{
|
if (!m_bConnected) return FALSE;
|
|
char strData[10];
|
sprintf_s(strData, "cRCC%c", ASCII_CR);
|
|
Write(strData, strlen(strData));
|
//return SendData(strData, 5);
|
if(Write(strData, strlen(strData)) != ERROR_SUCCESS) return FALSE;
|
|
return TRUE;
|
}
|
|
BOOL CLensChangeControl_Nikon::Forward()
|
{
|
if (!m_bConnected) return FALSE;
|
|
char strData[10];
|
sprintf_s(strData, "cRCW%c", ASCII_CR);
|
|
//return SendData(strData, 5);
|
|
if(Write(strData, strlen(strData)) != ERROR_SUCCESS) return FALSE;
|
|
return TRUE;
|
}
|
|
BOOL CLensChangeControl_Nikon::SetPosition(int nPos)
|
{
|
if (!m_bConnected) return FALSE;
|
|
char strData[10];
|
sprintf_s(strData, "cRDC%d%c", nPos+1, ASCII_CR);
|
|
//return SendData(strData, 6);
|
|
if(Write(strData, strlen(strData)) != ERROR_SUCCESS) return FALSE;
|
|
m_nCurrentValue = nPos;
|
|
return TRUE;
|
}
|
|
BOOL CLensChangeControl_Nikon::GetPosition(int& nPos)
|
{
|
if (!m_bConnected) return FALSE;
|
|
char strData[10], strRecevie[10];
|
sprintf_s(strData, "rRAR%c", ASCII_CR);
|
|
//if (!SendData(strData, 5)) return FALSE;
|
if(Write(strData, strlen(strData)) != ERROR_SUCCESS) return FALSE;
|
|
::Sleep(50);
|
|
//ReadDataWaiting();
|
|
// int nValue = ReadData(strData, 5 );
|
//
|
// if (nValue<5)
|
// {
|
// return FALSE;
|
// }
|
|
if(Read(strData, strlen(strData)) != ERROR_SUCCESS) return FALSE;
|
|
sprintf_s(strRecevie, "%c", strData[4]);
|
|
nPos = atoi(strRecevie);
|
|
return TRUE;
|
}
|
|
|
BOOL CLensChangeControl_Nikon::GoHoming()
|
{
|
|
return TRUE;
|
}
|