增加读取数据的模式。

This commit is contained in:
TAO Cheng
2014-04-30 18:09:38 +08:00
parent 46b61ce1e0
commit 5aec9f2552
9 changed files with 490 additions and 140 deletions
@@ -4541,3 +4541,24 @@ Init:Open device succeed .
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
@@ -1,16 +1,4 @@
[HARDWARE]
MOVETOSPEED_FAST_X=0.00000000
MOVETOSPEED_SLOW_X=0.00000000
MOVETOSPEED_SCALE_X=1.00000000
;
MOVETOSPEED_FAST_Y=0.00000000
MOVETOSPEED_SLOW_Y=0.00000000
MOVETOSPEED_SCALE_Y=1.00000000
;
MOVETOSPEED_FAST_Z=0.00000000
MOVETOSPEED_SLOW_Z=0.00000000
MOVETOSPEED_SCALE_Z=1.00000000
;
SPEED_BASE_X1=0
SPEED_MAX_X1=0
SPEED_START_X1=0
@@ -123,5 +111,4 @@ Z_NEG_WORKING_LIMIT=0.000
X_POS_WORKING_LIMIT=400.000
Y_POS_WORKING_LIMIT=300.000
Z_POS_WORKING_LIMIT=200.000
ROTARY_CIR_DIS=100.000
;
@@ -948,12 +948,13 @@ CAPTION "ART PCI8622"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
PUSHBUTTON "Exit",IDCANCEL,347,264,50,14
PUSHBUTTON "Start",IDC_BUTTON_ART_PCI8622_START,29,41,50,14
PUSHBUTTON "Stop",IDC_BUTTON_ART_PCI8622_STOP,98,41,50,14
PUSHBUTTON "Start",IDC_BUTTON_ART_PCI8622_START,129,41,50,14
PUSHBUTTON "Stop",IDC_BUTTON_ART_PCI8622_STOP,198,41,50,14
EDITTEXT IDC_EDIT_ART_PCI8622_LOG,20,88,326,161,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
PUSHBUTTON "Clear all",IDC_BUTTON_ART_PCI8622_CLEAR_LOG,351,170,38,14
PUSHBUTTON "Read",IDC_BUTTON_ART_PCI8622_READ_DATA,167,41,50,14
PUSHBUTTON "Read",IDC_BUTTON_ART_PCI8622_READ_DATA,267,41,50,14
GROUPBOX "Machine",-1,20,15,325,65
PUSHBUTTON "Set",IDC_BUTTON_ART_PCI8622_SET_MODE,65,43,50,14
END
@@ -8,14 +8,16 @@
#include "afxdialogex.h"
extern CART_PCI8622* m_pART_PCI8622;
int m_ADDataNumber[32]={0};
double m_ADData[32][4096]={0};
// CSo7_Art_PCI8622 dialog
IMPLEMENT_DYNAMIC(CSo7_Art_PCI8622, CDialog)
CSo7_Art_PCI8622::CSo7_Art_PCI8622(CWnd* pParent /*=NULL*/)
: CDialog(CSo7_Art_PCI8622::IDD, pParent)
CSo7_Art_PCI8622::CSo7_Art_PCI8622(CWnd* pParent /*=NULL*/)
: CDialog(CSo7_Art_PCI8622::IDD, pParent)
{
m_MsgCnts=0;
}
CSo7_Art_PCI8622::~CSo7_Art_PCI8622()
@@ -24,33 +26,168 @@ CSo7_Art_PCI8622::~CSo7_Art_PCI8622()
void CSo7_Art_PCI8622::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT_ART_PCI8622_LOG,m_edMSG);
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CSo7_Art_PCI8622, CDialog)
ON_WM_TIMER()
ON_BN_CLICKED(IDC_BUTTON_ART_PCI8622_READ_DATA, &CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622ReadData)
ON_BN_CLICKED(IDC_BUTTON_ART_PCI8622_CLEAR_LOG, &CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622ClearLog)
ON_BN_CLICKED(IDCANCEL, &CSo7_Art_PCI8622::OnBnClickedCancel)
ON_BN_CLICKED(IDC_BUTTON_ART_PCI8622_START, &CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622Start)
ON_BN_CLICKED(IDC_BUTTON_ART_PCI8622_STOP, &CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622Stop)
ON_BN_CLICKED(IDC_BUTTON_ART_PCI8622_SET_MODE, &CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622SetMode)
END_MESSAGE_MAP()
// CSo7_Art_PCI8622 message handlers
//==================================
BOOL CSo7_Art_PCI8622::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_SO7_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
m_pART_PCI8622->Init();
return TRUE; // return TRUE unless you set the focus to a control
}
void CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622SetMode()
{
m_pART_PCI8622->SetCaptureMode(E_ART_PCI8622_CAPTURE_NPT_TRIGCLK);
}
void CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622ReadData()
{
m_pART_PCI8622->GetData();
SetTimer(1,200,NULL);
//GetData(TRUE);
}
void CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622ClearLog()
{
// TODO: Add your control notification handler code here
((CEdit *)GetDlgItem(IDC_EDIT_ART_PCI8622_LOG))->SetWindowTextW(_T(""));
m_MsgCnts=0;
}
void CSo7_Art_PCI8622::OnBnClickedCancel()
{
m_pART_PCI8622->Exit();
CDialog::OnCancel();
}
void CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622Start()
{
m_pART_PCI8622->StartCaptureData();
}
void CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622Stop()
{
KillTimer(1);
m_pART_PCI8622->StopCaptureData();
}
//===================================================
void CSo7_Art_PCI8622::GetData(BOOL _BShow)
{
memset(m_ADDataNumber,0,sizeof(m_ADDataNumber));
m_pART_PCI8622->GetData(m_ADData,m_ADDataNumber);
if (_BShow)
{
m_csMsg=_T("");
CString csTmp(_T(""));
int iDataNumberMax(0);
for (int i=0;i<32;i++)
{
if(m_ADDataNumber[i]>iDataNumberMax)
{
iDataNumberMax=m_ADDataNumber[i];
}
}
for (int i=0;i<iDataNumberMax;i++)
{
csTmp.Format(_T("[%03d] "),++m_MsgCnts);
m_csMsg+=csTmp;
for (int j=0;j<32;j++)
{
if(m_ADDataNumber[j]>i)
{
csTmp.Format(_T("CH%d:%.4f;"),j,m_ADData[j][i]);
m_csMsg+=csTmp;
}
}
OutputWithScroll(m_csMsg,m_edMSG);
m_csMsg=_T("");
}
}
}
//===================================================
void CSo7_Art_PCI8622::OnTimer(UINT_PTR nIDEvent)
{
switch(nIDEvent)
{
case 1:
{
bool bExit(false);
if (bExit)
{
KillTimer(1);
}
GetData();
break;
}
}
CDialog::OnTimer(nIDEvent);
}
//=====================================================================================
//Print message on edit control
void CSo7_Art_PCI8622::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);
}
@@ -16,10 +16,21 @@ public:
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
protected:
CString m_csMsg;
CEdit m_edMSG;
int m_MsgCnts;
void GetData(BOOL _BShow=FALSE);
void OutputWithScroll(const CString &strNewText,CEdit &edtOutput);
public:
afx_msg void OnTimer(UINT_PTR nIDEvent);
afx_msg void OnBnClickedButtonArtPci8622ReadData();
afx_msg void OnBnClickedButtonArtPci8622ClearLog();
afx_msg void OnBnClickedCancel();
afx_msg void OnBnClickedButtonArtPci8622Start();
afx_msg void OnBnClickedButtonArtPci8622Stop();
afx_msg void OnBnClickedButtonArtPci8622SetMode();
};
@@ -973,6 +973,8 @@
#define IDC_EDIT_ART_PCI8622_LOG 1846
#define IDC_EDIT_R1_CURRENT_POSITION 1847
#define IDC_BUTTON_ART_PCI8622_CLEAR_LOG 1847
#define IDC_BUTTON_ART_PCI8622_START2 1848
#define IDC_BUTTON_ART_PCI8622_SET_MODE 1848
#define IDC_BUTTON_DIY_EXIT_BUTTON 32740
#define ID_EDIT_SO7_CONFIG_MOTION 32741