新增Tesa star e测试功能。
This commit is contained in:
@@ -0,0 +1,221 @@
|
||||
#include "StdAfx.h"
|
||||
#include "TesaStarE.h"
|
||||
|
||||
#define PI 3.1415926535897932384626433
|
||||
#define MAX_BUFF_SIZE 0x200
|
||||
|
||||
//==================================================================
|
||||
CTesaStarE::CTesaStarE(void)
|
||||
{
|
||||
SerialComPort=1;
|
||||
m_pSerial=NULL;
|
||||
_bReading=FALSE;
|
||||
bEnComm=false;
|
||||
}
|
||||
//==================================================================
|
||||
CTesaStarE::~CTesaStarE(void)
|
||||
{
|
||||
if (m_pSerial)
|
||||
{
|
||||
delete m_pSerial;
|
||||
m_pSerial=NULL;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
BOOL CTesaStarE::Initialization(bool _bInitConfig)
|
||||
{
|
||||
BOOL status(FALSE);
|
||||
if (!m_pSerial)
|
||||
{
|
||||
m_pSerial = new CPSerial();
|
||||
}
|
||||
if (_bInitConfig)
|
||||
{
|
||||
LoadConfig();
|
||||
}
|
||||
if (m_pSerial)
|
||||
{
|
||||
m_pSerial->SetPort(SerialComPort,TESASTARE_BAUD,TESASTARE_PARITY,TESASTARE_BITS,TESASTARE_STOPBITS,TESASTARE_HandShake);
|
||||
if(m_pSerial->Open())
|
||||
{
|
||||
bEnComm=TRUE;
|
||||
status=TRUE;
|
||||
status=CheckStatus();
|
||||
}
|
||||
else
|
||||
{
|
||||
status=FALSE;
|
||||
bEnComm=FALSE;
|
||||
delete m_pSerial;
|
||||
m_pSerial=NULL;
|
||||
}
|
||||
}
|
||||
return status;
|
||||
}
|
||||
//==================================================================
|
||||
BOOL CTesaStarE::Unload()
|
||||
{
|
||||
if (m_pSerial)
|
||||
{
|
||||
m_pSerial->Close();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
//==================================================================
|
||||
BOOL CTesaStarE::GetTesaStarEAngle(int& _AngleNumber,double* _Angle)
|
||||
{
|
||||
_AngleNumber=2;
|
||||
_Angle[0]=m_TesaStarEAngle[0];
|
||||
_Angle[1]=m_TesaStarEAngle[1];
|
||||
return TRUE;
|
||||
}
|
||||
//==================================================================
|
||||
void CTesaStarE::LoadConfig()
|
||||
{
|
||||
}
|
||||
//==================================================================
|
||||
BOOL CTesaStarE::ReadTesaStarEAngle()
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
//==================================================================
|
||||
BOOL CTesaStarE::CheckStatus()
|
||||
{
|
||||
return TRUE;
|
||||
/*
|
||||
if (bEnComm)
|
||||
{
|
||||
char sendDataI[12]={'U','P',':','1','1','1','1','1','1','1',13,10};
|
||||
char sendDataII[6]={'S','C',':','1',13,10};
|
||||
char sendDataIII[6]={'R','F',':','1',13,10};
|
||||
CString csRightRecv;
|
||||
csRightRecv.Format(_T("@OK\r\n"));
|
||||
CStringA m_csRecv("");
|
||||
INT iRetrys(0);
|
||||
DWORD iWriteByte(0);
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
|
||||
//Phase I
|
||||
iWriteByte=m_pSerial->Send(sendDataI,12);
|
||||
while(!m_pSerial->m_iRecvState && iRetrys<20 && iWriteByte==12)
|
||||
{
|
||||
iRetrys++;
|
||||
Sleep(50);
|
||||
}
|
||||
|
||||
if (m_pSerial->m_iRecvState)
|
||||
{
|
||||
if(m_pSerial->m_RecvData[0]==0)
|
||||
{
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
iRetrys=0;
|
||||
while(!m_pSerial->m_iRecvState && iRetrys<30)
|
||||
{
|
||||
iRetrys++;
|
||||
Sleep(50);
|
||||
}
|
||||
}
|
||||
|
||||
m_csRecv.Format(("%s"),m_pSerial->m_RecvData);
|
||||
if((CString)m_csRecv==csRightRecv)
|
||||
{
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
iRetrys=0;
|
||||
iWriteByte=0;
|
||||
//Phase II
|
||||
|
||||
iWriteByte=m_pSerial->Send(sendDataII,6);
|
||||
while(!m_pSerial->m_iRecvState && iRetrys<20 && iWriteByte==6)
|
||||
{
|
||||
iRetrys++;
|
||||
Sleep(50);
|
||||
}
|
||||
if(m_pSerial->m_iRecvState)
|
||||
{
|
||||
if(m_pSerial->m_RecvData[0]==0)
|
||||
{
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
iRetrys=0;
|
||||
while(!m_pSerial->m_iRecvState && iRetrys<30)
|
||||
{
|
||||
iRetrys++;
|
||||
Sleep(50);
|
||||
}
|
||||
}
|
||||
|
||||
m_csRecv.Format(("%s"),m_pSerial->m_RecvData);
|
||||
if((CString)m_csRecv==csRightRecv)
|
||||
{
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
iRetrys=0;
|
||||
iWriteByte=0;
|
||||
//Phase III
|
||||
|
||||
iWriteByte=m_pSerial->Send(sendDataIII,6);
|
||||
while(!m_pSerial->m_iRecvState && iRetrys<20 && iWriteByte==6)
|
||||
{
|
||||
iRetrys++;
|
||||
Sleep(50);
|
||||
}
|
||||
if(m_pSerial->m_iRecvState)
|
||||
{
|
||||
if(m_pSerial->m_RecvData[0]==0)
|
||||
{
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
iRetrys=0;
|
||||
while(!m_pSerial->m_iRecvState && iRetrys<30)
|
||||
{
|
||||
iRetrys++;
|
||||
Sleep(50);
|
||||
}
|
||||
}
|
||||
|
||||
m_csRecv.Format(("%s"),m_pSerial->m_RecvData);
|
||||
if((CString)m_csRecv==csRightRecv)
|
||||
{
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
iRetrys=0;
|
||||
iWriteByte=0;
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
*/
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
#ifndef _TesaStarE_H_
|
||||
#define _TesaStarE_H_
|
||||
|
||||
#include "..\SevenOcean\CMMIO_SERIAL.H"
|
||||
#define TESASTARE_BAUD CBR_1200
|
||||
#define TESASTARE_PARITY 'N'
|
||||
#define TESASTARE_BITS 8
|
||||
#define TESASTARE_STOPBITS 1
|
||||
#define TESASTARE_HandShake CS_HANDSHAKE_FOR_TRESASTR_E
|
||||
class CTesaStarE
|
||||
{
|
||||
public:
|
||||
CTesaStarE(void);
|
||||
~CTesaStarE(void);
|
||||
BOOL Initialization(bool _bInitConfig=true);
|
||||
BOOL Unload();
|
||||
BOOL CheckStatus();
|
||||
void LoadConfig();
|
||||
BOOL ReadTesaStarEAngle();
|
||||
BOOL GetTesaStarEAngle(int& _AngleNumber,double* _Angle);
|
||||
CPSerial* m_pSerial;
|
||||
protected:
|
||||
int SerialComPort;
|
||||
BOOL _bReading;
|
||||
BOOL bEnComm;
|
||||
double m_TesaStarEAngle[2];
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user