diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Keyence/LkIF.h b/PcDmis/Base/Interfac/Msi/Hsi/Keyence/LkIF.h index aac7d91..aa4a735 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Keyence/LkIF.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Keyence/LkIF.h @@ -156,8 +156,17 @@ EXP BOOL WINAPI LKIF_GetStorobeTime(OUT LKIF_STOROBETIME *StorobeTime); /////////////////////////////////////////////// // Mode Change Command // -// Mode Switch EXP BOOL WINAPI LKIF_SetMode(IN LKIF_MODE Mode); +/////////////////////////////////////////////// +// USB Setting Command +// +#define USBPORTNO_MIN 1 +#define USBPORTNO_MAX 13 +// Enumerate Port Number Function (array of 13 ports) +EXP BOOL WINAPI LKIF_EnumPortNo(BOOL IsValidPortNo[USBPORTNO_MAX]); +// Set Port Number Function (1 to 13) +EXP BOOL WINAPI LKIF_SetPortNo(int PortNo); + } // extern "C" #endif // LKIF_INCLUDED \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_BASE.H b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_BASE.H index f0a9124..72c58fd 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_BASE.H +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_BASE.H @@ -7,7 +7,6 @@ #define MAX_OUTPUT_BUFFER_SIZE 2048 #define MAX_RECIEVE_BUFFER_SIZE 30000 - // TCP, serial style routines struct SerialList { diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP index a10b71e..700c9da 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP @@ -222,6 +222,9 @@ int CPSerial::SetPort(int Port,int Baud,char Parity,int Bits,int StopBits,int Ha Bits = m_Bits; if(StopBits == 0) StopBits = m_StopBits; + if (HandShake==0) + HandShake=m_HandShake; + // If the values are ok then store them if( ProgramPort( Port, Baud, Parity, Bits, StopBits, HandShake ) ) @@ -481,21 +484,16 @@ void CPSerial::OnReceive() { // Dummy OnReceieve if not used char s[MAX_RECIEVE_BUFFER_SIZE]={0}; - s[1]='\0'; CurrentPointer = 0; - int num=0; - num = ReadPort(s, MAX_RECIEVE_BUFFER_SIZE); - - if (num>0) + int num = ReadPort(s, MAX_RECIEVE_BUFFER_SIZE); + if ((num>0) && (numDoModal(); delete pSetup_so7config; - if (m_pSO7_PCDSerial) + if (m_pSO7_AutoZoom) { - delete m_pSO7_PCDSerial; - m_pSO7_PCDSerial=NULL; + delete m_pSO7_AutoZoom; + m_pSO7_AutoZoom=NULL; } SetTimer(1,150,NULL); } diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Setup_so7config.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Setup_so7config.cpp index aff7d82..3f97fd8 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Setup_so7config.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Setup_so7config.cpp @@ -7,11 +7,10 @@ #include #include "ProcessButton.h" #include "..\..\..\SevenOcean\SO7_Proto.h" -#include "..\..\..\SevenOcean\CMMIO_SERIAL.H" - - +#include "..\..\..\SevenOcean\CAutoZoom.h" #include "Setup_so7config.h" -extern CPSerial* m_pSO7_PCDSerial; + +extern CAutoZoom* m_pSO7_AutoZoom; extern CSO7_Proto* m_pSO7_Proto; #define PI 3.1415926535897932384626433 // CSetup_so7config dialog @@ -96,9 +95,9 @@ BOOL CSetup_so7config::OnInitDialog() m_pSO7_Proto->g_machine.zm._Move_Speed_Gear=2; ((CButton *)GetDlgItem(IDC_RADIO_SO7CONFIG_ZOOM_MOVE_FAST))->SetCheck(true); - if (m_pSO7_PCDSerial) + if (m_pSO7_AutoZoom) { - if(m_pSO7_PCDSerial->Open()) + if(m_pSO7_AutoZoom->Initialization(false)) { ChangGUIWithStep(m_nStep); m_csMsg.Format(_T("串口打开正常!")); @@ -377,209 +376,6 @@ void CSetup_so7config::OnTimer(UINT_PTR nIDEvent) } -//=============================================== -double CSetup_so7config::ReadZoomAngle() -{ - if (_bReading) - { - return -2; - } - else - { - _bReading=true; - double dZoomAngle(-1); - char sendData[6]={'A','D',':','0',13,10}; - DWORD iWriteByte=m_pSO7_PCDSerial->Send(sendData,6); - - INT iRetrys(0); - while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) - { - iRetrys++; - Sleep(10); - } - if (m_pSO7_PCDSerial->m_iRecvState) - { - if(m_pSO7_PCDSerial->m_RecvData[0]==0) - Sleep(40);//200 - - char *token = NULL; - char cTemp[20]={0}; - - char seps[] = "$AD:"; - - token = strtok(m_pSO7_PCDSerial->m_RecvData,seps); - if (token) - { - memcpy(cTemp,token,8); - dZoomAngle=atof(cTemp); - dZoomAngle=dZoomAngle*180/PI; - }; - token=NULL; - m_pSO7_PCDSerial->m_iRecvState=FALSE; - _bReading=false; - return dZoomAngle; - } - else - { - _bReading=false; - return -2; - } - } -} - -//=============================================== -double CSetup_so7config::GetZoomCurPos() -{ - double dZoomPos(0),dZoomAng(0),dZoomPreAng(0); - INT iCnt2(0); - INT iRetryCount(0); - dZoomAng=ReadZoomAngle(); - - while(iCnt2<3 && iRetryCount<20) - { - Sleep(60); - dZoomPreAng=dZoomAng; - dZoomAng=ReadZoomAngle(); - INT iRetrys(0); - while ((dZoomAng==-1 || dZoomAng==-2 || dZoomAng==0 )&&iRetrys<2) - { - iRetrys++; - Sleep(60); - dZoomAng=ReadZoomAngle(); - } - if(dZoomAng!=-1 && dZoomAng!=-2 && dZoomAng!=0) - { - if ((dZoomAng-dZoomPreAng)<1 && (dZoomPreAng-dZoomAng)<1) - { - dZoomPos+=dZoomAng; - iCnt2++; - } - } - iRetryCount++; - - } - if (iCnt2==0) - { - dZoomPos=-2; - } - else - { - dZoomPos=dZoomPos/(iCnt2); - } - return dZoomPos; -} - -//=============================================== -BOOL CSetup_so7config::CalibrateEncoder() -{ - 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_pSO7_PCDSerial->m_iRecvState=FALSE; - - //Phase I - iWriteByte=m_pSO7_PCDSerial->Send(sendDataI,12); - while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==12) - { - iRetrys++; - Sleep(50); - } - - if (m_pSO7_PCDSerial->m_iRecvState) - { - if(m_pSO7_PCDSerial->m_RecvData[0]==0) - Sleep(100); - m_csRecv.Format(("%s"),m_pSO7_PCDSerial->m_RecvData); - if((CString)m_csRecv==csRightRecv) - { - - m_pSO7_PCDSerial->m_iRecvState=FALSE; - iRetrys=0; - iWriteByte=0; - //Phase II - - iWriteByte=m_pSO7_PCDSerial->Send(sendDataII,6); - while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) - { - iRetrys++; - Sleep(100); - } - if(m_pSO7_PCDSerial->m_iRecvState) - { - if(m_pSO7_PCDSerial->m_RecvData[0]==0) - Sleep(100); - - m_csRecv.Format(("%s"),m_pSO7_PCDSerial->m_RecvData); - if((CString)m_csRecv==csRightRecv) - { - m_pSO7_PCDSerial->m_iRecvState=FALSE; - iRetrys=0; - iWriteByte=0; - //Phase III - - iWriteByte=m_pSO7_PCDSerial->Send(sendDataIII,6); - while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) - { - iRetrys++; - Sleep(100); - } - if(m_pSO7_PCDSerial->m_iRecvState) - { - if(m_pSO7_PCDSerial->m_RecvData[0]==0) - Sleep(100); - - m_csRecv.Format(("%s"),m_pSO7_PCDSerial->m_RecvData); - if((CString)m_csRecv==csRightRecv) - { - m_pSO7_PCDSerial->m_iRecvState=FALSE; - iRetrys=0; - iWriteByte=0; - return TRUE; - } - else - { - m_pSO7_PCDSerial->m_iRecvState=FALSE; - return FALSE; - } - } - else - { - return FALSE; - } - } - else - { - - m_pSO7_PCDSerial->m_iRecvState=FALSE; - return FALSE; - } - } - else - { - return FALSE; - } - - } - else - { - - m_pSO7_PCDSerial->m_iRecvState=FALSE; - return FALSE; - } - - } - else - { - return FALSE; - } - -} //=============================================== void CSetup_so7config::ChangGUIWithStep(int _step) { @@ -650,6 +446,21 @@ void CSetup_so7config::OnBnClickedCancel() KillTimer(1); CDialog::OnCancel(); } +//=============================================== +double CSetup_so7config::ReadZoomAngle() +{ + return m_pSO7_AutoZoom->ReadZoomAngle(); +} +//=============================================== +double CSetup_so7config::GetZoomCurPos() +{ + return m_pSO7_AutoZoom->GetZoomCurPos(); +} +//=============================================== +BOOL CSetup_so7config::CalibrateEncoder() +{ + return m_pSO7_AutoZoom->CalibrateEncoder(); +} diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj index 77c270e..45fabb9 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj @@ -306,6 +306,7 @@ ..\..\..\..\..\ThirdParty\UsbSupport\LibUsb_Win\Include + @@ -363,6 +364,7 @@ + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters index 098bad4..394f5b4 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters @@ -136,6 +136,9 @@ Sources Files + + Sources Files + @@ -303,6 +306,9 @@ Header Files + + Header Files + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/stdafx.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/stdafx.cpp index e86de86..d87c22b 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/stdafx.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/stdafx.cpp @@ -5,4 +5,20 @@ #include "stdafx.h" +CString GetAppPath(void) +{ + CWinApp* pApp=AfxGetApp(); + if(pApp==0) + return _T(""); + + TCHAR buf[256]; + GetModuleFileName(0,buf,256); + + CString sAppPath(buf); + int nPos=sAppPath.ReverseFind('\\'); + if(nPos) + sAppPath=sAppPath.Left(nPos); + return sAppPath; +} + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/stdafx.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/stdafx.h index 2d7ee04..e501d8e 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/stdafx.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/stdafx.h @@ -49,19 +49,6 @@ #endif #endif -static CString GetAppPath() -{ - CWinApp* pApp=AfxGetApp(); - if(pApp==0) - return _T(""); +CString GetAppPath(void); - TCHAR buf[256]; - GetModuleFileName(0,buf,256); - - CString sAppPath(buf); - int nPos=sAppPath.ReverseFind('\\'); - if(nPos) - sAppPath=sAppPath.Left(nPos); - return sAppPath; -} 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 83b22ec..8e46315 100644 Binary files a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo and b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo differ