完善Tesa star e测试功能。

This commit is contained in:
TAO Cheng
2013-12-13 08:53:55 +08:00
parent 70611fea3b
commit d060bf56dd
7 changed files with 86 additions and 81 deletions
+21 -42
View File
@@ -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