diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP index cfae9d9..22a3880 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP @@ -21,7 +21,7 @@ static char Codes[][6] = */ ///////////////////////////////////////////////////////////////////////////// -// CSerial() : Constructor +// CPSerial() : Constructor ///////////////////////////////////////////////////////////////////////////// // CSerialTask() : Function to run ReceiveTask() method as a task @@ -31,7 +31,7 @@ unsigned int WINAPI CSerialTask(LPVOID CSerialPtr) { TRACE( TEXT("Serial task has started \n") ); // Call the ControlTask function in the specified plugin - ((CSerial *)CSerialPtr)->ReceiveTask(); + ((CPSerial *)CSerialPtr)->ReceiveTask(); TRACE( TEXT("Serial task has completed \n") ); @@ -40,7 +40,7 @@ unsigned int WINAPI CSerialTask(LPVOID CSerialPtr) return(0); } -CSerial::CSerial() +CPSerial::CPSerial() { // Serial port is not open m_PortHandle = INVALID_HANDLE_VALUE; @@ -93,9 +93,9 @@ CSerial::CSerial() ///////////////////////////////////////////////////////////////////////////// -// ~CSerial() : Destructor - Close the port and free up the CriticalSection +// ~CPSerial() : Destructor - Close the port and free up the CriticalSection -CSerial::~CSerial() +CPSerial::~CPSerial() { if( IsOpen( ) ) { @@ -122,7 +122,7 @@ CSerial::~CSerial() // OpenPort() : Opens the serial port using the parameters set by default // or a call to SetPort -DWORD CSerial::Open() +DWORD CPSerial::Open() { CString PortName; COMMTIMEOUTS CommTimeOut; @@ -201,7 +201,7 @@ DWORD CSerial::Open() // IsOpen() : returns true if the serial port is open // -int CSerial::IsOpen( ) +int CPSerial::IsOpen( ) { return( m_PortHandle != INVALID_HANDLE_VALUE ); } @@ -211,7 +211,7 @@ int CSerial::IsOpen( ) // SetPort() : Store the serial settings. If the port is open then these // settings are applied now -int CSerial::SetPort(int Port,int Baud,char Parity,int Bits,int StopBits,int HandShake) +int CPSerial::SetPort(int Port,int Baud,char Parity,int Bits,int StopBits,int HandShake) { // Use the current settings if the value has the default of 0 m_Port = Port; @@ -243,7 +243,7 @@ int CSerial::SetPort(int Port,int Baud,char Parity,int Bits,int StopBits,int Han // GetPortData() : return the current settings // -void CSerial::GetPortData(int *Port,int *Baud,char *Parity,int *Bits,int *StopBits,int *HandShake) +void CPSerial::GetPortData(int *Port,int *Baud,char *Parity,int *Bits,int *StopBits,int *HandShake) { // return the requested settings if( Port ) @@ -265,7 +265,7 @@ void CSerial::GetPortData(int *Port,int *Baud,char *Parity,int *Bits,int *StopBi // ClosePort() : Close the port and shut down the monitoring thread // -DWORD CSerial::Close() +DWORD CPSerial::Close() { //struct SerialList *Free; HANDLE Port; @@ -319,13 +319,13 @@ DWORD CSerial::Close() // Send functions // [8/11/2004] // -DWORD CSerial::Send(LPCSTR buffer, int l, BOOL /*needsResponse=FALSE*/) +DWORD CPSerial::Send(LPCSTR buffer, int l, BOOL /*needsResponse=FALSE*/) { return ( WritePort ((const char*) buffer, (DWORD) l)); } /* -DWORD CSerial::Send(CString buffer) +DWORD CPSerial::Send(CString buffer) { char LocBuffer[MAX_OUTPUT_BUFFER_SIZE]; int length = buffer.GetLength (); @@ -347,7 +347,7 @@ return res; // WritePort() : Writes the specifed bytes to the serial port // -DWORD CSerial::WritePort(const char *Buffer,DWORD Bytes) +DWORD CPSerial::WritePort(const char *Buffer,DWORD Bytes) { DWORD BytesWritten, TotalWritten, Error; BOOL WriteState; @@ -413,7 +413,7 @@ DWORD CSerial::WritePort(const char *Buffer,DWORD Bytes) // ReceiveTask() : Internal function, this runs as a thread and provides the // OnRecieve and OnTransmit events -void CSerial::ReceiveTask( void ) +void CPSerial::ReceiveTask( void ) { //DWORD BytesWritten; DWORD Events; @@ -478,7 +478,7 @@ void CSerial::ReceiveTask( void ) // OnReceive() : Default OnReceive() // V114 -void CSerial::OnReceive() +void CPSerial::OnReceive() { // Dummy OnReceieve if not used char s[255]={0}; @@ -510,7 +510,7 @@ void CSerial::OnReceive() // ReadPort() : Read the specifed number of bytes. // -DWORD CSerial::ReadPort(char *Buffer,DWORD Bytes) +DWORD CPSerial::ReadPort(char *Buffer,DWORD Bytes) { DWORD BytesRead,Error; BOOL ReadState; @@ -564,7 +564,7 @@ DWORD CSerial::ReadPort(char *Buffer,DWORD Bytes) // ReadPort() : Read the specifed number of bytes into a CString class. // #if 0 -DWORD CSerial::ReadPort(CString &Buffer,DWORD Bytes) +DWORD CPSerial::ReadPort(CString &Buffer,DWORD Bytes) { DWORD BytesRead; @@ -581,7 +581,7 @@ DWORD CSerial::ReadPort(CString &Buffer,DWORD Bytes) // ProgramPort() : Internal function to setup the serial port // -int CSerial::ProgramPort(int Port,int Baud,char Parity,int Bits,int StopBits,int HandShake) +int CPSerial::ProgramPort(int Port,int Baud,char Parity,int Bits,int StopBits,int HandShake) { CString Param,Params; DCB SerialDCB; @@ -728,7 +728,7 @@ int CSerial::ProgramPort(int Port,int Baud,char Parity,int Bits,int StopBits,int // OnTransmit() : Default OnTransmit() // -void CSerial::OnTransmit(int /*Item*/, DWORD /*Error*/) +void CPSerial::OnTransmit(int /*Item*/, DWORD /*Error*/) { // Dummy OnTransmit if not used } @@ -738,7 +738,7 @@ void CSerial::OnTransmit(int /*Item*/, DWORD /*Error*/) // SetTimeouts() : Sets the rx and tx timeouts // -void CSerial::SetTimeouts( int RXTimeout, int TXTimeout ) +void CPSerial::SetTimeouts( int RXTimeout, int TXTimeout ) { COMMTIMEOUTS CommTimeOut; @@ -764,7 +764,7 @@ void CSerial::SetTimeouts( int RXTimeout, int TXTimeout ) // AddToDebug() : Add the data to the debug output. State is 1 = rx 2 = tx // 3 = user -void CSerial::AddToDebug( const char * /*Ptr*/, DWORD /*BytesToCopy*/, int /*State*/ ) +void CPSerial::AddToDebug( const char * /*Ptr*/, DWORD /*BytesToCopy*/, int /*State*/ ) { //ZH #if 0 @@ -831,7 +831,7 @@ void CSerial::AddToDebug( const char * /*Ptr*/, DWORD /*BytesToCopy*/, int /*Sta // FlushPort() : Removes all characters in the serial buffer // /* -int CSerial::FlushPort(void) +int CPSerial::FlushPort(void) { int TXTimeout,RXTimeout; char FlushBuffer[256]; @@ -879,7 +879,7 @@ return(BytesTotal); // MaxPort() : // -int CSerial::MaxPort() +int CPSerial::MaxPort() { // return the max port, :-) return(8); @@ -892,7 +892,7 @@ int CSerial::MaxPort() // data sent. // -int CSerial::Transmit(const char * /*Buffer*/,DWORD /*Bytes*/) +int CPSerial::Transmit(const char * /*Buffer*/,DWORD /*Bytes*/) { /* struct SerialList *Ptr; @@ -952,7 +952,7 @@ int CSerial::Transmit(const char * /*Buffer*/,DWORD /*Bytes*/) // /* -int CSerial::AddReceived( const char *Buffer,DWORD Bytes) +int CPSerial::AddReceived( const char *Buffer,DWORD Bytes) { DWORD index = 0; //primary buffer index struct SerialList *Ptr; @@ -1081,7 +1081,7 @@ return(TRUE); // //ZH /* -char *CSerial::GetNextReceived(void) +char *CPSerial::GetNextReceived(void) { struct SerialList *Free; @@ -1120,7 +1120,7 @@ return( m_RXTempPtr ); // ascii hex // -int CSerial::HexToInt(char *Data, int Bytes) +int CPSerial::HexToInt(char *Data, int Bytes) { int Byte; int HexChar, Value; @@ -1150,7 +1150,7 @@ int CSerial::HexToInt(char *Data, int Bytes) // //ZH /* -void CSerial::RegisterDebugWindow() +void CPSerial::RegisterDebugWindow() { // Register the CSerialRaw window for future use WNDCLASS wndcls; @@ -1160,7 +1160,7 @@ wndcls.hInstance = AfxGetInstanceHandle( ); wndcls.hCursor = LoadCursor( NULL, IDC_ARROW ); wndcls.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wndcls.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW; -wndcls.lpszClassName = TEXT("CSerial"); +wndcls.lpszClassName = TEXT("CPSerial"); AfxRegisterClass( &wndcls ); } */ @@ -1172,7 +1172,7 @@ AfxRegisterClass( &wndcls ); // SendBuffer() : Internal function, this writes the next block of data // queued to the serial port. -void CSerial::SendBuffer(int Next) +void CPSerial::SendBuffer(int Next) { struct SerialList *Free; // DWORD BytesWritten; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.H b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.H index 2464efc..387283f 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.H +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.H @@ -12,7 +12,7 @@ *$!! Serial.h *$!! *$!! DESCRIPTION -*$!! Header file for CSerial. +*$!! Header file for CPSerial. *$!! *$!! AUTHOR *$!! M.J.S.Gooder. @@ -69,17 +69,17 @@ const int CS_DEFAULT_RX_TIMEOUT = 25; const int CS_DEFAULT_TX_TIMEOUT = 1000; /////////////////////////////////////////////////////////////////////////////// -// The CSerial class +// The CPSerial class -class CSerial : public CMMIO +class CPSerial : public CMMIO { // Construction public: - CSerial(); + CPSerial(); // Implementation public: - virtual ~CSerial(); + virtual ~CPSerial(); // Attributes public: diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/Serial.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/Serial.cpp new file mode 100644 index 0000000..ae9097e --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/Serial.cpp @@ -0,0 +1,170 @@ +// Serial.cpp + +#include "stdafx.h" +#include +#include +#include "Serial.h" + +CSerial::CSerial() +{ + + memset( &m_OverlappedRead, 0, sizeof( OVERLAPPED ) ); + memset( &m_OverlappedWrite, 0, sizeof( OVERLAPPED ) ); + m_hIDComDev = NULL; + m_bOpened = FALSE; + +} + +CSerial::~CSerial() +{ + + Close(); + +} + +BOOL CSerial::Open( int nPort, int nBaud ) +{ + + if( m_bOpened ) return( TRUE ); + + TCHAR szPort[15]; + TCHAR szComParams[50]; + DCB dcb; + + wsprintf( szPort, _T("COM%d"), nPort ); + m_hIDComDev = CreateFile( szPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL ); + if( m_hIDComDev == NULL ) return( FALSE ); + + memset( &m_OverlappedRead, 0, sizeof( OVERLAPPED ) ); + memset( &m_OverlappedWrite, 0, sizeof( OVERLAPPED ) ); + + COMMTIMEOUTS CommTimeOuts; + CommTimeOuts.ReadIntervalTimeout = 0xFFFFFFFF; + CommTimeOuts.ReadTotalTimeoutMultiplier = 0; + CommTimeOuts.ReadTotalTimeoutConstant = 0; + CommTimeOuts.WriteTotalTimeoutMultiplier = 0; + CommTimeOuts.WriteTotalTimeoutConstant = 5000; + SetCommTimeouts( m_hIDComDev, &CommTimeOuts ); + + wsprintf( szComParams, _T("COM%d:%d,n,8,1"), nPort, nBaud ); + + m_OverlappedRead.hEvent = CreateEvent( NULL, TRUE, FALSE, NULL ); + m_OverlappedWrite.hEvent = CreateEvent( NULL, TRUE, FALSE, NULL ); + + dcb.DCBlength = sizeof( DCB ); + GetCommState( m_hIDComDev, &dcb ); + dcb.BaudRate = nBaud; + dcb.ByteSize = 8; + unsigned char ucSet; + ucSet = (unsigned char) ( ( FC_RTSCTS & FC_DTRDSR ) != 0 ); + ucSet = (unsigned char) ( ( FC_RTSCTS & FC_RTSCTS ) != 0 ); + ucSet = (unsigned char) ( ( FC_RTSCTS & FC_XONXOFF ) != 0 ); + if( !SetCommState( m_hIDComDev, &dcb ) || + !SetupComm( m_hIDComDev, 10000, 10000 ) || + m_OverlappedRead.hEvent == NULL || + m_OverlappedWrite.hEvent == NULL ){ + DWORD dwError(0); + dwError = GetLastError(); + if( m_OverlappedRead.hEvent != NULL ) CloseHandle( m_OverlappedRead.hEvent ); + if( m_OverlappedWrite.hEvent != NULL ) CloseHandle( m_OverlappedWrite.hEvent ); + CloseHandle( m_hIDComDev ); + return( FALSE ); + } + + m_bOpened = TRUE; + + return( m_bOpened ); + +} + +BOOL CSerial::Close( void ) +{ + + if( !m_bOpened || m_hIDComDev == NULL ) return( TRUE ); + + if( m_OverlappedRead.hEvent != NULL ) CloseHandle( m_OverlappedRead.hEvent ); + if( m_OverlappedWrite.hEvent != NULL ) CloseHandle( m_OverlappedWrite.hEvent ); + CloseHandle( m_hIDComDev ); + m_bOpened = FALSE; + m_hIDComDev = NULL; + + return( TRUE ); + +} + +BOOL CSerial::WriteCommByte( unsigned char ucByte ) +{ + BOOL bWriteStat; + DWORD dwBytesWritten; + + bWriteStat = WriteFile( m_hIDComDev, (LPSTR) &ucByte, 1, &dwBytesWritten, &m_OverlappedWrite ); + if( !bWriteStat && ( GetLastError() == ERROR_IO_PENDING ) ){ + if( WaitForSingleObject( m_OverlappedWrite.hEvent, 1000 ) ) dwBytesWritten = 0; + else{ + GetOverlappedResult( m_hIDComDev, &m_OverlappedWrite, &dwBytesWritten, FALSE ); + m_OverlappedWrite.Offset += dwBytesWritten; + } + } + + return( TRUE ); + +} + +int CSerial::SendData( const char *buffer, int size ) +{ + + if( !m_bOpened || m_hIDComDev == NULL ) return( 0 ); + + DWORD dwBytesWritten = 0; + int i; + for( i=0; iSetCheck(true); - if (m_pSO7_Serial) + if (m_pSO7_PCDSerial) { - m_pSO7_Serial->GetPortData(&Port,&Baud,&Parity,&Bits,&StopBits,&HandShake); + m_pSO7_PCDSerial->GetPortData(&Port,&Baud,&Parity,&Bits,&StopBits,&HandShake); Params.Format( TEXT("[COM%d]"), Port ); Param.Format( TEXT(" Baud=%d"), Baud ); Params += Param; @@ -157,7 +157,7 @@ BOOL CSO7_Automatic_Zoom::OnInitDialog() Params += Param; m_StatusBar.SetText(Params, 0, 0); - if(m_pSO7_Serial->Open()) + if(m_pSO7_PCDSerial->Open()) { m_StatusBar.SetText(_T("成功打开串口。"), 1, 0); @@ -408,8 +408,8 @@ void CSO7_Automatic_Zoom::OnBnClickedCancel() { delete g_pLoggerDebug; g_pLoggerDebug=NULL; - delete m_pSO7_Serial; - m_pSO7_Serial=NULL; + delete m_pSO7_PCDSerial; + m_pSO7_PCDSerial=NULL; KillTimer(1); KillTimer(2); KillTimer(3); @@ -532,24 +532,24 @@ double CSO7_Automatic_Zoom::ReadZoomAngle() { double dZoomAngle(-1); char sendData[6]={'A','D',':','0',13,10}; - DWORD iWriteByte=m_pSO7_Serial->Send(sendData,6); + DWORD iWriteByte=m_pSO7_PCDSerial->Send(sendData,6); INT iRetrys(0); - while(!m_pSO7_Serial->m_iRecvState && iRetrys<20 && iWriteByte==6) + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) { iRetrys++; Sleep(10); } - if (m_pSO7_Serial->m_iRecvState) + if (m_pSO7_PCDSerial->m_iRecvState) { - if(m_pSO7_Serial->m_csRecv==_T("")) + if(m_pSO7_PCDSerial->m_csRecv==_T("")) Sleep(50); USES_CONVERSION; char *cRecvData= NULL; char *token = NULL; char cTemp[20]={0}; - cRecvData=T2A(m_pSO7_Serial->m_csRecv); + cRecvData=T2A(m_pSO7_PCDSerial->m_csRecv); char seps[] = "$AD:"; token = strtok(cRecvData,seps); @@ -567,8 +567,8 @@ double CSO7_Automatic_Zoom::ReadZoomAngle() }; token=NULL; cRecvData=NULL; - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; return dZoomAngle; @@ -588,72 +588,72 @@ BOOL CSO7_Automatic_Zoom::CalibrateEncoder() csRightRecv.Format(_T("@OK\r\n")); INT iRetrys(0); DWORD iWriteByte(0); - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; //Phase I - iWriteByte=m_pSO7_Serial->Send(sendDataI,12); - while(!m_pSO7_Serial->m_iRecvState && iRetrys<20 && iWriteByte==12) + iWriteByte=m_pSO7_PCDSerial->Send(sendDataI,12); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==12) { iRetrys++; Sleep(50); } - if (m_pSO7_Serial->m_iRecvState) + if (m_pSO7_PCDSerial->m_iRecvState) { - if(m_pSO7_Serial->m_csRecv==_T("")) + if(m_pSO7_PCDSerial->m_csRecv==_T("")) Sleep(100); - if(m_pSO7_Serial->m_csRecv==csRightRecv) + if(m_pSO7_PCDSerial->m_csRecv==csRightRecv) { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; iRetrys=0; iWriteByte=0; //Phase II - iWriteByte=m_pSO7_Serial->Send(sendDataII,6); - while(!m_pSO7_Serial->m_iRecvState && iRetrys<20 && iWriteByte==6) + iWriteByte=m_pSO7_PCDSerial->Send(sendDataII,6); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) { iRetrys++; Sleep(50); } - if(m_pSO7_Serial->m_iRecvState) + if(m_pSO7_PCDSerial->m_iRecvState) { - if(m_pSO7_Serial->m_csRecv==_T("")) + if(m_pSO7_PCDSerial->m_csRecv==_T("")) Sleep(100); - if(m_pSO7_Serial->m_csRecv==csRightRecv) + if(m_pSO7_PCDSerial->m_csRecv==csRightRecv) { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; iRetrys=0; iWriteByte=0; //Phase III - iWriteByte=m_pSO7_Serial->Send(sendDataIII,6); - while(!m_pSO7_Serial->m_iRecvState && iRetrys<20 && iWriteByte==6) + iWriteByte=m_pSO7_PCDSerial->Send(sendDataIII,6); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) { iRetrys++; Sleep(50); } - if(m_pSO7_Serial->m_iRecvState) + if(m_pSO7_PCDSerial->m_iRecvState) { - if(m_pSO7_Serial->m_csRecv==_T("")) + if(m_pSO7_PCDSerial->m_csRecv==_T("")) Sleep(100); - if(m_pSO7_Serial->m_csRecv==csRightRecv) + if(m_pSO7_PCDSerial->m_csRecv==csRightRecv) { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; iRetrys=0; iWriteByte=0; return TRUE; } else { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; return FALSE; } } @@ -664,8 +664,8 @@ BOOL CSO7_Automatic_Zoom::CalibrateEncoder() } else { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; return FALSE; } } @@ -677,8 +677,8 @@ BOOL CSO7_Automatic_Zoom::CalibrateEncoder() } else { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; return FALSE; } @@ -749,7 +749,7 @@ void CSO7_Automatic_Zoom::OnBnClickedButtonSendData() UpdateData(TRUE); CString csSendData(""); GetDlgItem(IDC_EDIT_DATASEND)->GetWindowText(csSendData); - m_pSO7_Serial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_csRecv=_T(""); USES_CONVERSION; //加上回车换行符 CString csTemp; @@ -759,7 +759,7 @@ void CSO7_Automatic_Zoom::OnBnClickedButtonSendData() const char* cSendData; cSendData=T2A(csSendData); DWORD iSendDataLength=csSendData.GetLength(); - DWORD iWriteByte=m_pSO7_Serial->Send(cSendData,iSendDataLength); + DWORD iWriteByte=m_pSO7_PCDSerial->Send(cSendData,iSendDataLength); ((CListBox *)GetDlgItem(IDC_LIST_SHOWMESSAGE))->InsertString(-1,CString(_T("[Send]: "))+cSendData);// @@ -767,36 +767,36 @@ void CSO7_Automatic_Zoom::OnBnClickedButtonSendData() m_StatusBar.SetText(csSendData, 1, 0); //接受数据 INT iRetrys(0); - while(!m_pSO7_Serial->m_iRecvState && iRetrys<20) + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20) { iRetrys++; Sleep(100); } - if (m_pSO7_Serial->m_iRecvState) + if (m_pSO7_PCDSerial->m_iRecvState) { - if(m_pSO7_Serial->m_csRecv==_T("")) + if(m_pSO7_PCDSerial->m_csRecv==_T("")) { - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_iRecvState=FALSE; INT iRetrys2(0); - while(!m_pSO7_Serial->m_iRecvState && iRetrys2<60) + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys2<60) { iRetrys2++; Sleep(100); } - ((CListBox *)GetDlgItem(IDC_LIST_SHOWMESSAGE))->InsertString(-1,CString(_T("[Recv]: "))+m_pSO7_Serial->m_csRecv); - m_pSO7_Serial->m_csRecv=_T(""); - csSendData.Format(_T("Recv(%dByte)"),m_pSO7_Serial->m_iRecvByte); + ((CListBox *)GetDlgItem(IDC_LIST_SHOWMESSAGE))->InsertString(-1,CString(_T("[Recv]: "))+m_pSO7_PCDSerial->m_csRecv); + m_pSO7_PCDSerial->m_csRecv=_T(""); + csSendData.Format(_T("Recv(%dByte)"),m_pSO7_PCDSerial->m_iRecvByte); m_StatusBar.SetText(csSendData, 2, 0); } else { - ((CListBox *)GetDlgItem(IDC_LIST_SHOWMESSAGE))->InsertString(-1,CString(_T("[Recv]: "))+m_pSO7_Serial->m_csRecv); - m_pSO7_Serial->m_csRecv=_T(""); - csSendData.Format(_T("Recv(%dByte)"),m_pSO7_Serial->m_iRecvByte); + ((CListBox *)GetDlgItem(IDC_LIST_SHOWMESSAGE))->InsertString(-1,CString(_T("[Recv]: "))+m_pSO7_PCDSerial->m_csRecv); + m_pSO7_PCDSerial->m_csRecv=_T(""); + csSendData.Format(_T("Recv(%dByte)"),m_pSO7_PCDSerial->m_iRecvByte); m_StatusBar.SetText(csSendData, 2, 0); } - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_iRecvState=FALSE; } else { diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp index 9242675..a291aff 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp @@ -14,7 +14,7 @@ #include "SO7_UtilDlg.h" // CSO7_UtilDlg 对话框 -extern CSerial* m_pSO7_Serial; +extern CPSerial* m_pSO7_PCDSerial; extern CSO7_Proto* m_pSO7_Proto; CLogger* g_pLoggerDebug=NULL; CSO7_VolComp* g_pVolComp=NULL; @@ -437,9 +437,6 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7ResetXyz() //===================================================================== void CSO7_UtilDlg::OnBnClickedButtonMoveTo() { - if (!m_pSO7_Serial) - m_pSO7_Serial = new CSerial(); - if(!g_pVolComp) g_pVolComp=new CSO7_VolComp(); @@ -448,11 +445,6 @@ void CSO7_UtilDlg::OnBnClickedButtonMoveTo() delete pSO7_Move_Location; pSO7_Move_Location=NULL; - if (m_pSO7_Serial) - { - delete m_pSO7_Serial; - m_pSO7_Serial=NULL; - } if (g_pVolComp) { delete g_pVolComp; @@ -465,8 +457,8 @@ void CSO7_UtilDlg::OnBnClickedButtonMoveTo() void CSO7_UtilDlg::OnBnClickedButtonAutoZoom() { - if (!m_pSO7_Serial) - m_pSO7_Serial = new CSerial(); + if (!m_pSO7_PCDSerial) + m_pSO7_PCDSerial = new CPSerial(); delete g_pLoggerDebug; g_pLoggerDebug=NULL; @@ -956,17 +948,17 @@ void CSO7_UtilDlg::OnBnClickedButtonLoadSo7config() void CSO7_UtilDlg::OnBnClickedButtonSetupSo7config() { KillTimer(1); - if (!m_pSO7_Serial) - m_pSO7_Serial = new CSerial(); + if (!m_pSO7_PCDSerial) + m_pSO7_PCDSerial = new CPSerial(); CSetup_so7config* pSetup_so7config=new CSetup_so7config; pSetup_so7config->DoModal(); delete pSetup_so7config; - if (m_pSO7_Serial) + if (m_pSO7_PCDSerial) { - delete m_pSO7_Serial; - m_pSO7_Serial=NULL; + delete m_pSO7_PCDSerial; + m_pSO7_PCDSerial=NULL; } SetTimer(1,150,NULL); } diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Verfication_Algorithm.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Verfication_Algorithm.h index c47c880..4c85f75 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Verfication_Algorithm.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Verfication_Algorithm.h @@ -25,8 +25,8 @@ protected: protected: CFont m_BTNFont; public: - BOOL ThreePntsConstructionPanel(Struct_3DPoint* pArr,double* Coe); - double PointToPanelDistance(Struct_3DPoint PntPos,double* Coe); + BOOL ThreePntsConstructPlane(Struct_3DPoint* pArr,double* Coe); + double PointToPlaneDistance(Struct_3DPoint PntPos,double* Coe); afx_msg void OnBnClickedButtonImagedll2laserCalculate(); }; 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 cb6be3e..12c3f97 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 @@ -11,7 +11,7 @@ #include "Setup_so7config.h" -extern CSerial* m_pSO7_Serial; +extern CPSerial* m_pSO7_PCDSerial; extern CSO7_Proto* m_pSO7_Proto; #define PI 3.1415926535897932384626433 // CSetup_so7config dialog @@ -96,9 +96,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_Serial) + if (m_pSO7_PCDSerial) { - if(m_pSO7_Serial->Open()) + if(m_pSO7_PCDSerial->Open()) { ChangGUIWithStep(m_nStep); m_csMsg.Format(_T("串口打开正常!")); @@ -389,24 +389,24 @@ double CSetup_so7config::ReadZoomAngle() _bReading=true; double dZoomAngle(-1); char sendData[6]={'A','D',':','0',13,10}; - DWORD iWriteByte=m_pSO7_Serial->Send(sendData,6); + DWORD iWriteByte=m_pSO7_PCDSerial->Send(sendData,6); INT iRetrys(0); - while(!m_pSO7_Serial->m_iRecvState && iRetrys<20 && iWriteByte==6) + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) { iRetrys++; Sleep(10); } - if (m_pSO7_Serial->m_iRecvState) + if (m_pSO7_PCDSerial->m_iRecvState) { - if(m_pSO7_Serial->m_csRecv==_T("")) + if(m_pSO7_PCDSerial->m_csRecv==_T("")) Sleep(40);//200 char *cRecvData= NULL; char *token = NULL; char cTemp[20]={0}; USES_CONVERSION; - cRecvData=T2A(m_pSO7_Serial->m_csRecv); + cRecvData=T2A(m_pSO7_PCDSerial->m_csRecv); char seps[] = "$AD:"; @@ -419,8 +419,8 @@ double CSetup_so7config::ReadZoomAngle() }; token=NULL; cRecvData=NULL; - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; _bReading=false; return dZoomAngle; } @@ -484,72 +484,72 @@ BOOL CSetup_so7config::CalibrateEncoder() csRightRecv.Format(_T("@OK\r\n")); INT iRetrys(0); DWORD iWriteByte(0); - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; //Phase I - iWriteByte=m_pSO7_Serial->Send(sendDataI,12); - while(!m_pSO7_Serial->m_iRecvState && iRetrys<20 && iWriteByte==12) + iWriteByte=m_pSO7_PCDSerial->Send(sendDataI,12); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==12) { iRetrys++; Sleep(50); } - if (m_pSO7_Serial->m_iRecvState) + if (m_pSO7_PCDSerial->m_iRecvState) { - if(m_pSO7_Serial->m_csRecv==_T("")) + if(m_pSO7_PCDSerial->m_csRecv==_T("")) Sleep(100); - if(m_pSO7_Serial->m_csRecv==csRightRecv) + if(m_pSO7_PCDSerial->m_csRecv==csRightRecv) { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; iRetrys=0; iWriteByte=0; //Phase II - iWriteByte=m_pSO7_Serial->Send(sendDataII,6); - while(!m_pSO7_Serial->m_iRecvState && iRetrys<20 && iWriteByte==6) + iWriteByte=m_pSO7_PCDSerial->Send(sendDataII,6); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) { iRetrys++; Sleep(50); } - if(m_pSO7_Serial->m_iRecvState) + if(m_pSO7_PCDSerial->m_iRecvState) { - if(m_pSO7_Serial->m_csRecv==_T("")) + if(m_pSO7_PCDSerial->m_csRecv==_T("")) Sleep(100); - if(m_pSO7_Serial->m_csRecv==csRightRecv) + if(m_pSO7_PCDSerial->m_csRecv==csRightRecv) { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; iRetrys=0; iWriteByte=0; //Phase III - iWriteByte=m_pSO7_Serial->Send(sendDataIII,6); - while(!m_pSO7_Serial->m_iRecvState && iRetrys<20 && iWriteByte==6) + iWriteByte=m_pSO7_PCDSerial->Send(sendDataIII,6); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) { iRetrys++; Sleep(50); } - if(m_pSO7_Serial->m_iRecvState) + if(m_pSO7_PCDSerial->m_iRecvState) { - if(m_pSO7_Serial->m_csRecv==_T("")) + if(m_pSO7_PCDSerial->m_csRecv==_T("")) Sleep(100); - if(m_pSO7_Serial->m_csRecv==csRightRecv) + if(m_pSO7_PCDSerial->m_csRecv==csRightRecv) { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; iRetrys=0; iWriteByte=0; return TRUE; } else { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; return FALSE; } } @@ -560,8 +560,8 @@ BOOL CSetup_so7config::CalibrateEncoder() } else { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; return FALSE; } } @@ -573,8 +573,8 @@ BOOL CSetup_so7config::CalibrateEncoder() } else { - m_pSO7_Serial->m_csRecv=_T(""); - m_pSO7_Serial->m_iRecvState=FALSE; + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; return FALSE; } diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp index 3d50218..252ff86 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp @@ -3,10 +3,11 @@ #include "stdafx.h" #include "resource.h" -#include "..\..\..\SevenOcean\CMMIO_SERIAL.H" +#include "..\..\..\SevenOcean\Serial.h" #include "So7_Manual_Machine.h" #include "afxdialogex.h" +#define MAX_OUTPUT_BUFFER_SIZE 512 extern CSerial* m_pSO7_Serial; // CSo7_Manual_Machine dialog @@ -24,6 +25,7 @@ CSo7_Manual_Machine::~CSo7_Manual_Machine() void CSo7_Manual_Machine::DoDataExchange(CDataExchange* pDX) { + DDX_Control(pDX, IDC_EDIT_MANUAL_MACHINE_MSG, m_edMSG); CDialog::DoDataExchange(pDX); } @@ -95,26 +97,11 @@ void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStartMachine() { if (m_pSO7_Serial) { - CString Param,Params; - int Port; - int Baud; - char Parity; - int Bits; - int StopBits; - int HandShake; - m_pSO7_Serial->GetPortData(&Port,&Baud,&Parity,&Bits,&StopBits,&HandShake); - Params.Format( TEXT("[COM%d]"), Port ); - Param.Format( TEXT(" Baud=%d"), Baud ); - Params += Param; - Param.Format( TEXT(" Parity=%c"), Parity ); - Params += Param; - Param.Format( TEXT(" Data=%d"), Bits ); - Params += Param; - Param.Format( TEXT(" Stop=%d"), StopBits ); - Params += Param; + CString Params; + Params =_T("[COM1]Baud=19200,Parity=N,Data=8,Stop=0"); m_StatusBar.SetText(Params, 0, 0); - if(m_pSO7_Serial->Open()) + if(m_pSO7_Serial->Open(1,19200)) { m_StatusBar.SetText(_T("成功打开串口"), 1, 0); GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(TRUE); @@ -130,6 +117,10 @@ void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStartMachine() //=================================================== void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStopMachine() { + if (m_pSO7_Serial) + { + m_pSO7_Serial->Close(); + } GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(TRUE); } @@ -166,50 +157,64 @@ void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineSendDataTypeAnscii() //=================================================== void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSendData() { - /* UpdateData(TRUE); USES_CONVERSION; CString csSendData(L""); GetDlgItem(IDC_EDIT_SO7_MANUAL_MACHINE_DATA)->GetWindowText(csSendData); const char* cSendData=T2A(csSendData); + + int iSendDataLength(0); + int iWriteByte(0); + int iReadByte(0); + if (m_SendType==HEXADECIMAL) { - char* stop; - BYTE bSendData[MAX_OUTPUT_BUFFER_SIZE]={0}; - INT iSendDataLength=(csSendData.GetLength()+1)/3; - for(INT i=0;iSendData((const char*)bSendData,iSendDataLength); } else { - m_pSO7_Serial->m_csRecv=_T(""); - - //加上回车换行符 - CString csTemp; - csTemp.Format(_T("\r\n")); - csSendData+=csTemp; - - - cSendData=T2A(csSendData); + //加上回车换行符 + CString csTemp; + csTemp.Format(_T("\r\n")); + csSendData+=csTemp; + cSendData=T2A(csSendData); + iSendDataLength=csSendData.GetLength(); + iWriteByte=m_pSO7_Serial->SendData(cSendData,iSendDataLength); } - DWORD iSendDataLength=csSendData.GetLength(); - DWORD iWriteByte=m_pSO7_Serial->Send(cSendData,iSendDataLength); - ((CListBox *)GetDlgItem(IDC_LIST_SHOWMESSAGE))->InsertString(-1,CString(_T("[Send]: "))+cSendData);// + m_OutMessage=_T("[Send] ")+csSendData; + OutputWithScroll(m_OutMessage,m_edMSG); - csSendData.Format(_T("Send(%dByte)"),iWriteByte); - m_StatusBar.SetText(csSendData, 1, 0); + m_OutMessage.Format(_T("Send(%dByte)"),iWriteByte); + m_StatusBar.SetText(m_OutMessage, 1, 0); //接受数据 INT iRetrys(0); - while(!m_pSO7_Serial->m_iRecvState && iRetrys<20) + while(!m_pSO7_Serial->ReadDataWaiting() && iRetrys<20) { iRetrys++; Sleep(100); } - */ + if (iRetrys<20) + { + BYTE RecvData[MAX_OUTPUT_BUFFER_SIZE]={0}; + iReadByte=m_pSO7_Serial->ReadData(RecvData,MAX_OUTPUT_BUFFER_SIZE); + m_OutMessage.Format(_T("[Recv]%s"),RecvData); + OutputWithScroll(m_OutMessage,m_edMSG); + m_OutMessage.Format(_T("Recv(%dByte)"),iReadByte); + m_StatusBar.SetText(m_OutMessage, 2, 0); + } + else + { + m_StatusBar.SetText(_T("Time Out!"), 2, 0); + } } //=================================================== @@ -248,3 +253,25 @@ void CSo7_Manual_Machine::OnBnClickedCancel() OnBnClickedButtonSo7ManualMachineStopMachine(); CDialog::OnCancel(); } + +//===================================================================================== +//Print message on edit control +void CSo7_Manual_Machine::OutputWithScroll(const CString &strNewText,CEdit &edtOutput) +{ + CString strOutput; + edtOutput.GetWindowText(strOutput); + strOutput += strNewText; + if ("\r\n" != strOutput.Right(2)) + { + strOutput += "\r\n"; + } + + int iCount = strOutput.GetLength(); + + edtOutput.SetRedraw(FALSE); + edtOutput.SetWindowText(strOutput); + int iLine = edtOutput.GetLineCount(); + edtOutput.LineScroll(iLine, 0); + edtOutput.SetSel(iCount, iCount); + edtOutput.SetRedraw(TRUE); +} diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.h index 8954c3a..1b5ca44 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.h @@ -23,8 +23,10 @@ protected: DECLARE_MESSAGE_MAP() protected: CStatusBarCtrl m_StatusBar; - CEdit m_edit_Log; - char m_SendType; + CString m_OutMessage; + CEdit m_edMSG; + char m_SendType; + void OutputWithScroll(const CString &strNewText,CEdit &edtOutput); public: afx_msg void OnBnClickedButtonSo7ManualMachineStartMachine(); afx_msg void OnBnClickedButtonSo7ManualMachineStopMachine(); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp index 9763aec..a39bf04 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp @@ -32,12 +32,15 @@ #include "SO7_Verfication_Algorithm.h" +#include "..\..\..\SevenOcean\Serial.h" +#include "So7_Manual_Machine.h" + #include "So7_Option.h" #include "afxdialogex.h" //#define _RELEASE_ONLY_ONE_FUNCTION - CSerial* m_pSO7_Serial=NULL; +CPSerial* m_pSO7_PCDSerial=NULL; CSO7_Proto* m_pSO7_Proto=NULL; CKeyence_Laser* m_pKeyence_Laser=NULL; CKeyence_Laser_LK_H* m_pKeyence_Laser_LK_H=NULL; @@ -101,9 +104,9 @@ BOOL CSo7_Option::OnInitDialog() ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SDK3000))->SetCheck(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SV2000E))->SetCheck(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_TC4000))->SetCheck(FALSE); - ((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER))->SetCheck(TRUE); + ((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER))->SetCheck(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_SO7_IP_CAMERA))->SetCheck(FALSE); - ((CButton *)GetDlgItem(IDC_RADIO__SO7_RS232))->SetCheck(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO__SO7_RS232))->SetCheck(TRUE); ((CButton *)GetDlgItem(IDC_RADIO_SO7_VERIFICATION_ALGORITHM))->SetCheck(FALSE); #ifdef _RELEASE_ONLY_ONE_FUNCTION @@ -157,7 +160,7 @@ void CSo7_Option::OnBnClickedOk() m_pKeyence_Proto=NULL; delete m_pSO7_Proto; m_pSO7_Proto=NULL; - } + } else if (((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SDK3000))->GetCheck()) { CVideocard_SDK3000* pVideocard_SDK3000=new CVideocard_SDK3000(); @@ -196,6 +199,20 @@ void CSo7_Option::OnBnClickedOk() CSO7_Verfication_Algorithm* pSO7_Verfication_Algorithm=new CSO7_Verfication_Algorithm(); pSO7_Verfication_Algorithm->DoModal(); } + else if (((CButton *)GetDlgItem(IDC_RADIO__SO7_RS232))->GetCheck()) + { + if (!m_pSO7_Serial) + m_pSO7_Serial = new CSerial(); + + CSo7_Manual_Machine* pSo7_Manual_Machine=new CSo7_Manual_Machine(); + pSo7_Manual_Machine->DoModal(); + + if (m_pSO7_Serial) + { + delete m_pSO7_Serial; + m_pSO7_Serial=NULL; + } + } #ifdef _RELEASE_ONLY_ONE_FUNCTION 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 459c4ca..755d84a 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 @@ -213,6 +213,7 @@ + @@ -267,6 +268,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 0a0acf3..8a7bec1 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 @@ -121,7 +121,12 @@ Sources Files - + + Sources Files + + + Sources Files + @@ -274,7 +279,12 @@ Header Files - + + Header Files + + + Header Files + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h index 153af00..0192be3 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -345,6 +345,8 @@ #define IDC_EDIT_IMAGEDLL_2LASER_TOPZ1 1274 #define IDC_EDIT_FRESHSPEED_X2 1275 #define IDC_EDIT_IMAGEDLL_2LASER_TOPZ2 1275 +#define IDC_EDIT_REPRETEST2 1275 +#define IDC_EDIT_MANUAL_MACHINE_MSG 1275 #define IDC_EDIT_FRESHSPEED_X3 1276 #define IDC_EDIT_IMAGEDLL_2LASER_TOPZ3 1276 #define IDC_BUTTON_ZERO_SET 1277 @@ -356,7 +358,6 @@ #define IDC_EDIT_FRESHSPEED_Y1 1279 #define IDC_EDIT_IMAGEDLL_2LASER_TOPZ6 1279 #define IDC_BUTTON_SAVE 1280 -#define IDC_EDIT_IMAGEDLL_2LASER_TOPZ7 1280 #define IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ__CALIBRATE 1280 #define IDC_BUTTON_SAVE_PARAMETER 1281 #define IDC_EDIT_IMAGEDLL_2LASER_TOPZ_CALIBRATE 1281 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 78fce16..8063e95 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