From d060bf56dd4c25357d73e8befc05db686e7f7707 Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Fri, 13 Dec 2013 08:53:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84Tesa=20star=20e=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP | 45 ++++++++----- .../Base/Interfac/Msi/Hsi/Tesa/TesaStarE.cpp | 63 ++++++------------ PcDmis/Base/Interfac/Msi/Hsi/Tesa/TesaStarE.h | 4 +- .../Tools/UsbUtility/Debug/UtilityDebug.Log | 5 ++ .../Tools/UsbUtility/Release/UtilityDebug.Log | 5 ++ .../UsbUtil/TestTesaStarEDialog.cpp | 45 +++++++------ .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 2355712 -> 2355712 bytes 7 files changed, 86 insertions(+), 81 deletions(-) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP index 349b50e..2bf8d20 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP @@ -56,6 +56,7 @@ CPSerial::CPSerial() m_TXTimeout = CS_DEFAULT_TX_TIMEOUT; m_iRecvState=FALSE; m_iRecvBytes=0; + memset(m_RecvData,0,MAX_RECIEVE_BUFFER_SIZE); // Everything else set to NULL m_ThreadHandle = NULL; //m_TXHead = NULL; @@ -487,24 +488,38 @@ void CPSerial::OnReceive() char s[MAX_RECIEVE_BUFFER_SIZE]={0}; s[1]='\0'; CurrentPointer = 0; - int num = ReadPort(s, MAX_RECIEVE_BUFFER_SIZE); - if ((num>0) && (num0) && (num0) && (numm_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 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tesa/TesaStarE.h b/PcDmis/Base/Interfac/Msi/Hsi/Tesa/TesaStarE.h index 3f2fc31..622a501 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tesa/TesaStarE.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tesa/TesaStarE.h @@ -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(); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log index 8b8be2f..484a7a0 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -2394,3 +2394,8 @@ Unable to open device Init:Open device succeed . _start_machine Exit: Exit_SO7Usb Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/UtilityDebug.Log b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/UtilityDebug.Log index 50fc5df..fe3e081 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/UtilityDebug.Log @@ -138,3 +138,8 @@ Construct Cso7_Proto. Destruct Cso7_Proto. Construct Cso7_Proto. Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/TestTesaStarEDialog.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/TestTesaStarEDialog.cpp index c8732e5..7c723ca 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/TestTesaStarEDialog.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/TestTesaStarEDialog.cpp @@ -116,6 +116,7 @@ void TestTesaStarEDialog::OnBnClickedButtonTesaStarSendmsg() DWORD iSendDataLength(0); DWORD iWriteByte(0); + CPSerial *pSerial = &(g_pTesaStarE->m_pSerial); if (m_SendType==0) { @@ -126,7 +127,7 @@ void TestTesaStarEDialog::OnBnClickedButtonTesaStarSendmsg() { bSendData[i]=(BYTE)strtol(cSendData+i*3,&stop,16); } - iWriteByte=g_pTesaStarE->m_pSerial->Send((const char*)bSendData,iSendDataLength); + iWriteByte=pSerial->Send((const char*)bSendData,iSendDataLength); } else { @@ -134,7 +135,7 @@ void TestTesaStarEDialog::OnBnClickedButtonTesaStarSendmsg() csSendData+=_T("\r"); cSendData=T2A(csSendData); iSendDataLength=csSendData.GetLength(); - iWriteByte=g_pTesaStarE->m_pSerial->Send(cSendData,iSendDataLength); + iWriteByte=pSerial->Send(cSendData,iSendDataLength); } m_OutMessage=_T("[Send] ")+csSendData; @@ -150,29 +151,29 @@ void TestTesaStarEDialog::OnBnClickedButtonTesaStarSendmsg() do { iRetrys=0; - while(!g_pTesaStarE->m_pSerial->m_iRecvState && iRetrys<20) + while(!pSerial->m_iRecvState && iRetrys<20) { iRetrys++; Sleep(100); } - if (g_pTesaStarE->m_pSerial->m_iRecvState) + if (pSerial->m_iRecvState) { - if(g_pTesaStarE->m_pSerial->m_RecvData[0]==0) + if(pSerial->m_RecvData[0]==0) { - g_pTesaStarE->m_pSerial->m_iRecvState=FALSE; + pSerial->m_iRecvState=FALSE; INT iRetrys2(0); - while(!g_pTesaStarE->m_pSerial->m_iRecvState && iRetrys2<60) + while(!pSerial->m_iRecvState && iRetrys2<60) { iRetrys2++; Sleep(100); } m_OutMessage=_T("[Recv]"); - memcpy(m_RecvData,g_pTesaStarE->m_pSerial->m_RecvData, g_pTesaStarE->m_pSerial->m_iRecvBytes); - iRecvBytes=g_pTesaStarE->m_pSerial->m_iRecvBytes; - TRACE1("====RECV%d====\r\n",g_pTesaStarE->m_pSerial->m_iRecvBytes); - TRACE3("%02X %02X %02X ",g_pTesaStarE->m_pSerial->m_RecvData[0],g_pTesaStarE->m_pSerial->m_RecvData[1],g_pTesaStarE->m_pSerial->m_RecvData[2]); - TRACE3("%02X %02X %02X ",g_pTesaStarE->m_pSerial->m_RecvData[3],g_pTesaStarE->m_pSerial->m_RecvData[4],g_pTesaStarE->m_pSerial->m_RecvData[5]); - TRACE3("%02X %02X %02X\r\n",g_pTesaStarE->m_pSerial->m_RecvData[6],g_pTesaStarE->m_pSerial->m_RecvData[7],g_pTesaStarE->m_pSerial->m_RecvData[8]); + memcpy(m_RecvData,pSerial->m_RecvData, pSerial->m_iRecvBytes); + iRecvBytes=pSerial->m_iRecvBytes; + TRACE1("====RECV%d====\r\n",pSerial->m_iRecvBytes); + TRACE3("%02X %02X %02X ",pSerial->m_RecvData[0],pSerial->m_RecvData[1],pSerial->m_RecvData[2]); + TRACE3("%02X %02X %02X ",pSerial->m_RecvData[3],pSerial->m_RecvData[4],pSerial->m_RecvData[5]); + TRACE3("%02X %02X %02X\r\n",pSerial->m_RecvData[6],pSerial->m_RecvData[7],pSerial->m_RecvData[8]); for (INT i=0;i32) @@ -188,13 +189,13 @@ void TestTesaStarEDialog::OnBnClickedButtonTesaStarSendmsg() else { m_OutMessage=_T("[Recv]"); - memcpy(m_RecvData,g_pTesaStarE->m_pSerial->m_RecvData, g_pTesaStarE->m_pSerial->m_iRecvBytes); - iRecvBytes=g_pTesaStarE->m_pSerial->m_iRecvBytes; + memcpy(m_RecvData,pSerial->m_RecvData, pSerial->m_iRecvBytes); + iRecvBytes=pSerial->m_iRecvBytes; - TRACE1("====RECV%d====\r\n",g_pTesaStarE->m_pSerial->m_iRecvBytes); - TRACE3("%02X %02X %02X ",g_pTesaStarE->m_pSerial->m_RecvData[0],g_pTesaStarE->m_pSerial->m_RecvData[1],g_pTesaStarE->m_pSerial->m_RecvData[2]); - TRACE3("%02X %02X %02X ",g_pTesaStarE->m_pSerial->m_RecvData[3],g_pTesaStarE->m_pSerial->m_RecvData[4],g_pTesaStarE->m_pSerial->m_RecvData[5]); - TRACE3("%02X %02X %02X\r\n",g_pTesaStarE->m_pSerial->m_RecvData[6],g_pTesaStarE->m_pSerial->m_RecvData[7],g_pTesaStarE->m_pSerial->m_RecvData[8]); + TRACE1("====RECV%d====\r\n",pSerial->m_iRecvBytes); + TRACE3("%02X %02X %02X ",pSerial->m_RecvData[0],pSerial->m_RecvData[1],pSerial->m_RecvData[2]); + TRACE3("%02X %02X %02X ",pSerial->m_RecvData[3],pSerial->m_RecvData[4],pSerial->m_RecvData[5]); + TRACE3("%02X %02X %02X\r\n",pSerial->m_RecvData[6],pSerial->m_RecvData[7],pSerial->m_RecvData[8]); for (INT i=0;im_pSerial->m_iRecvState=FALSE; + pSerial->m_iRecvState=FALSE; } else { m_StatusBar.SetText(_T("Time Out!"), 2, 0); BYTE bSendData[MAX_OUTPUT_BUFFER_SIZE]={0x0d}; - iWriteByte=g_pTesaStarE->m_pSerial->Send((const char*)bSendData,1); + iWriteByte=pSerial->Send((const char*)bSendData,1); } - iRecvBytes=g_pTesaStarE->m_pSerial->m_iRecvBytes; + iRecvBytes=pSerial->m_iRecvBytes; if(iRecvBytes<3) { iRecvBytes=3; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo index b04d92eb45a5e8f0c6eff8c51e3a66e39bfd3ade..3fc2e2a594a8ea2c99ec2737d21aad1f8e5062df 100644 GIT binary patch delta 2524 zcmbuBeQ;FO6~NDZdry+h=Wa~Gl7@WjCYgMak21()6!OIkNyThPECd2ELl%MAKoS-T ziA^?$I8w!whdHHX)My82>wvg458Dw|gM6qXv}TH<;lrAWDA>rXt)P&ex5)MbMCq4-E;1J=RNP}Q^L!<X0n*1@N4t%B@(a z2Exyp0eSdchWvJsf z+~9qdKbX{A=Ice~(xm($U;oa0G%4Rvd#l#JTzw)Uj2(=}8F%*u9yn_^X) zjoB>jVfi%cC$i^RSre^R)ZhDZM`dJ~gNHZ)#!&aUs<1cMa63@r*r}c+y? zJ?7bC(mZ?Q&g#(Eg?cvq)VvXAQmO-2)3c*8mr_2FZ_$D)@;vSMhrCR0j!M7y1EpP; zB{XcpJSw=LAYmBBgfy?(-0Etj=BF`Fy!Zna<+S*kJVSdwl>^lFxs0QfD>7SLn7H9s z4tCIrPvu56PYWfYcG8+ohIsAfl(Co zja)(AL7A?l-;g6_?5J4Z;-dCk%+-GLjdX=hEwe%dz1jCkl++uA$E?daPm|5RmOGMa z%y^i-ydrbxavCNilo`X2>R&V2ue_+QDQ90eDrC*TO?p7{Cd_N5%)#GinE!A-bobWz zQ}$mSuhskHjK+_w&rGR{{D-;k&}t(wO6Zw+K6s;k3&xpkNgmsbo2yE{w`~_KctrKC ztY>v_`d_R?G4yzp}-}ibC_HMuyWw4u9(!U8;ElYZ*`kAZJzhE@<)yBUb(q`!g zY2wiyA0OtW=^4r9H-)qUH1hS&7J%bi!M|XA*E9gVP&;e@iDur4=>WHR!tc@m++w%d zyP=0le}>-vZCIlAy&lrP87qVJ^^_4ac{XE>Sq!oKrlAXYon6cnYNsWO>{~EXJ<~O_g4+}f}cAZF4=VC~hezeZ8o8aE!yByP>=w`8! zOPT9LA|2a`kDB2Gj~B3A(1tvZ;1dz^p$yi+L*NFNdMPo3#ujt=@E;N(RI&|Es)dQA zRQf2Mq&dI9kG0|*7$UTsCvi*={|`qQRYSif(!eZJF3sM_C%1rVTa*EDlm?oVJ?g>O zRE~Ki+vrWdT7$OnypPZg72y2tdzpHlz+Sr3r$o}Zrj3a_zTEr~q94kFOn?=V zm!1nSz;aO@zzDwsjcrpecilgacQ;KxivS&y)0a<9Po12uOis7|*Ypk02<7T8bINGu zZftw3Z5J{jOehn^n3-@Uf{A3Jm}n-3u`pI9mbr_GW8#?vW*TE-rZb7mkC-H829wOB QFsV!$W7pbtIr^IZ101&!!2kdN delta 2374 zcma)-dr*|u6~OQPzI$MohwKWAhzXKqL8ES2D2f=h%d%3T%EK(9CK)5qB-r4_$EJ}r zJXF+7YGdjbJ*JP0I2}yenTRgoBX(l9K?O}KWNI{%Qj^J~T4G{@-6pA1L(l!zEwq32 z?EL0FzH`q#=iIaRwtcdnw-H^9V$v6vJF@>UdXcM)q&E~463*U z94(SCXyyYn{3EGh*v@B$B8k-k7#L%z60i)KSt1Q>F%>Oftudw1C^t3}idd@^;HzSG zLxD8GdAHVNYgJa&hi=;vlz2hPS+vQ!E5R1Z&gfPWOPGfh({BkY!^C#T4T)(HvvPoG zw;ff6dvTi;#$K%o1#>+);+wItF)h5bDBAgYY0X?YBjrjQW0wgze*bR!0kwa++m||5 zssEuIBY#fWb+YnIqA8smN*IrzZcx?w1Z8M-wb{%T(g&HlXifs_swZiExr7)J`;w*8F=qCnM>B{H0>BnL!tRVab_2vHFBgmJ-BK(mR=HcSc#kUMq^jjd!JpJ(n zT|fM--~C@Xw?g-!Ebwb>>nQHYFr29Sv*1e=f9X(@%*kYNhO{b=pydBL0@D5;@t&5B zKacNS7sXM>QzmFkqrR2!PCPpqUec)vTDT||`mo}2kz-hxAw!Kx0d?rF%KH2FG`;ne z!#&Ks3taTuKGzkEDi4M^*5(3Y!&9misT^i=6<5xL_qlNt(K0dS4eM#wW2UJcCAJWH z{{8She#i-wra3S?T@TKJJsicD$kX$dfltBG<7x|EsJGU@4z35QHIzwlfN3W^urC% zzN&X-& zn(Nj%j2)ez|47}|$Lazb8aD)*sJo1!TS#xfKGI01`>%q=A5$&Wkj1ww#!CEYGnj29 z^SvdW`DHFwp{Lp7e9$M)?PYDp*6*PES!hGgPq_QgHt?Fxk%4}~xLz@^4XWkc8}~MO zl+LxFWhUC2AWxhfS80Ow_*=9+3D!1<9BX~B<#_u)miOM=XzTIWzIlw{2|J&nR|X-2 z7u_zOvi8m2r@p|Jyt?{Q&Oo1omPHdWHufe3a377|pvl*0gV;RQ?i921@OE%3dN3dl ztA!GL=mfXpFZ}!-?R3ICxI_+~!haUhg`MZ;nRt39>^Ac=WF=oZCLd4??1Ft-+Z_`Q zJPU=mpdHR>?nm6{-VNt?C)T>v-Nu1gH_?hzLW*qZ?kG}c$4ggR=tZpmn5Uv=z0!pb zY0znC%STCyY%PX%%4F)+QN=W}r>W4^<6x^&fR>*t+vJ1NgG2klrGK^u;`sPDnU3BN z*>ZfhT+Qb#IJh5X;83gLGFI!i_QDqv*ThqZQe=Ctu{HjxP|b60VC&gBde@$zLJyD+ ze&(YJ-b%haXq5gIwwz{vKy&nUf_E~eWSN1BhFNN{V~vuJ3lGE5y}bv3h$G?&6JaJ2 zh(scZNG2u`DTIZv5|fEkB8{*S>BJNwgP2NW64Qu#h