新增Tesa star e测试功能。
This commit is contained in:
@@ -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) && (num<MAX_RECIEVE_BUFFER_SIZE))
|
||||
{
|
||||
memset(m_RecvData,0,MAX_RECIEVE_BUFFER_SIZE);
|
||||
memcpy(m_RecvData,s, num);
|
||||
m_iRecvBytes=num;
|
||||
{
|
||||
if(m_IsWrtingData)
|
||||
{
|
||||
memset(m_RecvData,0,MAX_RECIEVE_BUFFER_SIZE);
|
||||
m_IsWrtingData=FALSE;
|
||||
m_iRecvBytes=0;
|
||||
}
|
||||
TRACE1("----RECV%d----\r\n",num);
|
||||
TRACE3("%02X %02X %02X ",s[0],s[1],s[2]);
|
||||
TRACE3("%02X %02X %02X ",s[3],s[4],s[5]);
|
||||
TRACE3("%02X %02X %02X\r\n",s[6],s[7],s[8]);
|
||||
for(int i=0;i<num;i++)
|
||||
{
|
||||
m_RecvData[m_iRecvBytes++]=s[i];
|
||||
}
|
||||
m_iRecvState=TRUE;
|
||||
}
|
||||
//LineReceive(s, num);
|
||||
@@ -639,6 +651,17 @@ int CPSerial::ProgramPort(int Port,int Baud,char Parity,int Bits,int StopBits,in
|
||||
SerialDCB.fOutxDsrFlow=FALSE;
|
||||
SerialDCB.XonLim=2048;
|
||||
SerialDCB.XoffLim=512;
|
||||
case CS_HANDSHAKE_FOR_TRESASTR_E:
|
||||
SerialDCB.EofChar = 26;
|
||||
SerialDCB.XonChar = 17;
|
||||
SerialDCB.XoffChar = 19;
|
||||
SerialDCB.fOutX=TRUE;
|
||||
SerialDCB.fInX=TRUE;
|
||||
SerialDCB.fRtsControl=RTS_CONTROL_DISABLE;
|
||||
SerialDCB.fDtrControl = DTR_CONTROL_ENABLE;
|
||||
SerialDCB.fDsrSensitivity=FALSE;
|
||||
SerialDCB.XonLim=256;
|
||||
SerialDCB.XoffLim=256;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -704,6 +727,18 @@ int CPSerial::ProgramPort(int Port,int Baud,char Parity,int Bits,int StopBits,in
|
||||
SerialDCB.XonLim=2048;
|
||||
SerialDCB.XoffLim=512;
|
||||
break;
|
||||
case CS_HANDSHAKE_FOR_TRESASTR_E:
|
||||
SerialDCB.EofChar = 26;
|
||||
SerialDCB.XonChar = 17;
|
||||
SerialDCB.XoffChar = 19;
|
||||
SerialDCB.fOutX=TRUE;
|
||||
SerialDCB.fInX=TRUE;
|
||||
SerialDCB.fRtsControl=RTS_CONTROL_DISABLE;
|
||||
SerialDCB.fDtrControl = DTR_CONTROL_ENABLE;
|
||||
SerialDCB.fDsrSensitivity=FALSE;
|
||||
SerialDCB.XonLim=256;
|
||||
SerialDCB.XoffLim=256;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -56,6 +56,7 @@ const int CS_HANDSHAKE_XONXOFF = 2;
|
||||
const int CS_HANDSHAKE_NONE = 3;
|
||||
const int CS_HANDSHAKE_RTSCTS_DTRDSR = 4;
|
||||
const int CS_HANDSHAKE_FOR_SO7 = 5;
|
||||
const int CS_HANDSHAKE_FOR_TRESASTR_E = 6;
|
||||
|
||||
|
||||
|
||||
@@ -178,6 +179,7 @@ private:
|
||||
|
||||
//Buffer for incomming commands:
|
||||
int CurrentPointer;
|
||||
BOOL m_IsWrtingData;
|
||||
public:
|
||||
HANDLE m_hWaitCMMResponse;
|
||||
HANDLE m_hNewRx;
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
#include "StdAfx.h"
|
||||
#include "TesaStarE.h"
|
||||
|
||||
#define PI 3.1415926535897932384626433
|
||||
#define MAX_BUFF_SIZE 0x200
|
||||
|
||||
//==================================================================
|
||||
CTesaStarE::CTesaStarE(void)
|
||||
{
|
||||
SerialComPort=1;
|
||||
m_pSerial=NULL;
|
||||
_bReading=FALSE;
|
||||
bEnComm=false;
|
||||
}
|
||||
//==================================================================
|
||||
CTesaStarE::~CTesaStarE(void)
|
||||
{
|
||||
if (m_pSerial)
|
||||
{
|
||||
delete m_pSerial;
|
||||
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())
|
||||
{
|
||||
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;
|
||||
}
|
||||
*/
|
||||
}
|
||||
@@ -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
|
||||
@@ -2389,3 +2389,8 @@ Init:Open device succeed .
|
||||
|
||||
_start_machine
|
||||
Construct Cso7_Proto.
|
||||
|
||||
Init:Open device succeed .
|
||||
|
||||
_start_machine
|
||||
Exit: Exit_SO7Usb
|
||||
|
||||
Binary file not shown.
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;i<iSendDataLength;i++)
|
||||
{
|
||||
bSendData[i]=(BYTE)strtol(cSendData+i*3,&stop,16);
|
||||
}
|
||||
iWriteByte=g_pTesaStarE->m_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;i<iRecvBytes;i++)
|
||||
{
|
||||
if((BYTE)m_RecvData[i]>32)
|
||||
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;i<iRecvBytes;i++)
|
||||
{
|
||||
if((BYTE)m_RecvData[i]>32)
|
||||
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);
|
||||
}
|
||||
@@ -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();
|
||||
};
|
||||
@@ -319,6 +319,7 @@
|
||||
<ClCompile Include="..\..\..\SevenOcean\Serial.cpp" />
|
||||
<ClCompile Include="..\..\..\SevenOcean\So7_Interface.cpp" />
|
||||
<ClCompile Include="..\..\..\SevenOcean\SO7_Proto.cpp" />
|
||||
<ClCompile Include="..\..\..\Tesa\TesaStarE.cpp" />
|
||||
<ClCompile Include="..\LOGGER.CPP" />
|
||||
<ClCompile Include="..\Proto_Util.cpp" />
|
||||
<ClCompile Include="AboutDlg.cpp" />
|
||||
@@ -361,6 +362,7 @@
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='ReleaseSO7|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TestTesaStarEDialog.cpp" />
|
||||
<ClCompile Include="Videocard_SDK3000.cpp" />
|
||||
<ClCompile Include="Videocard_SV2000E.cpp" />
|
||||
<ClCompile Include="Videocard_SV4000E.cpp" />
|
||||
@@ -391,6 +393,7 @@
|
||||
<ClInclude Include="..\..\..\SevenOcean\Serial.h" />
|
||||
<ClInclude Include="..\..\..\SevenOcean\So7_Interface.h" />
|
||||
<ClInclude Include="..\..\..\SevenOcean\SO7_Proto.h" />
|
||||
<ClInclude Include="..\..\..\Tesa\TesaStarE.h" />
|
||||
<ClInclude Include="..\..\..\Videocard\SDK3000\sdk3000_7130.h" />
|
||||
<ClInclude Include="..\Proto_Util.h" />
|
||||
<ClInclude Include="AboutDlg.h" />
|
||||
@@ -429,6 +432,7 @@
|
||||
<ClInclude Include="STATUS_MOTION.H" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
<ClInclude Include="TestTesaStarEDialog.h" />
|
||||
<ClInclude Include="VideoCardDefine.h" />
|
||||
<ClInclude Include="Videocard_SDK3000.h" />
|
||||
<ClInclude Include="Videocard_SV2000E.h" />
|
||||
|
||||
@@ -169,6 +169,12 @@
|
||||
<ClCompile Include="KeyenceLKH_Dlg.cpp">
|
||||
<Filter>Sources Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Tesa\TesaStarE.cpp">
|
||||
<Filter>Sources Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TestTesaStarEDialog.cpp">
|
||||
<Filter>Sources Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CaptureDataDlg.h">
|
||||
@@ -372,6 +378,12 @@
|
||||
<ClInclude Include="KeyenceLKH_Dlg.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Tesa\TesaStarE.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TestTesaStarEDialog.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="ReadMe.txt" />
|
||||
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user