diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP index 700c9da..349b50e 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP @@ -44,7 +44,7 @@ CPSerial::CPSerial() { // Serial port is not open m_PortHandle = INVALID_HANDLE_VALUE; - + m_IsWrtingData=FALSE; // Default port settings m_Port = 1; m_Baud = CBR_115200; @@ -323,6 +323,7 @@ DWORD CPSerial::Close() DWORD CPSerial::Send(LPCSTR buffer, int l, BOOL /*needsResponse=FALSE*/) { + m_IsWrtingData=TRUE; return ( WritePort ((const char*) buffer, (DWORD) l)); } @@ -488,10 +489,21 @@ void CPSerial::OnReceive() CurrentPointer = 0; int num = ReadPort(s, MAX_RECIEVE_BUFFER_SIZE); if ((num>0) && (numSetPort(SerialComPort,TESASTARE_BAUD,TESASTARE_PARITY,TESASTARE_BITS,TESASTARE_STOPBITS,TESASTARE_HandShake); + if(m_pSerial->Open()) + { + bEnComm=TRUE; + status=TRUE; + status=CheckStatus(); + } + else + { + status=FALSE; + bEnComm=FALSE; + delete m_pSerial; + m_pSerial=NULL; + } + } + return status; +} +//================================================================== +BOOL CTesaStarE::Unload() +{ + if (m_pSerial) + { + m_pSerial->Close(); + } + return TRUE; +} +//================================================================== +BOOL CTesaStarE::GetTesaStarEAngle(int& _AngleNumber,double* _Angle) +{ + _AngleNumber=2; + _Angle[0]=m_TesaStarEAngle[0]; + _Angle[1]=m_TesaStarEAngle[1]; + return TRUE; +} +//================================================================== +void CTesaStarE::LoadConfig() +{ +} +//================================================================== +BOOL CTesaStarE::ReadTesaStarEAngle() +{ + return TRUE; +} +//================================================================== +BOOL CTesaStarE::CheckStatus() +{ + return TRUE; + /* + if (bEnComm) + { + 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_pSerial->m_iRecvState=FALSE; + + //Phase I + iWriteByte=m_pSerial->Send(sendDataI,12); + while(!m_pSerial->m_iRecvState && iRetrys<20 && iWriteByte==12) + { + iRetrys++; + Sleep(50); + } + + if (m_pSerial->m_iRecvState) + { + if(m_pSerial->m_RecvData[0]==0) + { + m_pSerial->m_iRecvState=FALSE; + iRetrys=0; + while(!m_pSerial->m_iRecvState && iRetrys<30) + { + iRetrys++; + Sleep(50); + } + } + + m_csRecv.Format(("%s"),m_pSerial->m_RecvData); + if((CString)m_csRecv==csRightRecv) + { + m_pSerial->m_iRecvState=FALSE; + iRetrys=0; + iWriteByte=0; + //Phase II + + iWriteByte=m_pSerial->Send(sendDataII,6); + while(!m_pSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) + { + iRetrys++; + Sleep(50); + } + if(m_pSerial->m_iRecvState) + { + if(m_pSerial->m_RecvData[0]==0) + { + m_pSerial->m_iRecvState=FALSE; + iRetrys=0; + while(!m_pSerial->m_iRecvState && iRetrys<30) + { + iRetrys++; + Sleep(50); + } + } + + m_csRecv.Format(("%s"),m_pSerial->m_RecvData); + if((CString)m_csRecv==csRightRecv) + { + m_pSerial->m_iRecvState=FALSE; + iRetrys=0; + iWriteByte=0; + //Phase III + + iWriteByte=m_pSerial->Send(sendDataIII,6); + while(!m_pSerial->m_iRecvState && iRetrys<20 && iWriteByte==6) + { + iRetrys++; + Sleep(50); + } + if(m_pSerial->m_iRecvState) + { + if(m_pSerial->m_RecvData[0]==0) + { + m_pSerial->m_iRecvState=FALSE; + iRetrys=0; + while(!m_pSerial->m_iRecvState && iRetrys<30) + { + iRetrys++; + Sleep(50); + } + } + + m_csRecv.Format(("%s"),m_pSerial->m_RecvData); + if((CString)m_csRecv==csRightRecv) + { + m_pSerial->m_iRecvState=FALSE; + iRetrys=0; + iWriteByte=0; + return TRUE; + } + else + { + m_pSerial->m_iRecvState=FALSE; + return FALSE; + } + } + else + { + return FALSE; + } + } + else + { + m_pSerial->m_iRecvState=FALSE; + return FALSE; + } + } + else + { + return FALSE; + } + + } + else + { + m_pSerial->m_iRecvState=FALSE; + return FALSE; + } + + } + else + { + return FALSE; + } + } + else + { + return FALSE; + } + */ +} \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tesa/TesaStarE.h b/PcDmis/Base/Interfac/Msi/Hsi/Tesa/TesaStarE.h new file mode 100644 index 0000000..9faeac5 --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tesa/TesaStarE.h @@ -0,0 +1,30 @@ +#ifndef _TesaStarE_H_ +#define _TesaStarE_H_ + +#include "..\SevenOcean\CMMIO_SERIAL.H" +#define TESASTARE_BAUD CBR_1200 +#define TESASTARE_PARITY 'N' +#define TESASTARE_BITS 8 +#define TESASTARE_STOPBITS 1 +#define TESASTARE_HandShake CS_HANDSHAKE_FOR_TRESASTR_E +class CTesaStarE +{ +public: + CTesaStarE(void); + ~CTesaStarE(void); + BOOL Initialization(bool _bInitConfig=true); + BOOL Unload(); + BOOL CheckStatus(); + void LoadConfig(); + BOOL ReadTesaStarEAngle(); + BOOL GetTesaStarEAngle(int& _AngleNumber,double* _Angle); + CPSerial* m_pSerial; +protected: + int SerialComPort; + BOOL _bReading; + BOOL bEnComm; + double m_TesaStarEAngle[2]; +}; + + +#endif \ No newline at end of file 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 7221f39..8b8be2f 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -2389,3 +2389,8 @@ Init:Open device succeed . _start_machine Exit: Exit_SO7Usb Destruct Cso7_Proto. +Construct Cso7_Proto. +Unable to open device Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Utility_Lite.suo b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Utility_Lite.suo new file mode 100644 index 0000000..cb2bcf2 Binary files /dev/null and b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Utility_Lite.suo differ diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_MainDlg.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_MainDlg.cpp index e682908..9164d96 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_MainDlg.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_MainDlg.cpp @@ -16,12 +16,15 @@ #include "Animatics_UtilDlg.h" #include "SO7_UtilDlg.h" #include "So7_Option.h" +#include "..\..\..\Tesa\TesaStarE.h" +#include "TestTesaStarEDialog.h" #include "Mv_MainDlg.h" #include "KeyenceTM065_Dlg.h" CMv_Proto *m_pMv_Proto = NULL; CKeyenceTM065_Proto *m_pKeyenceTM065_Proto = NULL; SmartMotor_Proto *pSmartMotor_Proto = NULL; +CTesaStarE *g_pTesaStarE= NULL; IMPLEMENT_DYNAMIC(CMv_MainDlg, CDialogEx) @@ -89,12 +92,21 @@ void CMv_MainDlg::OnBnClickedButtonDiagnostics() pCKeyenceTM065_Dlg->DoModal(); delete pCKeyenceTM065_Dlg; } - else if (((CButton *)GetDlgItem(IDC_RADIO_MACHINE_SevenOcean))->GetCheck()) - { - CSo7_Option* pSo7_Option_Dlg = new CSo7_Option(); - pSo7_Option_Dlg->DoModal(); - delete pSo7_Option_Dlg; - }; + else if (((CButton *)GetDlgItem(IDC_RADIO_MACHINE_TESASTARE))->GetCheck()) + { + if (!g_pTesaStarE) + { + g_pTesaStarE=new CTesaStarE(); + } + TestTesaStarEDialog* pTestTesaStarEDialog = new TestTesaStarEDialog(); + pTestTesaStarEDialog->DoModal(); + delete pTestTesaStarEDialog; + if (g_pTesaStarE) + { + delete g_pTesaStarE; + g_pTesaStarE=nullptr; + } + }; } //=========================================================================== @@ -138,13 +150,16 @@ void CMv_MainDlg::OnBnClickedOk() //=========================================================================== BOOL CMv_MainDlg::OnInitDialog() { - ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_MITUTOYO))->SetCheck(false); - ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_MICROVU))->SetCheck(false); - ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_SevenOcean))->SetCheck(false); - ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_TM_065))->SetCheck(true); - ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_ANIMATICS))->SetCheck(false); - ((CButton *)GetDlgItem(IDC_BUTTON_PROTOCOL_ANALYZER))->EnableWindow(true); - ((CButton *)GetDlgItem(IDC_BUTTON_FILE_UTILITIES))->EnableWindow(true); + ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_MITUTOYO))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_MICROVU))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_SevenOcean))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_TM_065))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_ANIMATICS))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_MACHINE_TESASTARE))->SetCheck(true); + + ((CButton *)GetDlgItem(IDC_BUTTON_PROTOCOL_ANALYZER))->EnableWindow(true); + ((CButton *)GetDlgItem(IDC_BUTTON_FILE_UTILITIES))->EnableWindow(true); + return TRUE; }; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc index 574b7f6..60b86c6 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc @@ -816,6 +816,22 @@ BEGIN GROUPBOX "Times",IDC_STATIC,91,25,54,56 END +IDD_DIALOG_TESA_STAR_E DIALOGEX 0, 0, 403, 284 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "TESASTAR-e" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + PUSHBUTTON "Exit",IDCANCEL,346,249,50,14 + PUSHBUTTON "Start",IDC_BUTTON_TESA_STAR_START_MACHINE,27,30,50,14 + PUSHBUTTON "Stop",IDC_BUTTON_TESA_STAR_STOP_MACHINE,27,59,50,14 + EDITTEXT IDC_EDIT_MOVETO_DEG,209,31,40,14,ES_AUTOHSCROLL + PUSHBUTTON "MoveTo",IDC_BUTTONIDC_BUTTON_TESA_STAR_MOVETO,207,59,50,14 + EDITTEXT IDC_EDIT_TESA_STAR_MESSAGE,119,31,40,14,ES_AUTOHSCROLL + PUSHBUTTON "Send Message",IDC_BUTTON_TESA_STAR_SENDMSG,113,59,50,14 + EDITTEXT IDC_EDIT_TESA_STAR_E_LOG,20,88,326,161,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL + PUSHBUTTON "Clear all",IDC_BUTTON_TESA_STAR_CLEAR_LOG,351,170,38,14 +END + ///////////////////////////////////////////////////////////////////////////// // @@ -939,6 +955,14 @@ BEGIN TOPMARGIN, 7 BOTTOMMARGIN, 379 END + + IDD_DIALOG_TESA_STAR_E, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 396 + TOPMARGIN, 7 + BOTTOMMARGIN, 277 + END END #endif // APSTUDIO_INVOKED @@ -1751,6 +1775,7 @@ BEGIN CONTROL "SO7",IDC_RADIO_MACHINE_SevenOcean,"Button",BS_AUTORADIOBUTTON,22,96,30,8 CONTROL "Animatics",IDC_RADIO_MACHINE_ANIMATICS,"Button",BS_AUTORADIOBUTTON,69,96,46,8 CONTROL "Generic",IDC_RADIO_MACHINE_GENERIC,"Button",BS_AUTORADIOBUTTON,124,96,39,8 + CONTROL "TESASTAR-e",IDC_RADIO_MACHINE_TESASTARE,"Button",BS_AUTORADIOBUTTON,177,78,57,10 PUSHBUTTON "Auto Test",IDC_BUTTON_AUTO_TEST,16,127,79,30 PUSHBUTTON "Diagnostics",IDC_BUTTON_DIAGNOSTICS,16,162,79,30 PUSHBUTTON "Protocol Analyzer",IDC_BUTTON_PROTOCOL_ANALYZER,21,23,67,30 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/TestTesaStarEDialog.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/TestTesaStarEDialog.cpp new file mode 100644 index 0000000..9ab5a30 --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/TestTesaStarEDialog.cpp @@ -0,0 +1,268 @@ +// TestTesaStarEDialog.cpp : implementation file +// + +#include "stdafx.h" +#include "resource.h" +#include "..\..\..\Tesa\TesaStarE.h" +#include "TestTesaStarEDialog.h" +#include "afxdialogex.h" + +extern CTesaStarE* g_pTesaStarE; +// TestTesaStarEDialog dialog + +IMPLEMENT_DYNAMIC(TestTesaStarEDialog, CDialog) + +TestTesaStarEDialog::TestTesaStarEDialog(CWnd* pParent /*=NULL*/) + : CDialog(TestTesaStarEDialog::IDD, pParent) +{ + m_SendType=1; +} + +TestTesaStarEDialog::~TestTesaStarEDialog() +{ +} + +void TestTesaStarEDialog::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + DDX_Control(pDX, IDC_EDIT_TESA_STAR_E_LOG, m_edMSG); + +} + + +BEGIN_MESSAGE_MAP(TestTesaStarEDialog, CDialog) + ON_BN_CLICKED(IDCANCEL, &TestTesaStarEDialog::OnBnClickedCancel) + ON_EN_KILLFOCUS(IDC_EDIT_MOVETO_DEG, &TestTesaStarEDialog::OnEnKillfocusEditMoveT_Deg) + ON_BN_CLICKED(IDC_BUTTONIDC_BUTTON_TESA_STAR_MOVETO, &TestTesaStarEDialog::OnBnClickedButtonidcButtonTesaStarMoveto) + ON_BN_CLICKED(IDC_BUTTON_TESA_STAR_START_MACHINE, &TestTesaStarEDialog::OnBnClickedButtonTesaStarStartMachine) + ON_BN_CLICKED(IDC_BUTTON_TESA_STAR_STOP_MACHINE, &TestTesaStarEDialog::OnBnClickedButtonTesaStarStopMachine) + ON_BN_CLICKED(IDC_BUTTON_TESA_STAR_SENDMSG, &TestTesaStarEDialog::OnBnClickedButtonTesaStarSendmsg) + ON_BN_CLICKED(IDC_BUTTON_TESA_STAR_CLEAR_LOG, &TestTesaStarEDialog::OnBnClickedButtonTesaStarClearLog) +END_MESSAGE_MAP() + + +// TestTesaStarEDialog message handlers +//=================================================== +BOOL TestTesaStarEDialog::OnInitDialog() +{ + CDialog::OnInitDialog(); + + // Add "About..." menu item to system menu. + + // IDM_ABOUTBOX must be in the system command range. + ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); + ASSERT(IDM_ABOUTBOX < 0xF000); + + CMenu* pSysMenu = GetSystemMenu(FALSE); + if (pSysMenu != NULL) + { + BOOL bNameValid; + CString strAboutMenu; + bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); + ASSERT(bNameValid); + if (!strAboutMenu.IsEmpty()) + { + pSysMenu->AppendMenu(MF_SEPARATOR); + pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); + } + } + + //=============================================================================== + // 创建状态栏 + m_StatusBar.Create(WS_CHILD|WS_VISIBLE|SBS_SIZEGRIP, CRect(0, 0, 0, 0), this, 101); + m_StatusBar.SetBkColor(RGB(0xff, 0xff, 0x00)); + int arWidth[] = {330,450, -1 }; + m_StatusBar.SetParts(3, arWidth); + m_StatusBar.SetText(_T("System ready."), 0, 0); + + UpdateData(FALSE); + return TRUE; // return TRUE unless you set the focus to a control +} + + + +void TestTesaStarEDialog::OnBnClickedCancel() +{ + // TODO: Add your control notification handler code here + CDialog::OnCancel(); +} + + +void TestTesaStarEDialog::OnEnKillfocusEditMoveT_Deg() +{ + // TODO: Add your control notification handler code here +} + + +void TestTesaStarEDialog::OnBnClickedButtonidcButtonTesaStarMoveto() +{ + // TODO: Add your control notification handler code here +} + + +void TestTesaStarEDialog::OnBnClickedButtonTesaStarStartMachine() +{ + g_pTesaStarE->Initialization(); +} + + +void TestTesaStarEDialog::OnBnClickedButtonTesaStarStopMachine() +{ + g_pTesaStarE->Unload(); +} + + +void TestTesaStarEDialog::OnBnClickedButtonTesaStarSendmsg() +{ + UpdateData(TRUE); + USES_CONVERSION; + CString csSendData(L""); + + GetDlgItem(IDC_EDIT_TESA_STAR_MESSAGE)->GetWindowText(csSendData); + const char* cSendData=T2A(csSendData); + + DWORD iSendDataLength(0); + DWORD iWriteByte(0); + + if (m_SendType==0) + { + char* stop; + BYTE bSendData[MAX_OUTPUT_BUFFER_SIZE]={0}; + iSendDataLength=(csSendData.GetLength()+1)/3; + for(DWORD i=0;im_pSerial->Send((const char*)bSendData,iSendDataLength); + } + else + { + //加上回车换行符 + csSendData+=_T("\r"); + cSendData=T2A(csSendData); + iSendDataLength=csSendData.GetLength(); + iWriteByte=g_pTesaStarE->m_pSerial->Send(cSendData,iSendDataLength); + } + + m_OutMessage=_T("[Send] ")+csSendData; + OutputWithScroll(m_OutMessage,m_edMSG); + + m_OutMessage.Format(_T("Send(%dByte)"),iWriteByte); + m_StatusBar.SetText(m_OutMessage, 1, 0); + //接受数据 + INT iRetrys(0); + INT iRecvBytes(0); + CString csTemp; + bool IsTheEnd(false); + do + { + iRetrys=0; + while(!g_pTesaStarE->m_pSerial->m_iRecvState && iRetrys<20) + { + iRetrys++; + Sleep(100); + } + if (g_pTesaStarE->m_pSerial->m_iRecvState) + { + if(g_pTesaStarE->m_pSerial->m_RecvData[0]==0) + { + g_pTesaStarE->m_pSerial->m_iRecvState=FALSE; + INT iRetrys2(0); + while(!g_pTesaStarE->m_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]); + for (INT i=0;i32) + csTemp.Format(_T("%c "),(BYTE)m_RecvData[i]); + else + csTemp=_T("|"); + m_OutMessage+=csTemp; + } + OutputWithScroll(m_OutMessage,m_edMSG); + m_OutMessage.Format(_T("Recv(%dByte)"),iRecvBytes); + m_StatusBar.SetText(m_OutMessage, 2, 0); + } + 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; + + 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]); + + for (INT i=0;i32) + csTemp.Format(_T("%c "),(BYTE)m_RecvData[i]); + else + csTemp=_T("|"); + m_OutMessage+=csTemp; + } + OutputWithScroll(m_OutMessage,m_edMSG); + m_OutMessage.Format(_T("Recv(%dByte)"),iRecvBytes); + m_StatusBar.SetText(m_OutMessage, 2, 0); + } + + g_pTesaStarE->m_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); + } + iRecvBytes=g_pTesaStarE->m_pSerial->m_iRecvBytes; + if(iRecvBytes<3) + { + iRecvBytes=3; + } + if ((m_RecvData[iRecvBytes-1]==0X0D)&& + (m_RecvData[iRecvBytes-2]==0X0A)&& + (m_RecvData[iRecvBytes-3]==0X0D)) + { + IsTheEnd=true; + } + } while (!IsTheEnd); + +} + + +void TestTesaStarEDialog::OnBnClickedButtonTesaStarClearLog() +{ + GetDlgItem(IDC_EDIT_TESA_STAR_E_LOG)->SetWindowTextW(_T("")); +} + +//===================================================================================== +//Print message on edit control +void TestTesaStarEDialog::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/TestTesaStarEDialog.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/TestTesaStarEDialog.h new file mode 100644 index 0000000..7271eb3 --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/TestTesaStarEDialog.h @@ -0,0 +1,37 @@ +#pragma once + + +// TestTesaStarEDialog dialog + +class TestTesaStarEDialog : public CDialog +{ + DECLARE_DYNAMIC(TestTesaStarEDialog) + +public: + TestTesaStarEDialog(CWnd* pParent = NULL); // standard constructor + virtual ~TestTesaStarEDialog(); + +// Dialog Data + enum { IDD = IDD_DIALOG_TESA_STAR_E }; + +protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + virtual BOOL OnInitDialog(); + + DECLARE_MESSAGE_MAP() + CEdit m_edMSG; + CString m_OutMessage; + CStatusBarCtrl m_StatusBar; + int m_SendType; + char m_RecvData[MAX_RECIEVE_BUFFER_SIZE]; + +public: + void OutputWithScroll(const CString &strNewText,CEdit &edtOutput); + afx_msg void OnBnClickedCancel(); + afx_msg void OnEnKillfocusEditMoveT_Deg(); + afx_msg void OnBnClickedButtonidcButtonTesaStarMoveto(); + afx_msg void OnBnClickedButtonTesaStarStartMachine(); + afx_msg void OnBnClickedButtonTesaStarStopMachine(); + afx_msg void OnBnClickedButtonTesaStarSendmsg(); + afx_msg void OnBnClickedButtonTesaStarClearLog(); +}; 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 49cd387..9f3aa02 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 @@ -319,6 +319,7 @@ + @@ -361,6 +362,7 @@ Create Create + @@ -391,6 +393,7 @@ + @@ -429,6 +432,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 22cd7b7..c09e041 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 @@ -169,6 +169,12 @@ Sources Files + + Sources Files + + + Sources Files + @@ -372,6 +378,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 0b6104c..e3d8484 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -54,6 +54,7 @@ #define IDB_BITMAP_X_LEFT 144 #define IDB_BITMAP_X_RIGHT 145 #define IDC_BUTTON_INIT_MVUSB 146 +#define IDD_DIALOG_TESA_STAR_E 188 #define IDC_BUTTON_START_MACHINE 1000 #define IDC_BUTTON_START_MACHINE3 1001 #define IDC_BUTTON_START_POLL_58 1002 @@ -642,6 +643,7 @@ #define IDC_BUTTON_READ_IMAGE 1541 #define IDC_BUTTON2 1542 #define IDC_BUTTON_SO7_READDATAFROMFPGA 1542 +#define IDC_BUTTON_TESA_STAR_STOP_MACHINE 1542 #define IDC_BUTTON_STOP_SAMPLE_SCURVE 1543 #define IDC_BTN_CONFIGURE_MOVEVOUT 1544 #define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER 1545 @@ -685,6 +687,7 @@ #define IDC_EDIT_SET_PARAMETER_MSGOUTPUT 1583 #define IDC_RADIO_KEYENCE_LASER_LK_G 1584 #define IDC_BUTTON3 1585 +#define IDC_BUTTONIDC_BUTTON_TESA_STAR_MOVETO 1585 #define IDC_BUTTON_INIT_SCAN_KEYENCE_LK_GLASER 1586 #define IDC_EDIT_MEASURE_VALUE 1587 #define IDC_RADIO_OUT_EXTRACT 1588 @@ -844,6 +847,7 @@ #define IDC_EDIT_RWDATA_DATA 1793 #define IDC_BUTTON1 1794 #define IDC_BUTTON_SO7_SENDDATATOFPGA 1794 +#define IDC_BUTTON_TESA_STAR_START_MACHINE 1794 #define IDC_COMBO_RWDATA_ADDR 1795 #define IDC_EDIT_MOTION_SPEEDY 1796 #define IDC_COMBO_OUTPORT_NUMBER 1796 @@ -859,14 +863,21 @@ #define IDC_RADIO_READ_INPUT_PORT 1804 #define IDC_RADIO2 1805 #define IDC_RADIO_READ_OUTPUT_PORT 1805 +#define IDC_RADIO_MACHINE_TESASTARE 1806 +#define IDC_EDIT_MOVETO_DEG 1807 +#define IDC_BUTTON_TESA_STAR_SENDMSG 1808 +#define IDC_EDIT2 1809 +#define IDC_EDIT_TESA_STAR_E_LOG 1809 +#define IDC_BUTTON_TESA_STAR_CLEAR_LOG 1810 +#define IDC_EDIT_TESA_STAR_MESSAGE 1811 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 188 +#define _APS_NEXT_RESOURCE_VALUE 189 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1806 +#define _APS_NEXT_CONTROL_VALUE 1812 #define _APS_NEXT_SYMED_VALUE 104 #endif #endif 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 70da50f..9602e79 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