完善Tesa star e测试功能。
This commit is contained in:
@@ -6,64 +6,43 @@ const int MAX_RETRY_CNTS=5;
|
||||
CTesaStarE::CTesaStarE(void)
|
||||
{
|
||||
SerialComPort=1;
|
||||
m_pSerial=NULL;
|
||||
_bReading=FALSE;
|
||||
bEnComm=false;
|
||||
m_TesaStarEAngle[0]=(double)0.0;
|
||||
m_TesaStarEAngle[1]=(double)0.0;
|
||||
memset(m_RecvData,0,sizeof(m_RecvData));
|
||||
|
||||
}
|
||||
//==================================================================
|
||||
CTesaStarE::~CTesaStarE(void)
|
||||
{
|
||||
if (this->m_pSerial)
|
||||
{
|
||||
this->m_pSerial->Close();
|
||||
delete this->m_pSerial;
|
||||
this->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())
|
||||
{
|
||||
m_pSerial->SetPort(SerialComPort,TESASTARE_BAUD,TESASTARE_PARITY,TESASTARE_BITS,TESASTARE_STOPBITS,TESASTARE_HandShake);
|
||||
if(m_pSerial->Open())
|
||||
{
|
||||
bEnComm=TRUE;
|
||||
status=CheckStatus();
|
||||
status=SetPassword();
|
||||
}
|
||||
else
|
||||
{
|
||||
status=FALSE;
|
||||
bEnComm=FALSE;
|
||||
delete m_pSerial;
|
||||
m_pSerial=NULL;
|
||||
}
|
||||
bEnComm=TRUE;
|
||||
status=CheckStatus();
|
||||
status=SetPassword();
|
||||
}
|
||||
else
|
||||
{
|
||||
status=FALSE;
|
||||
bEnComm=FALSE;
|
||||
}
|
||||
return status;
|
||||
}
|
||||
//==================================================================
|
||||
BOOL CTesaStarE::Unload()
|
||||
{
|
||||
if (m_pSerial)
|
||||
{
|
||||
m_pSerial->Close();
|
||||
delete m_pSerial;
|
||||
m_pSerial=NULL;
|
||||
}
|
||||
m_pSerial.Close();
|
||||
Sleep(500);
|
||||
return TRUE;
|
||||
}
|
||||
//==================================================================
|
||||
@@ -434,7 +413,7 @@ BOOL CTesaStarE::_Send_Command(const char* _SendData,DWORD _SendDataLength)
|
||||
if (bEnComm)
|
||||
{
|
||||
DWORD iWriteByte(0);
|
||||
iWriteByte=m_pSerial->Send(_SendData,_SendDataLength);
|
||||
iWriteByte=m_pSerial.Send(_SendData,_SendDataLength);
|
||||
}
|
||||
return rStatus;
|
||||
};
|
||||
@@ -446,26 +425,26 @@ BOOL CTesaStarE::_Receive_Data(char* _SendData,DWORD& _RecvDataLength)
|
||||
{
|
||||
INT iRetrys(0);
|
||||
CString csTemp;
|
||||
while(!m_pSerial->m_iRecvState && iRetrys<20)
|
||||
while(!m_pSerial.m_iRecvState && iRetrys<20)
|
||||
{
|
||||
iRetrys++;
|
||||
Sleep(100);
|
||||
}
|
||||
if (m_pSerial->m_iRecvState)
|
||||
if (m_pSerial.m_iRecvState)
|
||||
{
|
||||
if(m_pSerial->m_RecvData[0]==0)
|
||||
if(m_pSerial.m_RecvData[0]==0)
|
||||
{
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
m_pSerial.m_iRecvState=FALSE;
|
||||
INT iRetrys2(0);
|
||||
while(!m_pSerial->m_iRecvState && iRetrys2<60)
|
||||
while(!m_pSerial.m_iRecvState && iRetrys2<60)
|
||||
{
|
||||
iRetrys2++;
|
||||
Sleep(100);
|
||||
}
|
||||
}
|
||||
memcpy(_SendData,m_pSerial->m_RecvData,m_pSerial->m_iRecvBytes);
|
||||
_RecvDataLength=m_pSerial->m_iRecvBytes;
|
||||
m_pSerial->m_iRecvState=FALSE;
|
||||
memcpy(_SendData,m_pSerial.m_RecvData,m_pSerial.m_iRecvBytes);
|
||||
_RecvDataLength=m_pSerial.m_iRecvBytes;
|
||||
m_pSerial.m_iRecvState=FALSE;
|
||||
rStatus=TRUE;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -17,8 +17,8 @@ public:
|
||||
void LoadConfig();
|
||||
BOOL SetTesaStarEAngle(const int& _AngleNumber,double* _Angle,bool _bReturnPosInfo=false);
|
||||
BOOL GetTesaStarEAngle(int& _AngleNumber,double* _Angle);
|
||||
CPSerial* m_pSerial;
|
||||
protected:
|
||||
CPSerial m_pSerial;
|
||||
private:
|
||||
BOOL ReadTesaStarEAngle();
|
||||
BOOL CheckStatus();
|
||||
BOOL SetPassword();
|
||||
|
||||
Reference in New Issue
Block a user