From c7c61c05ff1de6ea140e3472de2c26739dd10c4b Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Fri, 17 Jan 2014 16:45:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84S07=5Fconfig.ini=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=8F=82=E6=95=B0=E7=9A=84=E9=85=8D=E7=BD=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp | 10 +- .../Tools/UsbUtility/Debug/UtilityDebug.Log | 108 +++++++ .../Tools/UsbUtility/Debug/Utility_Config.ini | 60 ++-- .../Hsi/Tools/UsbUtility/Debug/so7_config.ini | 33 +- .../UsbUtility/UsbUtil/EditableListCtrl.cpp | 158 ++++++++++ .../UsbUtility/UsbUtil/EditableListCtrl.h | 37 +++ .../UsbUtility/UsbUtil/ListCtrlItemEdit.cpp | 39 +++ .../UsbUtility/UsbUtil/ListCtrlItemEdit.h | 20 ++ .../Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc | 33 +- .../Tools/UsbUtility/UsbUtil/MyListCtrl.cpp | 25 +- .../Hsi/Tools/UsbUtility/UsbUtil/MyListCtrl.h | 9 +- .../UsbUtility/UsbUtil/SO7_Automatic_Zoom.cpp | 1 - .../UsbUtility/UsbUtil/SO7_Move_Location.cpp | 2 +- .../Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp | 52 +++- .../UsbUtility/UsbUtil/SetSo7MotionConfig.cpp | 292 ++++++++++++++++++ .../UsbUtility/UsbUtil/SetSo7MotionConfig.h | 30 ++ .../UsbUtility/UsbUtil/Setup_so7config.cpp | 33 +- .../UsbUtility/UsbUtil/Setup_so7config.h | 6 +- .../UsbUtility/UsbUtil/So7_Config_Pages.cpp | 82 +++++ .../UsbUtility/UsbUtil/So7_Config_Pages.h | 27 ++ .../UsbUtility/UsbUtil/So7_Motion_Pages.cpp | 2 - .../UsbUtility/UsbUtil/So7_Util_Program.cpp | 6 +- .../Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj | 8 + .../UsbUtil/Usb_Util.vcxproj.filters | 24 ++ .../Hsi/Tools/UsbUtility/UsbUtil/resource.h | 13 +- .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 2355712 -> 2355712 bytes 26 files changed, 1017 insertions(+), 93 deletions(-) create mode 100644 PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/EditableListCtrl.cpp create mode 100644 PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/EditableListCtrl.h create mode 100644 PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ListCtrlItemEdit.cpp create mode 100644 PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ListCtrlItemEdit.h create mode 100644 PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp create mode 100644 PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.h create mode 100644 PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Config_Pages.cpp create mode 100644 PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Config_Pages.h diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp index 274d77e..2a29860 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp @@ -519,6 +519,7 @@ CSO7_Proto::CSO7_Proto() g_machine.s_machine_config.z_axis._MoveToSpeed[1]=0.0; g_machine.s_machine_config.z_axis._MotionSpeedScale=1.0; + g_machine.s_machine_config.zm_axis._ProductID=_T("So7123456"); g_machine.s_machine_config.zm_axis._ComPort=1; g_machine.s_machine_config.zm_axis._StartDegree=0.0; g_machine.s_machine_config.zm_axis._EndDegree=0.0; @@ -2063,9 +2064,6 @@ SSI_STATUS_MOTION CSO7_Proto::Load_SevenOcean_Inifile(CString cso7IniFile) } } - - - } } fclose(hConfigFile); @@ -2148,15 +2146,15 @@ SSI_STATUS_MOTION CSO7_Proto::Save_So7_Config() fprintf(m_pOutFile, "\n"); outBuff="SHIFT_POSITION_X="; fprintf(m_pOutFile,"%s", outBuff); - fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion._ShiftPositionX); + fprintf(m_pOutFile,"%.6f", g_machine.s_machine_config.motion._ShiftPositionX); fprintf(m_pOutFile, "\n"); outBuff="SHIFT_POSITION_Y="; fprintf(m_pOutFile,"%s", outBuff); - fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion._ShiftPositionY); + fprintf(m_pOutFile,"%.6f", g_machine.s_machine_config.motion._ShiftPositionY); fprintf(m_pOutFile, "\n"); outBuff="SHIFT_POSITION_Z="; fprintf(m_pOutFile,"%s", outBuff); - fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion._ShiftPositionZ); + fprintf(m_pOutFile,"%.6f", g_machine.s_machine_config.motion._ShiftPositionZ); fprintf(m_pOutFile, "\n"); outBuff="SDK3000_SLEEP_COUNT="; fprintf(m_pOutFile,"%s", outBuff); 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 1d2b0b1..070a018 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -3108,3 +3108,111 @@ Init:Open device succeed . _start_machine Exit: Exit_SO7Usb Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +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 +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +so7_motion_reset_worktable_lower_left. +[679]waiting for X,Y,Zm to stop moving +Home succeed. +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Unable to open device Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +so7_motion_reset_worktable_lower_left. +[686]waiting for X,Y,Zm to stop moving +Home succeed. +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini index 4089092..70281d9 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini @@ -12,10 +12,10 @@ MOVETOSPEED_SLOW_Z=0.00000000 MOVETOSPEED_SCALE_Z=1.00000000 ; SPEED_BASE_X1=26 -SPEED_MAX_X1=60 +SPEED_MAX_X1=20 SPEED_START_X1=20 -SPEED_FRESH_X1=8 -SPEED_SLOW_X1=3.000 +SPEED_FRESH_X1=7 +SPEED_SLOW_X1=3.600 ; SPEED_BASE_X2=16 SPEED_MAX_X2=10 @@ -25,27 +25,27 @@ SPEED_SLOW_X2=2.000 ; SPEED_BASE_X3=2 SPEED_MAX_X3=0 -SPEED_START_X3=8 -SPEED_FRESH_X3=10 -SPEED_SLOW_X3=0.500 +SPEED_START_X3=0 +SPEED_FRESH_X3=100 +SPEED_SLOW_X3=0.001 ; SPEED_BASE_X4=2 SPEED_MAX_X4=0 SPEED_START_X4=5 -SPEED_FRESH_X4=10 -SPEED_SLOW_X4=0.100 +SPEED_FRESH_X4=100 +SPEED_SLOW_X4=0.001 ; SPEED_BASE_X5=2 SPEED_MAX_X5=0 SPEED_START_X5=50 -SPEED_FRESH_X5=10 -SPEED_SLOW_X5=0.100 +SPEED_FRESH_X5=100 +SPEED_SLOW_X5=0.000 ; -SPEED_BASE_Y1=20 +SPEED_BASE_Y1=22 SPEED_MAX_Y1=10 SPEED_START_Y1=20 SPEED_FRESH_Y1=8 -SPEED_SLOW_Y1=2.000 +SPEED_SLOW_Y1=2.500 ; SPEED_BASE_Y2=16 SPEED_MAX_Y2=10 @@ -55,21 +55,21 @@ SPEED_SLOW_Y2=1.000 ; SPEED_BASE_Y3=2 SPEED_MAX_Y3=0 -SPEED_START_Y3=8 -SPEED_FRESH_Y3=10 -SPEED_SLOW_Y3=0.500 +SPEED_START_Y3=0 +SPEED_FRESH_Y3=100 +SPEED_SLOW_Y3=0.001 ; -SPEED_BASE_Y4=0 +SPEED_BASE_Y4=2 SPEED_MAX_Y4=0 SPEED_START_Y4=10 -SPEED_FRESH_Y4=10 -SPEED_SLOW_Y4=0.100 +SPEED_FRESH_Y4=100 +SPEED_SLOW_Y4=0.001 ; -SPEED_BASE_Y5=1 +SPEED_BASE_Y5=2 SPEED_MAX_Y5=0 SPEED_START_Y5=50 -SPEED_FRESH_Y5=10 -SPEED_SLOW_Y5=0.100 +SPEED_FRESH_Y5=100 +SPEED_SLOW_Y5=0.000 ; SPEED_BASE_Z1=20 SPEED_MAX_Z1=100 @@ -86,23 +86,23 @@ SPEED_SLOW_Z2=1.500 SPEED_BASE_Z3=3 SPEED_MAX_Z3=5 SPEED_START_Z3=5 -SPEED_FRESH_Z3=10 -SPEED_SLOW_Z3=0.100 +SPEED_FRESH_Z3=100 +SPEED_SLOW_Z3=0.001 ; SPEED_BASE_Z4=2 SPEED_MAX_Z4=0 SPEED_START_Z4=18 -SPEED_FRESH_Z4=10 -SPEED_SLOW_Z4=0.100 +SPEED_FRESH_Z4=100 +SPEED_SLOW_Z4=0.001 ; -SPEED_BASE_Z5=5 +SPEED_BASE_Z5=2 SPEED_MAX_Z5=13 SPEED_START_Z5=12 -SPEED_FRESH_Z5=10 -SPEED_SLOW_Z5=0.100 +SPEED_FRESH_Z5=100 +SPEED_SLOW_Z5=0.000 ; -X_MOTOR_PRECISION=0.004 -Y_MOTOR_PRECISION=0.009 +X_MOTOR_PRECISION=0.008 +Y_MOTOR_PRECISION=0.004 Z_MOTOR_PRECISION=0.004 ; X_MOTOR_WHEELBASE=1.500 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini index 8efd0e9..6af55c1 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini @@ -1,18 +1,31 @@ [7OCEANAUTOZOOM] -ZOOM_PRODUCT_ID=So7-123456 +ZOOM_PRODUCT_ID=So7123456 ZOOM_COM_PORT=1 -ZOOM_START_DEG=10.000000 -ZOOM_END_DEG=230.000000 -ZOOM_ORG_DEG=360.000000 -ZOOM_DEADBAND_DEG=0.050000 -ZOOM_PULSE_PER_DEG=78.546050203026880 +ZOOM_START_DEG=0.000000 +ZOOM_END_DEG=0.000000 +ZOOM_ORG_DEG=0.000000 +ZOOM_DEADBAND_DEG=0.100000 +ZOOM_PULSE_PER_DEG=25.134736064968621 ZOOM_READING_INTERVAL_TIME=60 ZOOM_MOTOR_SPEED_FAST=2000 ZOOM_MOTOR_SPEED_SLOW=800 ; [HARDWARE] CLOSE_LOOP_ENABLED=0 -RETRY_TIMES=5 -SHIFT_POSITION_X=0 -SHIFT_POSITION_Y=0 -SHIFT_POSITION_Z=0 +MOTION_RETRY_TIMES=5 +SHIFT_POSITION_X=0.000000 +SHIFT_POSITION_Y=0.000000 +SHIFT_POSITION_Z=0.000000 +SDK3000_SLEEP_COUNT=550000 +GET_USB_MESSAGE_METHOD=1 +WRITE_DATA_SLEEP_TIME=0 +ACCURA_ERROR_PULSE_X=1 +ACCURA_ERROR_PULSE_Y=1 +ACCURA_ERROR_PULSE_Z=1 +EQUIDISTANCE_PULSE_X=0 +EQUIDISTANCE_PULSE_Y=0 +EQUIDISTANCE_PULSE_Z=0 +; +[HSI] +MACHINE_CONTROLLER_TYPE=0 +MACHINE_VIDEOCARD_TYPE=0 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/EditableListCtrl.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/EditableListCtrl.cpp new file mode 100644 index 0000000..a08efa0 --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/EditableListCtrl.cpp @@ -0,0 +1,158 @@ +// EditableListCtrl.cpp : implementation file +// + +#include "stdafx.h" +#include "resource.h" +#include "EditableListCtrl.h" + + +// CEditableListCtrl + +IMPLEMENT_DYNAMIC(CEditableListCtrl, CMFCListCtrl) + + CEditableListCtrl::CEditableListCtrl() +{ + m_nRow=0; + m_nCol=0; + m_bEditing = FALSE; + m_bColor=TRUE; + m_bModifyFont=TRUE; + m_nMinRow=0; + m_nMinCol=0; + m_nMaxRow=0; + m_nMaxCol=0; +} + +CEditableListCtrl::~CEditableListCtrl() +{ +} + + +BEGIN_MESSAGE_MAP(CEditableListCtrl, CMFCListCtrl) + ON_WM_LBUTTONDBLCLK() +END_MESSAGE_MAP() + + + +// CEditableListCtrl message handlers + +//======================================================= +COLORREF CEditableListCtrl::OnGetCellTextColor(int nRow, int nColum) +{ + if (!m_bColor) + { + return CMFCListCtrl::OnGetCellTextColor(nRow, nColum); + } + return(nColum==2) ? RGB(128, 37, 0) : RGB(0, 0, 0); +} +//======================================================= +COLORREF CEditableListCtrl::OnGetCellBkColor(int nRow, int nColum) +{ + if (!m_bColor) + { + return CMFCListCtrl::OnGetCellBkColor(nRow, nColum); + } + if (nRow<=m_nMaxRow) + { + if (m_bMarkSortedColumn && nColum == m_iSortedColumn) + { + return (nRow % 2) == 0 ? RGB(255, 255, 255) : RGB(193, 233, 242); + } + + return (nRow % 2) == 0 ? RGB(255, 255, 255) : RGB(193, 233, 242); + } + else + { + return CMFCListCtrl::OnGetCellBkColor(nRow, nColum); + } +} +//======================================================= +HFONT CEditableListCtrl::OnGetCellFont(int nRow, int nColum, DWORD /*dwData* = 0*/) +{ + UNREFERENCED_PARAMETER(nRow); + UNREFERENCED_PARAMETER(nColum); + if (!m_bModifyFont) + { + return NULL; + } + return NULL; +} + +void CEditableListCtrl::OnLButtonDblClk(UINT nFlags, CPoint point) +{ + // 检查是否有Item正被编辑 + if( m_bEditing == FALSE) + { + POSITION pos; + // 检查是否有Item被选中,没有时不进入编辑 + pos = GetFirstSelectedItemPosition(); + if( pos ) + { + // 得到被点击的Item + LVHITTESTINFO testinfo; + testinfo.pt.x = point.x; + testinfo.pt.y = point.y; //点击时的鼠标位置 + testinfo.flags = LVHT_ONITEMLABEL; //点击的必须是标题 + if( SubItemHitTest(&testinfo)>=0 ) //没有点在有效区域,不进入编辑 + { + m_nRow = testinfo.iItem; //被点击表项的行号 + m_nCol = testinfo.iSubItem; //被点击表项的列号 + if ((m_nMinRow<=m_nRow && m_nRow<=m_nMaxRow) + && (m_nMinCol<=m_nCol && m_nCol<=m_nMaxCol)) + { + m_bEditing = BeginEditItem(); + return; + } + } + } + } + CMFCListCtrl::OnLButtonDblClk(nFlags, point); +} +//=============================================================== +BOOL CEditableListCtrl::BeginEditItem() +{ + // 得到被编辑表项的区域 + CRect rect; + if( GetSubItemRect(m_nRow, m_nCol, LVIR_LABEL, rect)==FALSE ) + return FALSE; + + // 创建编辑控件 + int style = WS_CHILD | WS_CLIPSIBLINGS | WS_EX_TOOLWINDOW | WS_BORDER; + if( m_ListCtrlEdit.Create(style, rect, this, ID_EDIT_SO7_CONFIG_MOTION)==FALSE ) + return FALSE; + + // 取被编辑表项的文字 + CString csItemTxt = GetItemText( m_nRow, m_nCol ); + + // 取出的文字填写到编辑控件 + m_ListCtrlEdit.SetWindowText(csItemTxt); + m_ListCtrlEdit.SetFocus(); + m_ListCtrlEdit.SetSel(0, -1); + m_ListCtrlEdit.ShowWindow( SW_SHOW ); + return TRUE; + +} +//=============================================================== +BOOL CEditableListCtrl::EndEditItem(BOOL bIsValid) +{ + // 编辑结果是有效的,重设被编辑表项的文字 + if( bIsValid ) + { + CString csItemTxt; + m_ListCtrlEdit.GetWindowText(csItemTxt); + SetItemText(m_nRow, m_nCol, csItemTxt); + } + // 销毁编辑窗口 + m_ListCtrlEdit.DestroyWindow(); + m_bEditing = FALSE; + return TRUE; +} +//=============================================================== +BOOL CEditableListCtrl::SetMaxItemIndex(int _iMinRow,int _iMaxRow,int _iMinCol,int _iMaxCol) +{ + m_nMinRow=_iMinRow; + m_nMinCol=_iMinCol; + m_nMaxRow=_iMaxRow; + m_nMaxCol=_iMaxCol; + return TRUE; +} \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/EditableListCtrl.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/EditableListCtrl.h new file mode 100644 index 0000000..99db28c --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/EditableListCtrl.h @@ -0,0 +1,37 @@ +#pragma once +#include "ListCtrlItemEdit.h" + +// CEditableListCtrl + +class CEditableListCtrl : public CMFCListCtrl +{ + DECLARE_DYNAMIC(CEditableListCtrl) + +public: + CEditableListCtrl(); + virtual ~CEditableListCtrl(); + virtual COLORREF OnGetCellTextColor(int nRow, int nColum); + virtual COLORREF OnGetCellBkColor(int nRow, int nColum); + virtual HFONT OnGetCellFont(int nRow, int nColum, DWORD dwData = 0); +protected: + CListCtrlItemEdit m_ListCtrlEdit; + int m_nRow; //行号 + int m_nCol; //列号 + int m_nMinRow; + int m_nMinCol; + int m_nMaxRow; + int m_nMaxCol; + BOOL m_bEditing; + BOOL m_bColor; + BOOL m_bModifyFont; + + DECLARE_MESSAGE_MAP() +public: + BOOL BeginEditItem(); + BOOL EndEditItem(BOOL bIsValid=TRUE); + BOOL SetMaxItemIndex(int _iMinRow,int _iMaxRow,int _iMinCol,int _iMaxCol); + + afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point); +}; + + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ListCtrlItemEdit.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ListCtrlItemEdit.cpp new file mode 100644 index 0000000..db8fce7 --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ListCtrlItemEdit.cpp @@ -0,0 +1,39 @@ +// ListCtrlItemEdit.cpp : implementation file +// + +#include "stdafx.h" +#include "EditableListCtrl.h" +#include "ListCtrlItemEdit.h" + + +// CListCtrlItemEdit + +IMPLEMENT_DYNAMIC(CListCtrlItemEdit, CEdit) + +CListCtrlItemEdit::CListCtrlItemEdit() +{ + +} + +CListCtrlItemEdit::~CListCtrlItemEdit() +{ +} + + +BEGIN_MESSAGE_MAP(CListCtrlItemEdit, CEdit) + ON_WM_KILLFOCUS() +END_MESSAGE_MAP() + + + +// CListCtrlItemEdit message handlers + + +void CListCtrlItemEdit::OnKillFocus(CWnd* pNewWnd) +{ + CEdit::OnKillFocus(pNewWnd); + m_bValidInput=TRUE; + CEditableListCtrl *parent = (CEditableListCtrl *)GetParent(); + if( parent ) + parent->EndEditItem(m_bValidInput); +} diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ListCtrlItemEdit.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ListCtrlItemEdit.h new file mode 100644 index 0000000..5083fe4 --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ListCtrlItemEdit.h @@ -0,0 +1,20 @@ +#pragma once + + +// CListCtrlItemEdit + +class CListCtrlItemEdit : public CEdit +{ + DECLARE_DYNAMIC(CListCtrlItemEdit) + +public: + CListCtrlItemEdit(); + virtual ~CListCtrlItemEdit(); +protected: + DECLARE_MESSAGE_MAP() +public: + BOOL m_bValidInput; + afx_msg void OnKillFocus(CWnd* pNewWnd); +}; + + 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 c0bdc5b..17ab4f9 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 @@ -432,7 +432,7 @@ END IDD_SO7_UTIL_SETUP_CONFIGURE DIALOGEX 0, 0, 476, 451 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "设置so7_configure.ini" +CAPTION "自动变倍参数" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN EDITTEXT IDC_EDIT_SO7CONFIG_ZOOMID,136,44,108,14,ES_AUTOHSCROLL @@ -450,7 +450,7 @@ BEGIN PUSHBUTTON "下一步",IDC_BUTTON_SO7CONFIG_ZOOM_POSLIMIT,303,232,36,19 LTEXT "°",IDC_STATIC,227,274,8,8 PUSHBUTTON "完成",IDC_BUTTON_SO7CONFIG_ZOOM_PRECISION,303,272,36,19 - PUSHBUTTON "Exit",IDCANCEL,419,430,50,14 + PUSHBUTTON "Exit",IDCANCEL,419,430,50,14,NOT WS_VISIBLE GROUPBOX "Step2",IDC_STATIC,55,68,297,36 GROUPBOX "Step5",IDC_STATIC,55,185,297,36 GROUPBOX "Step6",IDC_STATIC,55,223,297,36 @@ -458,7 +458,7 @@ BEGIN LTEXT "移至变倍最小处",IDC_STATIC,134,203,56,12 LTEXT "移至变倍最大处",IDC_STATIC,134,238,58,12 GROUPBOX "变倍镜头参数设置",IDC_STATIC,27,19,432,290 - EDITTEXT IDC_EDIT_CONFIGURE_MSGOUT,28,317,431,75,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL + EDITTEXT IDC_EDIT_CONFIGURE_MSGOUT,28,317,432,97,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL GROUPBOX "Step1",IDC_STATIC,55,30,297,36 GROUPBOX "Step4",IDC_STATIC,55,147,297,36 LTEXT "产品编号:",IDC_STATIC,78,46,41,8 @@ -836,6 +836,17 @@ BEGIN EDITTEXT IDC_EDIT_MOVETO_DEGA,184,33,40,14,ES_AUTOHSCROLL END +IDD_SO7_UTIL_SETUP_SO7_CONFIG_MOTION DIALOGEX 0, 0, 476, 451 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "控制器参数" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + CONTROL "",IDC_LIST_SO7_MOTION_CONFIG,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,7,7,462,299 + PUSHBUTTON "Cancel",IDC_BUTTON_SO7_MOTION_CONFIG_CANCEL,364,425,50,19,NOT WS_VISIBLE + PUSHBUTTON "保存",IDC_BUTTON_SO7_MOTION_CONFIG_OK,419,425,50,19 + EDITTEXT IDC_EDIT_SO7_MOTION_CONFIG_MSGOUT,7,317,462,96,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL +END + ///////////////////////////////////////////////////////////////////////////// // @@ -967,6 +978,14 @@ BEGIN TOPMARGIN, 7 BOTTOMMARGIN, 277 END + + IDD_SO7_UTIL_SETUP_SO7_CONFIG_MOTION, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 469 + TOPMARGIN, 7 + BOTTOMMARGIN, 444 + END END #endif // APSTUDIO_INVOKED @@ -2288,8 +2307,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 6,3,0,0 - PRODUCTVERSION 6,3,0,0 + FILEVERSION 6,5,0,0 + PRODUCTVERSION 6,5,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -2306,12 +2325,12 @@ BEGIN BEGIN VALUE "CompanyName", "Hexagon Metrology" VALUE "FileDescription", "Utility for Hexagon Metrology" - VALUE "FileVersion", "6.3.0.0" + VALUE "FileVersion", "6.5.0.0" VALUE "InternalName", "Usb_Util.exe" VALUE "LegalCopyright", "Copyright 2013 Hexagon Metrology." VALUE "OriginalFilename", "Usb_Util.exe" VALUE "ProductName", "Utility" - VALUE "ProductVersion", "6.3.0.0" + VALUE "ProductVersion", "6.5.0.0" END END BLOCK "VarFileInfo" diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/MyListCtrl.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/MyListCtrl.cpp index adb2267..e5e5148 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/MyListCtrl.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/MyListCtrl.cpp @@ -1,6 +1,29 @@ #include "stdafx.h" - +#include "resource.h" #include "MyListCtrl.h" + + +// CEditableListCtrl + +IMPLEMENT_DYNAMIC(CMyListCtrl, CMFCListCtrl) + + CMyListCtrl::CMyListCtrl() +{ + m_bColor=TRUE; + m_bModifyFont=TRUE; +} + +CMyListCtrl::~CMyListCtrl() +{ +} + + +BEGIN_MESSAGE_MAP(CMyListCtrl, CMFCListCtrl) +END_MESSAGE_MAP() + + + +// CEditableListCtrl message handlers //======================================================= COLORREF CMyListCtrl::OnGetCellTextColor(int nRow, int nColum) { diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/MyListCtrl.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/MyListCtrl.h index 37a514c..d30605d 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/MyListCtrl.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/MyListCtrl.h @@ -2,13 +2,16 @@ class CMyListCtrl : public CMFCListCtrl { + DECLARE_DYNAMIC(CMyListCtrl) +public: + CMyListCtrl(); + virtual ~CMyListCtrl(); virtual COLORREF OnGetCellTextColor(int nRow, int nColum); virtual COLORREF OnGetCellBkColor(int nRow, int nColum); virtual HFONT OnGetCellFont(int nRow, int nColum, DWORD dwData = 0); - virtual int OnCompareItems(LPARAM lParam1, LPARAM lParam2, int iColumn); - -public: +protected: + DECLARE_MESSAGE_MAP() BOOL m_bColor; BOOL m_bModifyFont; }; \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Automatic_Zoom.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Automatic_Zoom.cpp index dadbf2b..dc9a251 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Automatic_Zoom.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Automatic_Zoom.cpp @@ -191,7 +191,6 @@ BOOL CSO7_Automatic_Zoom::OnInitDialog() GetDlgItem(IDC_BUTTON_SAVELOG)->EnableWindow(true); GetDlgItem(IDC_EDIT_ZOOM_REPE_TIME)->EnableWindow(true); GetDlgItem(IDC_BUTTON_REPETEST_BEGIN)->EnableWindow(true); - m_pSO7_Proto->Load_So7_Config(); GetDlgItem(IDC_EDIT_TESTZOOM_PRODUCTID)->SetWindowText(m_pSO7_Proto->g_machine.s_machine_config.zm_axis._ProductID); ((CButton *)GetDlgItem(IDC_CHECK_ZOOM_DEADBAND))->SetCheck(TRUE); double dGrade=(m_pSO7_Proto->g_machine.s_machine_config.zm_axis._StartDegree-m_pSO7_Proto->g_machine.s_machine_config.zm_axis._EndDegree)/11; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp index e714635..31ce131 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp @@ -80,10 +80,10 @@ BEGIN_MESSAGE_MAP(CSO7_Move_Location, CMFCPropertyPage) ON_BN_CLICKED(IDC_CHECK_SO7_MOVETO_FPGADATA, &CSO7_Move_Location::OnBnClickedCheckSo7MovetoFpgadata) END_MESSAGE_MAP() - // CSO7_Move_Location 消息处理程序 BOOL CSO7_Move_Location::OnInitDialog() { + CMFCPropertyPage::OnInitDialog(); //VOLCOMP if(g_pVolComp->m_bEnVolComp) ((CButton *)GetDlgItem(IDC_CHECK_REPETEST_VOLCOMP))->EnableWindow(TRUE); 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 11aca73..a6b932c 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 @@ -16,6 +16,10 @@ #include "MyMFCButton.h" #include "So7_Util_Program.h" #include "So7_Motion_Pages.h" +#include "ListCtrlItemEdit.h" +#include "EditableListCtrl.h" +#include "SetSo7MotionConfig.h" +#include "So7_Config_Pages.h" #include "SO7_UtilDlg.h" // CSO7_UtilDlg 对话框 @@ -348,6 +352,7 @@ void CSO7_UtilDlg::OnBnClickedButtonInitSo7usb() } else { + SetWindowText(_T("SevenOcean Utility")); g_pLoggerDebug->SendAndFlushPerMode(_T("Usb Port Initialized.\r\n")); m_OutMessage = _T("Usb Port Initialized.\r\nMachine Started."); OutputWithScroll(m_OutMessage,m_edMSG); @@ -851,12 +856,14 @@ void CSO7_UtilDlg::OnBnClickedButtonMotionParameter() void CSO7_UtilDlg::OnBnClickedButtonSetupSo7config() { KillTimer(1); + m_pSO7_Proto->Load_So7_Config(); if (!m_pSO7_AutoZoom) - m_pSO7_AutoZoom = new CAutoZoom(); + m_pSO7_AutoZoom = new CAutoZoom(); - CSetup_so7config* pSetup_so7config=new CSetup_so7config; - pSetup_so7config->DoModal(); - delete pSetup_so7config; + CSo7_Config_Pages* pSo7_Config_Pages=new CSo7_Config_Pages(_T("so7_config.ini"), this); + pSo7_Config_Pages->DoModal(); + delete pSo7_Config_Pages; + pSo7_Config_Pages=nullptr; if (m_pSO7_AutoZoom) { @@ -1000,7 +1007,7 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7Readdatafromfpga() char cAddr(0); cAddr=static_cast(((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->GetCurSel()); m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(cAxis,cAddr); - m_OutMessage.Format(_T("[Read]Data=%d ."),m_pSO7_Proto->g_machine.FPGAData); + m_OutMessage.Format(_T("[Read]Data=%d ."),(BYTE)m_pSO7_Proto->g_machine.FPGAData); OutputWithScroll(m_OutMessage,m_edMSG); } //================================================================================================ @@ -1035,7 +1042,7 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7ReadInPortStatus() m_BeginReadIO=FALSE; ((CButton*)GetDlgItem(IDC_BUTTON_SO7_READ_IN_PORT_STATUS))->SetWindowTextW(_T("Read IO Status")); UpdateIOStatus(); - m_OutMessage.Format(_T("[Addr %d]:Data=%d"),m_ReadIOStatusAddr,m_pSO7_Proto->g_machine.InPortStatus); + m_OutMessage.Format(_T("[Addr %d]:Data=%d"),m_ReadIOStatusAddr,(BYTE)m_pSO7_Proto->g_machine.InPortStatus); OutputWithScroll(m_OutMessage,m_edMSG); } @@ -1224,10 +1231,35 @@ void CSO7_UtilDlg::OutputWithScroll(const CString &strNewText,CEdit &edtOutput) void CSO7_UtilDlg::OnBnClickedButtonSo7CncProgram() { KillTimer(1); - CSo7_Util_Program* pSo7_Util_Program=new CSo7_Util_Program; - pSo7_Util_Program->DoModal(); - delete pSo7_Util_Program; - pSo7_Util_Program=NULL; + BOOL bCancel(FALSE); + if (!m_pSO7_Proto->so7_motion_is_homed()) + { + INT rStatus=AfxMessageBox(_T("Homing now?!"),MB_YESNOCANCEL|MB_ICONQUESTION); + if (rStatus==IDCANCEL) + { + bCancel=TRUE; + } + else if (rStatus==IDNO) + { + bCancel=FALSE; + } + else + { + m_OutMessage=_T("Homing......"); + OutputWithScroll(m_OutMessage,m_edMSG); + m_pSO7_Proto->so7_motion_Dcc_Home(); + bCancel=FALSE; + m_OutMessage=_T("Homed."); + OutputWithScroll(m_OutMessage,m_edMSG); + } + } + if (!bCancel) + { + CSo7_Util_Program* pSo7_Util_Program=new CSo7_Util_Program; + pSo7_Util_Program->DoModal(); + delete pSo7_Util_Program; + pSo7_Util_Program=NULL; + } SetTimer(1,150,NULL); } diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp new file mode 100644 index 0000000..a8fecda --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp @@ -0,0 +1,292 @@ +// SetSo7MotionConfig.cpp : implementation file +// + +#include "stdafx.h" +#include "resource.h" +#include "..\..\..\SevenOcean\SO7_Proto.h" +#include "ListCtrlItemEdit.h" +#include "EditableListCtrl.h" +#include "SetSo7MotionConfig.h" +#include "afxdialogex.h" +extern CSO7_Proto* m_pSO7_Proto; + +// CSetSo7MotionConfig dialog + +IMPLEMENT_DYNAMIC(CSetSo7MotionConfig, CMFCPropertyPage) + +CSetSo7MotionConfig::CSetSo7MotionConfig():CMFCPropertyPage(CSetSo7MotionConfig::IDD) +{ + +} + +CSetSo7MotionConfig::~CSetSo7MotionConfig() +{ +} + +void CSetSo7MotionConfig::DoDataExchange(CDataExchange* pDX) +{ + CMFCPropertyPage::DoDataExchange(pDX); + DDX_Control(pDX, IDC_LIST_SO7_MOTION_CONFIG, m_ConfigList); + DDX_Control(pDX, IDC_EDIT_SO7_MOTION_CONFIG_MSGOUT, m_edit_MsgOut); + +} + + +BEGIN_MESSAGE_MAP(CSetSo7MotionConfig, CMFCPropertyPage) + ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_CONFIG_OK, &CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigOk) + ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_CONFIG_CANCEL, &CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigCancel) +END_MESSAGE_MAP() + + +// CSetSo7MotionConfig message handlers +BOOL CSetSo7MotionConfig::OnInitDialog() +{ + CMFCPropertyPage::OnInitDialog(); + + RECT m_rect; + m_ConfigList.GetClientRect(&m_rect); //获取list的客户区 + m_ConfigList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); //设置list风格 + + m_ConfigList.InsertColumn(0,_T("编号"),LVCFMT_LEFT, m_rect.right/10); + m_ConfigList.InsertColumn(1,_T("参数名"),LVCFMT_LEFT, m_rect.right*3/10); + m_ConfigList.InsertColumn(2,_T("值"),LVCFMT_LEFT, m_rect.right*2/10); + m_ConfigList.InsertColumn(3,_T("描述"),LVCFMT_LEFT, m_rect.right*4/10); + + for (int i = 1; i < 100; i++) + { + CString str; + str.Format(_T("%d"), i); + m_ConfigList.InsertItem(i, str); + } + UpdateLabelName(); + UpdateDataValue(); + m_ConfigList.SetMaxItemIndex(0,13,2,2); + return TRUE; +} + +void CSetSo7MotionConfig::UpdateLabelName() +{ + int iRow=0; + int iCol=1; + CString cStr(""); + cStr="CLOSE_LOOP_ENABLED"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="MOTION_RETRY_TIMES"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:5"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="SHIFT_POSITION_X"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="SHIFT_POSITION_Y"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="SHIFT_POSITION_Z"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="SDK3000_SLEEP_COUNT"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:550000"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="GET_USB_MESSAGE_METHOD"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:1"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="WRITE_DATA_SLEEP_TIME"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="ACCURA_ERROR_PULSE_X"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:1"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="ACCURA_ERROR_PULSE_Y"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:1"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="ACCURA_ERROR_PULSE_Z"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:1"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="EQUIDISTANCE_PULSE_X"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="EQUIDISTANCE_PULSE_Y"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="EQUIDISTANCE_PULSE_Z"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; +} +void CSetSo7MotionConfig::UpdateDataValue() +{ + int iRow=0; + int iCol=2; + CString cStr(""); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion._EnCloseLoop); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion._RetryTimes); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.3f"),m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionX); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.3f"),m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionY); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.3f"),m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionZ); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_CntThreadSleepVal); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.GetInterruptMsgMethod); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_WriteDataSleepTime); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseX); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseY); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseZ); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_X); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Y); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Z); + m_ConfigList.SetItemText(iRow++,iCol,cStr); +} +void CSetSo7MotionConfig::SaveDataValue() +{ + UpdateData(TRUE); + USES_CONVERSION; + const char* cTemp; + CString cStr(""); + int iRow=0; + int iCol=2; + + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion._EnCloseLoop=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion._RetryTimes=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionX=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionY=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionZ=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_CntThreadSleepVal=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.GetInterruptMsgMethod=static_cast(atoi(cTemp)); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_WriteDataSleepTime=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseX=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseY=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseZ=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_X=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Y=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Z=atoi(cTemp); + iRow++; + +} +void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigOk() +{ + SaveDataValue(); + CString m_csMsg=_T(""); + m_pSO7_Proto->Save_So7_Config(); + m_pSO7_Proto->GetAppPath(m_csMsg); + m_csMsg=_T("配置文件保存在:")+m_csMsg+_T("\\so7_config.ini。"); + OutputWithScroll(m_csMsg,m_edit_MsgOut); +} + + +void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigCancel() +{ + UpdateDataValue(); +} +//===================================================================================== +//Print message on edit control +void CSetSo7MotionConfig::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); +} \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.h new file mode 100644 index 0000000..06b96d0 --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.h @@ -0,0 +1,30 @@ +#pragma once + +// CSetSo7MotionConfig dialog + +class CSetSo7MotionConfig : public CMFCPropertyPage +{ + DECLARE_DYNAMIC(CSetSo7MotionConfig) + +public: + CSetSo7MotionConfig(); // standard constructor + virtual ~CSetSo7MotionConfig(); + +// Dialog Data + enum { IDD = IDD_SO7_UTIL_SETUP_SO7_CONFIG_MOTION }; + +protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + virtual BOOL OnInitDialog(); + DECLARE_MESSAGE_MAP() + + void UpdateLabelName(); + void UpdateDataValue(); + void SaveDataValue(); + void OutputWithScroll(const CString &strNewText,CEdit &edtOutput); +public: + CEditableListCtrl m_ConfigList; + CEdit m_edit_MsgOut; + afx_msg void OnBnClickedButtonSo7MotionConfigOk(); + afx_msg void OnBnClickedButtonSo7MotionConfigCancel(); +}; 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 3f97fd8..442a247 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 @@ -15,10 +15,9 @@ extern CSO7_Proto* m_pSO7_Proto; #define PI 3.1415926535897932384626433 // CSetup_so7config dialog -IMPLEMENT_DYNAMIC(CSetup_so7config, CDialog) +IMPLEMENT_DYNAMIC(CSetup_so7config, CMFCPropertyPage) - CSetup_so7config::CSetup_so7config(CWnd* pParent /*=NULL*/) - : CDialog(CSetup_so7config::IDD, pParent) + CSetup_so7config::CSetup_so7config():CMFCPropertyPage(CSetup_so7config::IDD) { } @@ -29,7 +28,7 @@ CSetup_so7config::~CSetup_so7config() void CSetup_so7config::DoDataExchange(CDataExchange* pDX) { - CDialog::DoDataExchange(pDX); + CMFCPropertyPage::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT_SO7CONFIG_ZOOMID, m_csZoomID); DDX_Text(pDX, IDC_EDIT_SO7CONFIG_MOTOR_SUBDIVISION, m_csMotorSubdivision); @@ -44,7 +43,7 @@ void CSetup_so7config::DoDataExchange(CDataExchange* pDX) } -BEGIN_MESSAGE_MAP(CSetup_so7config, CDialog) +BEGIN_MESSAGE_MAP(CSetup_so7config, CMFCPropertyPage) ON_WM_TIMER() ON_BN_CLICKED(IDC_BTN_CONFIGURE_CALIBRATEV, &CSetup_so7config::OnBnClickedBtnConfigureCalibratev) ON_BN_CLICKED(IDC_BUTTON_SO7CONFIG_STEP1, &CSetup_so7config::OnBnClickedButtonSo7configStep1) @@ -66,7 +65,7 @@ END_MESSAGE_MAP() //=================================================== BOOL CSetup_so7config::OnInitDialog() { - CDialog::OnInitDialog(); + CMFCPropertyPage::OnInitDialog(); // Add "About..." menu item to system menu. @@ -109,8 +108,7 @@ BOOL CSetup_so7config::OnInitDialog() AfxMessageBox(_T("串口被占用!")); } } - SetTimer(1,200,NULL); - m_csZoomID=_T("So7123456"); + m_csZoomID=m_pSO7_Proto->g_machine.s_machine_config.zm_axis._ProductID; m_csMotorSubdivision=_T("3200"); m_csZoomFastSpeed=_T("2000"); m_csZoomSlowSpeed=_T("800"); @@ -119,6 +117,18 @@ BOOL CSetup_so7config::OnInitDialog() return TRUE; // return TRUE unless you set the focus to a control } //=============================================== +BOOL CSetup_so7config::OnSetActive() +{ + SetTimer(1,200,NULL); + return CMFCPropertyPage::OnSetActive(); +} +//=============================================== +BOOL CSetup_so7config::OnKillActive() +{ + KillTimer(1); + return CMFCPropertyPage::OnKillActive(); +} +//=============================================== void CSetup_so7config::OnBnClickedBtnConfigureCalibratev() { GetDlgItem(IDC_BTN_CONFIGURE_CALIBRATEV)->EnableWindow(false); @@ -371,7 +381,7 @@ void CSetup_so7config::OnTimer(UINT_PTR nIDEvent) break; } - CDialog::OnTimer(nIDEvent); + CMFCPropertyPage::OnTimer(nIDEvent); } @@ -444,7 +454,7 @@ void CSetup_so7config::OutputWithScroll(const CString &strNewText,CEdit &edtOutp void CSetup_so7config::OnBnClickedCancel() { KillTimer(1); - CDialog::OnCancel(); + CMFCPropertyPage::OnCancel(); } //=============================================== double CSetup_so7config::ReadZoomAngle() @@ -461,6 +471,3 @@ BOOL CSetup_so7config::CalibrateEncoder() { return m_pSO7_AutoZoom->CalibrateEncoder(); } - - - diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Setup_so7config.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Setup_so7config.h index d6a549f..d86233a 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Setup_so7config.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Setup_so7config.h @@ -3,12 +3,12 @@ // CSetup_so7config dialog -class CSetup_so7config : public CDialog +class CSetup_so7config : public CMFCPropertyPage { DECLARE_DYNAMIC(CSetup_so7config) public: - CSetup_so7config(CWnd* pParent = NULL); // standard constructor + CSetup_so7config(); virtual ~CSetup_so7config(); // Dialog Data @@ -47,4 +47,6 @@ public: afx_msg void OnEnKillfocusEditSo7configZoomSlowspeed(); afx_msg void OnBnClickedCancel(); afx_msg void OnBnClickedButtonSo7configSetSubdivision(); + virtual BOOL OnSetActive(); + virtual BOOL OnKillActive(); }; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Config_Pages.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Config_Pages.cpp new file mode 100644 index 0000000..8db68d5 --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Config_Pages.cpp @@ -0,0 +1,82 @@ +#include "stdafx.h" +#include "afxpropertysheet.h" +#include "resource.h" +#include "ListCtrlItemEdit.h" +#include "EditableListCtrl.h" +#include "SetSo7MotionConfig.h" +#include "ProcessButton.h" +#include "..\..\..\SevenOcean\SO7_Proto.h" +#include "..\..\..\SevenOcean\CAutoZoom.h" +#include "Setup_so7config.h" +#include "So7_Config_Pages.h" + + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif +///////////////////////////////////////////////////////////////////////////// +// CSo7_Config_Pages + +IMPLEMENT_DYNAMIC(CSo7_Config_Pages, CMFCPropertySheet) + +CSo7_Config_Pages::CSo7_Config_Pages(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage) +:CMFCPropertySheet(pszCaption, pParentWnd, iSelectPage) +{ + m_psh.dwFlags |=PSH_NOAPPLYNOW; + m_psh.dwFlags &=~PSH_HASHELP; + SetLook(CMFCPropertySheet::PropSheetLook_Tabs); + AddPage(&m_PageAutoZoomConfig); + AddPage(&m_PageMotionConfig); + m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); +} + +CSo7_Config_Pages::~CSo7_Config_Pages() +{ +} + +BEGIN_MESSAGE_MAP(CSo7_Config_Pages, CMFCPropertySheet) + ON_BN_CLICKED(IDOK, &CSo7_Config_Pages::OnSave) + ON_BN_CLICKED(IDC_BUTTON_DIY_EXIT_BUTTON, &CSo7_Config_Pages::OnCancel) +END_MESSAGE_MAP() + +//================================================================ +BOOL CSo7_Config_Pages::OnInitDialog() +{ + BOOL bResult = CMFCPropertySheet::OnInitDialog(); + SetIcon(m_hIcon, TRUE); // Set big icon + SetIcon(m_hIcon, FALSE); // Set small icon + + CRect BtnRect, TabCtrlRect; + int BtnWidth(0); + GetDlgItem(IDOK)->GetWindowRect(BtnRect); + GetTabControl()->GetWindowRect(TabCtrlRect); + ScreenToClient(BtnRect); + ScreenToClient(TabCtrlRect); + BtnWidth = BtnRect.Width(); + BtnRect.left = TabCtrlRect.right - BtnWidth; + BtnRect.right = TabCtrlRect.right; + m_ExitButton.Create(_T("Exit"),BS_PUSHBUTTON|WS_CHILD|WS_TABSTOP, BtnRect, this, IDC_BUTTON_DIY_EXIT_BUTTON);//WS_VISIBLE + m_ExitButton.SetFont(GetFont()); + + GetDlgItem(IDOK)->ShowWindow(SW_HIDE); + GetDlgItem(IDHELP)->ShowWindow(SW_HIDE); + GetDlgItem(ID_APPLY_NOW)->ShowWindow(SW_HIDE); + //GetDlgItem(IDCANCEL)->ShowWindow(SW_HIDE); + ((CButton*)GetDlgItem(IDCANCEL))->SetWindowTextW(_T("Exit")); + + return bResult; +} +//================================================================ +void CSo7_Config_Pages::OnCancel() +{ + CMFCPropertySheet::OnClose(); + //Default(); +} + +//================================================================ +void CSo7_Config_Pages::OnSave() +{ + Default(); +} \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Config_Pages.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Config_Pages.h new file mode 100644 index 0000000..16b854c --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Config_Pages.h @@ -0,0 +1,27 @@ +#pragma once +///////////////////////////////////////////////////////////////////////////// +// CSo7_Config_Pages +class CSo7_Config_Pages : public CMFCPropertySheet +{ + DECLARE_DYNAMIC(CSo7_Config_Pages) + +// Construction +public: + CSo7_Config_Pages(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0); + +// Attributes +public: + CSetup_so7config m_PageAutoZoomConfig; + CSetSo7MotionConfig m_PageMotionConfig; + HICON m_hIcon; + CButton m_ExitButton; + afx_msg void OnCancel(); + afx_msg void OnSave(); +// Implementation +public: + virtual ~CSo7_Config_Pages(); +protected: + DECLARE_MESSAGE_MAP() + virtual BOOL OnInitDialog(); +}; + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Motion_Pages.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Motion_Pages.cpp index bc0db6b..6d58eb1 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Motion_Pages.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Motion_Pages.cpp @@ -8,10 +8,8 @@ #include "ProcessButton.h" #include "SO7_UtilDlg.h" #include "SO7_Send_Parameter.h" - #include "SO7_VolComp.h" #include "SO7_Move_Location.h" - #include "So7_Motion_Pages.h" #ifdef _DEBUG diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_Program.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_Program.cpp index cffe198..ad1a537 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_Program.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_Program.cpp @@ -100,11 +100,7 @@ BOOL CSo7_Util_Program::OnInitDialog() { CDialog::OnInitDialog(); - if (!m_pSO7_Proto->so7_motion_is_homed()) - { - AfxMessageBox(_T("Homing now!")); - m_pSO7_Proto->so7_motion_Dcc_Home(); - } + { m_Thread_State = THREAD_RUNNING_STATE; m_hTriggerEvent = CreateEvent(NULL,FALSE,NULL,NULL); 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 363c41b..654dbac 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 @@ -327,10 +327,12 @@ + + @@ -343,8 +345,10 @@ + + @@ -402,10 +406,12 @@ + + @@ -419,8 +425,10 @@ + + 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 ce5d84a..50328ad 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 @@ -178,6 +178,18 @@ Sources Files + + Sources Files + + + Sources Files + + + Sources Files + + + Sources Files + @@ -390,6 +402,18 @@ Header Files + + Header Files + + + 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 c2df142..731198e 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -640,6 +640,7 @@ #define IDC_BUTTON2 1542 #define IDC_BUTTON_SO7_READDATAFROMFPGA 1542 #define IDC_BUTTON_TESA_STAR_STOP_MACHINE 1542 +#define IDC_BUTTON_SO7_MOTION_CONFIG_OK 1542 #define IDC_BUTTON_STOP_SAMPLE_SCURVE 1543 #define IDC_BTN_CONFIGURE_MOVEVOUT 1544 #define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER 1545 @@ -818,6 +819,7 @@ #define IDC_BUTTON_READ_PROGRAM 1717 #define IDD_SO7_VIDEOCARD_TC4000 1718 #define IDD_DIALOG_TEST_KEYENCE_LK_H 1719 +#define IDD_SO7_UTIL_SETUP_SO7_CONFIG_MOTION 1720 #define IDC_RADIO_SPEED_SLOW 1770 #define IDC_RADIO_SCALE 1772 #define IDC_EDIT_SPEED_X 1773 @@ -846,6 +848,7 @@ #define IDC_BUTTON_SO7_SENDDATATOFPGA 1794 #define IDC_BUTTON_TESA_STAR_START_MACHINE 1794 #define IDC_BUTTON_SO7_MOVETO_CLEAR_ALL_LOG 1794 +#define IDC_BUTTON_SO7_MOTION_CONFIG_CANCEL 1794 #define IDC_COMBO_RWDATA_ADDR 1795 #define IDC_EDIT_MOTION_SPEEDY 1796 #define IDC_COMBO_OUTPORT_NUMBER 1796 @@ -876,8 +879,14 @@ #define IDC_STATIC_SPEED_PARA1 1816 #define IDC_STATIC_SPEED_PARA3 1817 #define IDC_STATIC_SPEED_PARA4 1818 +#define IDC_CHECK3 1819 #define IDC_CHECK_SO7_MOTION_AUTO_SET_ZERO 1819 -#define IDC_BUTTON_DIY_EXIT_BUTTON 1820 +#define IDC_LIST_SO7_MOTION_CONFIG 1820 +#define IDC_EDIT_SO7_MOTION_CONFIG_MSGOUT 1821 + +#define IDC_BUTTON_DIY_EXIT_BUTTON 32740 +#define ID_EDIT_SO7_CONFIG_MOTION 32741 + // Next default values for new objects // @@ -885,7 +894,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 189 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1820 +#define _APS_NEXT_CONTROL_VALUE 1822 #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 a6439c0389aa620652a08b8fc38a09f3af96d03f..29f003df014a27c287d2ce801234a7c4654d4db6 100644 GIT binary patch delta 6866 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 BEXe=> delta 6285 zcmbU_2~6$mx*Rkzakp*lNe)giTaZlx1fH_i~PDXpyr>Pf8KdLr>3i`tGlYJtE;Q8 z`Nmo>6I9KTw7KU_U(fQgJJ&&~s5CkfCV3X!&YIR*GWtr+0aAvu*ZHkmOtg&>XK zA6mwyQk_ANN${+pp&@`qP9r?0u|0$8nFO;M+qREf)@t-nOKkm!

6ZYX+FORyu@r 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 b;%~JCSS^88OOVwPY_)_~Euoc`u-X3$e4hGh