From d8d357c553c174e86ddcc37c23bef4d54f4a81d0 Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Wed, 19 Jun 2013 09:02:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=BF=90=E5=8A=A8=E6=9B=B2?= =?UTF-8?q?=E7=BA=BF=E5=9B=BE=E7=9A=84=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tools/UsbUtility/Debug/UtilityDebug.Log | 48 ++++++ .../Tools/UsbUtility/Release/UtilityDebug.Log | 10 ++ .../Tools/UsbUtility/UsbUtil/DrawGraph.cpp | 7 + .../Hsi/Tools/UsbUtility/UsbUtil/DrawGraph.h | 1 + .../Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc | 142 +++++++++--------- .../UsbUtility/UsbUtil/SO7_Send_Parameter.cpp | 11 +- .../UsbUtility/UsbUtil/So7_Manual_Machine.cpp | 11 +- .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 1202176 -> 1672704 bytes 8 files changed, 154 insertions(+), 76 deletions(-) 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 2d697ae..ce61929 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -1241,3 +1241,51 @@ 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. +Destruct Cso7_Proto. +Construct Cso7_Proto. +Destruct Cso7_Proto. +Construct Cso7_Proto. +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/UtilityDebug.Log b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/UtilityDebug.Log index 7c71cae..6163d02 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/UtilityDebug.Log @@ -34,3 +34,13 @@ Construct Cso7_Proto. Destruct Cso7_Proto. Construct Cso7_Proto. 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. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DrawGraph.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DrawGraph.cpp index 68a8010..bb7e185 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DrawGraph.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DrawGraph.cpp @@ -132,6 +132,12 @@ void CDrawGraph::SetResolution(double dbResolutionX, double dbResolutionY, BOOL Invalidate(); } //======================================================== +void CDrawGraph::RedrawGraph(BOOL bIsRedraw) +{ + if(bIsRedraw) + Invalidate(); +}; +//======================================================== void CDrawGraph::LoadGraphyXAxisData(DataBuff& dataShow) { double dbData; @@ -261,6 +267,7 @@ void CDrawGraph::DrawActualCurve(CDC *pDC, CRect rectCoord) double dbDataX(0.0),dbDataY(0.0); int nOffsetX(0), nOffsetY(0),nOriginX(0),nOriginY(0); + dbDataX = m_dataGraphX.ElementAt(0); dbDataY = m_dataGraphY.ElementAt(0); nOriginX = rectCoord.left; nOriginY = rectCoord.bottom;; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DrawGraph.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DrawGraph.h index f6da1a5..28eb86a 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DrawGraph.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DrawGraph.h @@ -36,6 +36,7 @@ public: void LoadGraphyYAxisData(DataBuff& dataShow); void LoadGraphyXAxisData(DataBuff& dataShow); void AddGraphyData(double _data); + void RedrawGraph(BOOL bIsRedraw=TRUE); void SetCoordinateLabel(const CString& _XAxis,const CString& _YAxis); void RemoveGraphyData(BOOL bIsRedraw=TRUE); void DrawCoordinate(CDC* pDC, CRect rectCoord); 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 661243c..0bc570b 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 @@ -149,83 +149,83 @@ BEGIN CONTROL "Z",IDC_RADIO_SAMPLE_Z,"Button",BS_AUTORADIOBUTTON,391,439,20,10 GROUPBOX "曲线类型",IDC_STATIC,308,398,66,57 CONTROL "速度-时间",IDC_RADIO_CANVAS_SPEED_TIME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,315,413,51,10 - CONTROL "位移-速度",IDC_RADIO_CANVAS_SPEED_POSTION,"Button",BS_AUTORADIOBUTTON,315,426,51,10 + CONTROL "速度-位移",IDC_RADIO_CANVAS_SPEED_POSTION,"Button",BS_AUTORADIOBUTTON,315,426,51,10 CONTROL "位移-时间",IDC_RADIO_CANVAS_POSTION_TIME,"Button",BS_AUTORADIOBUTTON,315,439,51,10 EDITTEXT IDC_EDIT_BASESPEED_X1,43,55,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_X1,93,55,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_X1,143,55,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_X1,193,55,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_X1,243,55,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_X1,107,55,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_X1,177,55,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_X1,244,55,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_X1,243,55,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_X2,43,69,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_X2,93,69,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_X2,143,69,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_X2,193,69,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_X2,243,69,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_X2,107,69,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_X2,177,69,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_X2,244,69,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_X2,243,69,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_X3,43,83,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_X3,93,83,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_X3,143,83,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_X3,193,83,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_X3,243,83,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_X3,107,83,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_X3,177,83,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_X3,244,83,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_X3,243,83,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_X4,43,97,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_X4,93,97,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_X4,143,97,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_X4,193,97,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_X4,243,97,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_X4,107,97,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_X4,177,97,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_X4,244,97,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_X4,243,97,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_X5,43,111,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_X5,93,111,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_X5,143,111,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_X5,193,111,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_X5,243,111,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_X5,107,111,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_X5,177,111,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_X5,244,111,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_X5,243,111,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_Y1,43,129,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_Y1,93,129,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_Y1,143,129,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_Y1,193,129,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_Y1,243,129,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_Y1,107,129,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_Y1,177,129,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_Y1,244,129,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_Y1,243,129,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_Y2,43,143,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_Y2,93,143,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_Y2,143,143,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_Y2,193,143,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_Y2,243,143,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_Y2,107,143,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_Y2,177,143,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_Y2,244,143,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_Y2,243,143,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_Y3,43,156,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_Y3,93,156,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_Y3,143,156,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_Y3,193,156,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_Y3,243,156,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_Y3,107,156,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_Y3,177,156,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_Y3,244,156,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_Y3,243,156,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_Y4,43,170,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_Y4,93,170,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_Y4,143,170,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_Y4,193,170,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_Y4,243,170,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_Y4,107,170,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_Y4,177,170,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_Y4,244,170,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_Y4,243,170,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_Y5,43,184,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_Y5,93,184,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_Y5,143,184,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_Y5,193,184,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_Y5,243,184,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_Y5,107,184,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_Y5,177,184,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_Y5,244,184,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_Y5,243,184,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_Z1,43,203,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_Z1,93,203,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_Z1,143,203,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_Z1,193,203,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_Z1,243,203,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_Z1,107,203,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_Z1,177,203,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_Z1,244,203,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_Z1,243,203,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_Z2,43,217,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_Z2,93,217,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_Z2,143,217,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_Z2,193,217,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_Z2,243,217,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_Z2,107,217,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_Z2,177,217,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_Z2,244,217,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_Z2,243,217,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_Z3,43,231,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_Z3,93,231,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_Z3,143,231,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_Z3,193,231,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_Z3,243,231,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_Z3,107,231,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_Z3,177,231,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_Z3,244,231,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_Z3,243,231,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_Z4,43,245,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_Z4,93,245,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_Z4,143,245,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_Z4,193,245,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_Z4,243,245,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_Z4,107,245,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_Z4,177,245,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_Z4,244,245,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_Z4,243,245,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_BASESPEED_Z5,43,259,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_MAXSPEED_Z5,93,259,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_STARTSPEED_Z5,143,259,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_FRESHSPEED_Z5,193,259,40,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SLOWDIS_Z5,243,259,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_MAXSPEED_Z5,107,259,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_STARTSPEED_Z5,177,259,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_FRESHSPEED_Z5,244,259,40,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SLOWDIS_Z5,243,259,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_WHEELBASE_X,43,293,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_WHEELBASE_Y,104,293,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_WHEELBASE_Z,167,293,40,12,ES_AUTOHSCROLL @@ -248,14 +248,14 @@ BEGIN EDITTEXT IDC_EDIT_INPUT_FILE,58,12,186,14,ES_AUTOHSCROLL LTEXT "Input_File",IDC_STATIC,18,15,33,8 PUSHBUTTON "Browse...",IDC_BUTTON_BROWSE,252,12,36,14 - GROUPBOX "速度参数",IDC_STATIC,15,31,275,246 + GROUPBOX "速度参数",IDC_STATIC,17,29,273,248 LTEXT "X-1",IDC_STATIC,27,57,12,8 LTEXT "X-2",IDC_STATIC,27,72,12,8 - LTEXT "基本速率",IDC_STATIC,48,41,33,8 - LTEXT "最大速率",IDC_STATIC,98,41,33,8 - CONTROL "起始速率",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,146,41,33,8 - LTEXT "刷新速率",IDC_STATIC,197,41,33,8 - LTEXT "减速距离",IDC_STATIC,247,41,33,8 + LTEXT "加速度",IDC_STATIC,48,41,25,8 + LTEXT "最大速率(高8位)",IDC_STATIC,98,41,69,8 + CONTROL "最低速率(低8位)",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,168,41,69,8 + LTEXT "刷新周期",IDC_STATIC,248,41,33,8 + LTEXT "减速距离",IDC_STATIC,247,41,33,8,NOT WS_VISIBLE LTEXT "X-3",IDC_STATIC,27,85,12,8 LTEXT "X-4",IDC_STATIC,27,99,12,8 LTEXT "X-5",IDC_STATIC,27,113,12,8 @@ -285,14 +285,16 @@ BEGIN LTEXT "POS WORKING LIMIT",IDC_STATIC,20,382,69,8 LTEXT "X=",IDC_STATIC,104,381,10,8 LTEXT "Y=",IDC_STATIC,166,381,10,8 - EDITTEXT IDC_EDIT_SAMPLE_SCURVE_DIS,473,405,40,14,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SAMPLE_TIME_SCURVE,564,405,40,14,ES_AUTOHSCROLL - PUSHBUTTON "开始",IDC_BUTTON_START_SAMPLE_SCURVE,628,407,50,14 + EDITTEXT IDC_EDIT_SAMPLE_SCURVE_DIS,473,405,28,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SAMPLE_TIME_SCURVE,564,405,28,14,ES_AUTOHSCROLL + PUSHBUTTON "Start",IDC_BUTTON_START_SAMPLE_SCURVE,628,407,50,14 LTEXT "相对距离",IDC_STATIC,436,407,33,8 LTEXT "采样时间",IDC_STATIC,529,407,33,8 PUSHBUTTON "Stop",IDC_BUTTON_STOP_SAMPLE_SCURVE,627,425,50,14 CONTROL "运动曲线图",IDC_CUSTOM_CANVAS,"CDrawGraph",WS_TABSTOP,309,29,423,349 EDITTEXT IDC_EDIT_SET_PARAMETER_MSGOUTPUT,440,428,165,25,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL + LTEXT "mm",IDC_STATIC,506,406,12,8 + LTEXT "s",IDC_STATIC,597,406,8,8 END IDD_SO7_UTIL_AUTO_ZOOM DIALOGEX 0, 0, 426, 460 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp index cf52fc6..91bc8ba 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp @@ -550,22 +550,26 @@ void CSO7_Send_Parameter::OnEnKillfocusEditSampleTimeScurve() //================================================================================================ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve() { + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_AXIS_XYZ(); m_pSO7_Proto->g_machine.x._pos_fixed._long_=0; m_pSO7_Proto->g_machine.y._pos_fixed._long_=0; m_pSO7_Proto->g_machine.z._pos_fixed._long_=0; if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_X))->GetCheck()) { m_pSO7_Proto->g_machine.x._pos_fixed._long_=m_pSO7_Proto->MMtoScale(m_dMoveDis,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution); + m_pSO7_Proto->g_machine.x._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.x._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution); m_dPos=m_pSO7_Proto->g_machine.x._d_cur_pos_; } else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Y))->GetCheck()) { m_pSO7_Proto->g_machine.y._pos_fixed._long_=m_pSO7_Proto->MMtoScale(m_dMoveDis,m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution); + m_pSO7_Proto->g_machine.y._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.y._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution); m_dPos=m_pSO7_Proto->g_machine.y._d_cur_pos_; } else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Z))->GetCheck()) { m_pSO7_Proto->g_machine.z._pos_fixed._long_=m_pSO7_Proto->MMtoScale(m_dMoveDis,m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution); + m_pSO7_Proto->g_machine.z._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.z._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution); m_dPos=m_pSO7_Proto->g_machine.z._d_cur_pos_; } @@ -592,7 +596,7 @@ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve() //m_dbResolutionX=static_cast(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度 m_DrawGraph.SetCoordinateLabel(_T("位置(mm)"),_T("速度(mm/s)")); } - + ((CButton*)GetDlgItem(IDC_BUTTON_START_SAMPLE_SCURVE))->EnableWindow(FALSE); nCount=0; m_DataXAxis=0.0; m_dataGraphX.RemoveAll(); @@ -610,6 +614,8 @@ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve() void CSO7_Send_Parameter::OnBnClickedButtonStopSampleScurve() { m_TimerCnt=0; + m_DrawGraph.RedrawGraph();//refresh + m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ(); } //================================================================================================ void CSO7_Send_Parameter::Sample_Speed_Time_Curve() @@ -820,7 +826,7 @@ void CSO7_Send_Parameter::OnTimer(UINT_PTR nIDEvent) if((m_dbStartY-dbData)>0.0 &&(m_dbStartY-dbData)(1.0/(m_dbEndY-m_dbStartY)); @@ -829,6 +835,7 @@ void CSO7_Send_Parameter::OnTimer(UINT_PTR nIDEvent) m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY); m_DrawGraph.LoadGraphyXAxisData(m_dataGraphX); m_DrawGraph.LoadGraphyYAxisData(m_dataGraphY); + ((CButton*)GetDlgItem(IDC_BUTTON_START_SAMPLE_SCURVE))->EnableWindow(TRUE); } nCount++; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp index 705af16..9d88bab 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp @@ -158,7 +158,7 @@ void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStopMachine() //=================================================== void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd1() { - GetDlgItem(IDC_EDIT_SO7_MANUAL_MACHINE_DATA)->SetWindowTextW(_T("A6 30 30 31 47 0D")); + GetDlgItem(IDC_EDIT_SO7_MANUAL_MACHINE_DATA)->SetWindowTextW(_T("4D 30 2C 2D 30 30 2E 32 33 35 32 0D 00 00 00 00 00 00 00 00")); } //=================================================== @@ -350,15 +350,18 @@ BOOL CSo7_Manual_Machine::_Send_Common_CMD(const char* _SendData,DWORD _SendDa //=================================================== void CSo7_Manual_Machine::_Send_CMD_InitController() { - BYTE bSendData1[6]={0xA6,0x30,0x30,0x31,0x47,0x0D}; - _Send_Common_CMD((const char*)bSendData1,6); + BYTE bSendData[20]={0x4D,0x30,0x2C,0x2D,0x30,0x30,0x2E,0x32,0x33,0x35,0x32,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + _Send_Common_CMD((const char*)bSendData,12); BYTE bSendData2[6]={0xA4,0x30,0x30,0x31,0x45,0x0D}; _Send_Common_CMD((const char*)bSendData2,6); BYTE bSendData3[6]={0xA5,0x30,0x30,0x31,0x46,0x0D}; _Send_Common_CMD((const char*)bSendData3,6); BYTE bSendData4[6]={0xA6,0x30,0x30,0x31,0x47,0x0D}; _Send_Common_CMD((const char*)bSendData4,6); - + + _Send_Common_CMD((const char*)bSendData2,6); + _Send_Common_CMD((const char*)bSendData3,6); + _Send_Common_CMD((const char*)bSendData4,6); }; //=================================================== void CSo7_Manual_Machine::_Send_CMD_ReadPositionX() 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 96dcace9ae1d114d1b11618e6be3e06692429916..79ee1aecaa4a630839f7d6781b414f1b6a57605c 100644 GIT binary patch delta 16105 zcmbu`2V4}#|M2mfy*oS*5fKp)6%jiiAa+Cqtg&Fnj=du)8arr=1yPYv#vVk(t_aH6 z#S&w0u_c-WTZ%~x8cm`x`h50KlV4uH=Xw6m>(SSHncLgjHnZQE*_}=*KgjuX(|_JgUlg(a?5?9 zO%qOD+js6NKl-9DGAqAl?o`v6l4cRjid250@Rjkd*GwJxO67Zt8s-|LhRZ2sriswp z=VeN34V;-V*f7u#X&7LLM>L=RJ+CM8To7yMXc)@>35FrL&D>3nDx#GZBq#d3DYlc% zSznaNomREI5F_Q2@*PD}dC9AMaf4wbKb&R=Fto^RR=tr~q~=cXohRgzw!Y?Le3K_j zS*42VB^*@0KAO9Xnqnsh2OJVZW#z!K(m9~3SfPZc=%IFY6ybJ<_{C&{YTj6z#L?cC zCHyZ*ufRRB^T9o8)qLSDv+J2;P;ibK7^kh!=eVlm?!sc;!SAx!(n^)m$>?tWh>wqC zT7E7SHe@q?5ZW5_lL_vK^C!{O|Mkz?g_^dgA8%}HyENgycBt?byXG6LkpJ9 zjYGsLRjN??NUmz+Ddx&jlP9Ret-?h*H?k9#)s@-en3_36IBVfTCWh9?2+?Hh;C}LQ zd)HzHLoh4MQl+YiB{JXNT{~)!uNr@8%rHdczG?PEb8Koh7(&q-@>O`8Ump^B#`k;s zH-^6hF!1f?!TcS9q59|CSrNlDnK&&|&Gs`cQ`srPN5)NaOr5$y>&3n#XR5+;!cpaK z)-0NXQ2B8pNw#j|Dh|o!JCuwGwUg^IEmCXdp6lLrTXB2AcHg+N!?x0s`>b16%~q<+ zU6}VkzA#mhYoep=s_-f4k$f3_MxHPQ*6hni3-o_o4MQj|@szL8hG7PO!@E;DgzpxU zB?Dy2fm*4YKiiCVPV?3wogFIN}E;3psE~ zta7TXxk=}~CK=f$B+XMK=_S!EZ7w+(*2g6CdtDSaPVo`$44VRy|=It+Ig@wW0SV}^N)IcnAq+89+( zLAa(4vxs~trmmJTH+@*!Xx6q_FBBVP{z!|A8__jq^huM&i`h=F?Y3PAIqWHNU&fs^ zS^St=haGyGF%um%xvagLEEwh^Uytx)Q^)EU8>j#!!eqY@F4BAWDRt_!7%x{$cM&tx z-Md;Png49IUINX1Sk-(=_aOZwI?Iqzo@($@ZN8cvC0u3HYKv$lD>S>Wyw{0n8I$cH zy=FK|pXoDGXGU5a`Dw*>`ey`UzVu2p z$=S)1(tL$iuGj1WqjHMTeASWu!nIg&4r%j$=JQ}VJlR9K%sVb;&uu4j0>W~`=I0yL zz;jxd=q8WOYOcbniJ79aT>r9?%3mkq%_cUTNKxvMI?K7}2aEYZPO@<4n-T`;l(Jg71{eK^jAeH6!Q@!2iIA^Xe=pX_Qi(HE;u+0byio~$#w{{*bw%m2 zYOWgiR4XbfDlCn%dVp+rGeJ~US&fB9Zs@w>Lag9?&LSt=&A+iT*=pP%u|Ya+cM-R2 z<%weEsvJ%WCmFNBBC;sKi&Teg!krSlRF+zQfwEC5u}4OxMFp)Po;t5Lso5>XbQzlN zEM~vY+7P*Tw<~iwQdyW?O^Eqzaa|s@Zj;W|9QEL?<|z{cX3D}mFPX8M zK(^Z?O?jQA_o36o-pgWcQH;KPP6U{LW!>}N7j#eaNj_hbrTllP%P)jp)J>f3$3))^ zs<4GI@_meL$Lw^DdWdc7GU|wlLc8Mq1u6E(gyfGo7H>|YLx~7O6#or|p8V>FzV$Mx zW(re&4U6d@v)^9kr@73%TThjjyZe*#La0PPW14N1wu}=evav13>Rur$Y>j-yYk)7^u5qc%FMPBx| z$f)}!k*!MA5i2=st}0-HW-{;QC;RlGuv^|a=cu}Vz(K`?R@9u>v6fxW$yk-=GNBu86@vlsnrt7M4quf9N63&_>h(FzM|Tdeqi4DNJnES0hvAJF(ZXYIPaWoZ3^bNTOf5 zGAmm7xr(DAPv4QHvS5-Af&4QzmT%~4eN$Ellg#<;IKP-xeSwOJ5uU2RRait#^;ZS4 zUZm=qp>hZ!f|anYRZ$g$J0UtV%S+gmjyH@jjHNx|Z_tbLPq-+>nuB^}K}OdQG9Wnl z?^S9>p*mC&IjV54aG+vREZ>J_M6A|KU8pH4t9vy#BQC4r)#Vz(Ma!|ZFuJRPWm>c< z3^AIt#}tTa;(=K9KAuIY#1g{C>f>`Yt%xl@uI{oO! zqy>m%x4)=NH&I~qzc={18Alye#Q@=^_63Mc(=pMz{H zGFfs}6TMytQ3vW#&jrlLQ=auiEs?HAEOl|1uv3?tvid|{{rDPleC`9Np2kvp525k( zcMV=gsKp`TKvAfBcbU{v9UF-aBBdw*6y|9@=2x7ATLgeD?@Oq;7<-x~$32{u6-FV* zI9^euhKijcU5QRcr4pMM9aKsv`>?EqXej2}npaa>2oE(dQe=`(4U6_aDpI)E>gTm@ zceb^j87`GXV-@v*Fwv%=epLlN!iz#amc7WZot&6ZH?^~su;>vr*>=TB71L696V1|; zQ#0YO3Ofo@>Y77()l6w}7BY53imgId0Ud;!^;$d8odR`$T)Ws#(BPASGY%@}cAV(P zN;EhABHF5B-NenbZsH`ZQCm$>)V$@IxTFr(F@C5=X=fGHMNCzhoyB&JQIFvic9q_l zJ=f#P0@-#;MdjRC*h$y*>2I3}ksL*4(d9%@XLaApgwUnx;&b7^hyAKkwAf(_QnH|W zcNG=QIi%z~P{;dDTgVVHyinu#(-6ip}s}Csb6M3{|Gi-dPVN8vImO%qE@B4Rnivs zd$aEc-WE@Pvwq#yQL|#$-{Wy&jY#90zVd0yFl*RQk#8@L(+WwC6W%Iyh=`Sy#&{{O zIEtpND$0MBq&Kf!#b*6fOvoBft0kaSeewKl6%nkp5-R4YmaL+F(0t8j+0>Wss$E;_ zPHQC8#o6Mr$RWr`y>;hl+o1)je3Ce!2UsGU-s2GW^ah5^cI>4(ED$x6HlNGT*11?Q zUU+aermCfL#eU;t!w|W&cQ@J_YUW(7vIDmDzHLmpiL10O24y9a8~5gjc-CJzP^nX? z!uegBvxfN$JDEmcUm^n*S+sD2^cucOzuZ|MKu-IR+uz* zg9=+u6DaJggWgE;5Z_Zf5u*FqJUr?KfMm#QH2-bPy_h zwKmh5pCiJ`6ff$&`LaNgvOg;(rtWrAQR!S^^x3Fg^hQ(uCu9o+ei_C2ZO6}*np<=e z+lm)eFQxeTPCfEhPR;0};(Bu3`=1kDB3br)?w56*kKyY?Yc=yM9m&M%d7`X3c3LbF ztB6}Yq)V${J@C3(TR#vhEY3|%9d)_2V$P>=%fG6Sd}Z_qRrr%|b$U*NYzpoC;&bTf zm}T~SSLrQ1tYJTk>@w!2Y`&9vu4xhGjwGF}O^wyVyseuaFf@-~XyLQLVd83`+FU z>{QM;Z4b>-TQ^4UK>SC<8l?9P57HFTn-2N`*ebx1Y$*F(H$BCeXXvWdm)9y;E5>X0 zie;s1THbVxUfHvB53A=K?SaUe&8+!ageD`p2CDcZEy_}jGwcIf15iCn(mI+&b=zm| zrKtFYT1UNyYkjs*bJVitY8uy@lZxuEwX}9!tZf%6D3wM+Y^vsyR*{Cf-U(Fs6ErtY zrCvuAycBwa%Z(LMI_O+v|Dx%=*4MTu6X!IYtEP=XrKD<$RpfFlN$&<&r7W0Y(OXX{ zbh&0{YjY8@R%#wJIad4~y9Vn){F9>4P2((BKl3*@A&J&ED>b3195*q^Iw^&f%547{ z)*5THTSk>QiWu*cp>@?fg_=4_t7Xm1&??!RMg4cjY<;#(3oTiq1Z(O{17I`;SeqTx z?1icE`|}ikNb9IhY%vC@=ZCZo_9B39>izxgVa^(7*!t|S=IEeAq&Ab2aEmoQPy>>T zcU5*8h3%?-+ho6rIjdC^2lPUC(Cp1B-rroYQ&CSfCv$mzHeD|j6I8p?nv<6Dwy{Rj zHT3OOUDQW)G`@-_PBJ<~>4OjyHCt;ITgf^@7$1~woQ8SdhxiuX;d}gmNB9vx z;b%O?FDS$lJjJhghUfSVzvBxlG#Fum8FnZJ3+!d(@X`rR zq)NgWrQm|na77uop)A}{4jw2EPgFofRDu^O!y8rLgQ}>8>ZpO5sD;|_g`b)GWBw%S zAOL~#Sa|6+^+`2ALo`BTG=Y8x?cEL5W~9T=9N~ySBwC;)TA{V95K$>1ic}|bMi+EN zH*`l2M58BqLBDOQ-?8lr{f=#a#Ngc>+d-rUyd#C$izluVG}lE3$|h#wqpl&VwZjd+1QO7!vV$Nh!SwJBmYa1a7HP(pfp@j25u+| zca(z%%EJ>CP!W~jh05?o75Jbks-Ze+peAaeHhkd+{{$v=5P(1gp)P_^5B1Ri4bcdV z(F7rAicmB|7@8v-5r{+!v_vbkMjN!n2WW@(Na(<%Bcjj=ozVqd(GA_v1JUS-Ug(WJ z=!<^nj~EQVKn%iQ48c$g!*GniNQ}a0jIksCV@Zrf9L8ZhCLkUYF$o`HGNxcEreQi} zU?%jln21@JjgK$~A7d`&VLlch2@8>oMSA`(Cb0x5Sc+6gEW>i7L16_}Vii_n4c1~E zK0!LxBLf?diH*p@CTzwQY{fQg#}0kZcVZW^u^Tza#UAWM9<11h{WySwIE2GEf}_aC zF&xJUoW!R%h0kyrXK)tha2^R4m|VmqT*eh##pk$&>$riNxP>q9C2r#mzQWh|1_ii_ zd$^AWc!+QD9lpm8c!VGElb-)SlX#3@P>3gZieK>z&+!|6#~*lsm-rK}@E2a=4Gc8F z1T+|7f*E!w1`F(=H`R*6u^9PZf`k)FLhr$pf(uGRf2LUmZYT?Pl!FJ#!xI%y5tZPD z%J4=N=+6YIq8h5B25O=fYQr~yi68t?2LT8~5b7cr^-v!Tpg)~!gvMxs5Hv+7njs9$ z5snB%q6J!_6QBE$p6tK#vm4B5r=UYj|qs!L`=emn2afyifNdR8PNM(`q@mx zEX>A7n1hco7xOS53y_3`dj2PqScJt`f)p%8DkPR+Into80xPi!tFZ=au@0Xg9qW;S z4amesWMLCFV+*!oo4&`}u>(7?3)$F>9OPmT_972f?8AN>z(E|sVI09xK0+ZVCg&+J;2LT8~5b7cr^-v!T&=8H#7)=m@rU*qdgrPaY5rIgwKufejYqUW^ zTP7c%9onM3CO72VJsJrIqa=!M?sgTCm8{)oW<48$M|#t;m}Fbu~C3;92i z#3+o$7{p>M;xG>5F#++Ih)MVmlQ9KTF%8o(12dtY)kMs~Yq+prxw zuoJtGjorvWF7{wA@?gb2?8gBd#33BU5gbK6j^Q{?;3Pi9DSU?0NI1jfEY9IPF5n_A z;WDn^Dn7?GT*nRE#4UV*FL4`p@D;wsHz>ee+{1l5z(ahC@9@2aL0LbLc!VGE6Mn{H z{DML}!BhN-XLyd^@H_s%3%taic!j_48gF3Wp=_3q(Jn!d&|m~3W(;Q7p%^T%hXabk z5hdV+l5j>T=tFf%!xd%VhO%%+Ie4HvJW&A^Q3+o5l=8|Xyio=EqvEQlhU%z+ny8J# z-1PG0uOIwT2LT8~5b7cr^-v!T&=8H#7)=m@rU*qdgxOQdo0AAf1R~J_Ezt_C(FSet z0otKGI-nz>&FdQQ=5~DC0 zV-Sn6h{HIH#{|S0nW+d63SbeBJjdRnV z-}cK3GrlaApx?MCT`&ie2Lq*gRk(l z9zeb!QGmO+hx>SdhxiuX;d}gmNB9vx;b%O?FDS$lJjJhghUfSVzvB@2aX6v` zoKOLM8RP#+D@5RK3nO%Q^n2t_l5Iq1QbL^vW4i56&yR%nejXp0Zf4(-ta9TA02 z=!`Dtif-tR9*9Oy^g?g+L0|Mkf5ap(8GwNpguxhsp%{kY7=e)(h0z#;Sd2v+#$h}r zARZGj2_IrIreG?jVLE1DCiHEa5}9OmFlsWaTx&Jy17k(ocwHIx&{q|<)q`V{ah*8L z02Zka=F!#|R8(hUhCV{38_&{tcy1{X^mg=<3)P`*kXV(3S*&$7KEfP)jJcSH`B;D? zEJQLEVKJ5<1xt|%iDg)hG$^dVO02?atif8W!zW1BOVxT38Q6eKY(y3|VKcU1E4E=f zc3>xVAsf4qgIw&vUgW`web|o!IEX_yj3YRTe7#g1BXJxja1x*56h6agoWWU~!+Bi5 zMO?yVT)|a*j%&D%8@P#E_yS+zHtygne2s5Vpy%ve+{1l5z(ahC@9;f-z$5&KpYSst z;};a-37+CtJi~MRhTriAUf?DE#4G%T*LZ^jLvi|a&|riKX4s(^EUzZYT?Pl!FKKvHhN?fQqP8ob7v&s0?pZfe)&p8mglPYN8fu!xw(=M;!zp z5J9MmVAMl>G(bZ%LSr;R2$~`k&5D!%VI-O(91(~_3$#Qlv_>1W#Rq7I_UM3)h(afH zMi+ENH*`l2M58Bqp*Q-VFZ!W>0+SdFz(5SbU<|=f48w4Yz(|b3XpBKD#v%^mFdh>S zkBOLs4>1{2Fcs4<9WyW!3HlBsVisoOBh10an2ULsj|E7=LL_4m7GnuguoS6~Scc_D zgTe}|#44=D8mz@SJ^w!;k&gAqzy@SuBeJjwo3RC3u?^d?13R$`+1QO7_aK9`54-9^zYkhwt$N9^ps)grD&kzn~CL@D#t|8J^=e{Ek2H z0x$6=Ug0k!yk_zS21btxXfVPAGwe_d`nY|2IG{KjQ36gV31^go3rfQkW#ERga7Q_K zpgcTL!IAv0NTL$FP#NB+0v}XGHB?6p)I=@RhA;f!k2(lIAc9aA!KjD&Xn=-jgvMxs z5Hxip|3gVMLl~MP91(~_3$#Qlv_>1W#Rq7I_UM3)h(afHMi+ENH*`l2M58Bqp*Q-V zZvvBk=#Ll-z(5SbU<|=f48w4Yz(|b3XpBKD#v%^mFdh>SkBOLs4>1{2Fcs4<9SJj- z%+wP|#4OClN0@_;F&FbN9}AF#g-FICEXER~U@1}|u?)+R289(^iB(vQHG2N9C9w{l zARX(GfepySMr2_VHe(C6VjH$&2XL?rR=kKIz^2i z8$Y&xVFO0c0pLncfJpBNuMHdYBA7hiR< zi?NwXFKstajjiiaqFVich7B7A2iEh846a|#FE}8go?m#q;6{G+8U-~EZ_uJ;z2*&C z&bab^->cP)Xi>Lriv|JB{TkGbXy_Ll(V)3sc!QvNevKjmf&%N;YY!8mjKsn$h3jB|}y8S$S>Mty1SXBOp#;{G(UF@{9sm7SdeZKB5fBUxd-IxmWn@PsH7&r35hg78Fikagk;<3ghf z+-LDqQLT+VZP~8K_Qv{xAtGxX4g1~uv{04U#b~b*+ZbKc*mlO+`nS`KSy@IQPOD=x zwY~a?Mh9#DCS#asQ*3XembcTGuk{{b7)^_RJa5q1;=3W-(8AEl(8kb#&-y>JVUxkc z4L$v(k^kKi>K{w6C~N3oh~)ZSTDPhSn_%?e-5N&~x7!${!ZJkI->0K=s@Yq4pE7c9 zVJO{=;dnbj@|4jwwok=>W=#HXhdz&kLop805|;A+^NBSSdv!3cyUQQKq7Tv3|NXbq z`Oj^nche&O4`sVk75h-Pj{4vT+rL`*F{B%jj{NVJx^4NLZ$~%ywu-&O4MZex+=Yj{R`J>MJ0q8Zuw0}S0MGzlNOeum&k%IEMrPu z@Ajsf4EtBiG<__>_o~X##!zc=brvzf&8`)rs#8x8l`MOr?eoJET-_th%BJy8bE?QaZ_xo?iuSZ%RoBH2Yb~H$f z{6|=9^goKD`X2u0zkjYH_sBB8v!&ILZZ2)))1W!xin`)0>Zk&5;r0JC zVXU!ZT6Y(3m9a&5TSjmi>#!x;b!hHS!M(-%xHXmcc2P~9Hu;(dG3({~O?j&PUBXe0 z{=)U&+x+KzPjx&~iZ#BAu<}AGR`5oCyhyMjB??QI~ delta 57899 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