Files
EF3-Interface/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp
T
2015-01-16 10:45:20 +08:00

608 lines
22 KiB
C++

// 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)
ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_CONFIG_SET_DEFAULT, &CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigSetDefault)
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*2/40);
m_ConfigList.InsertColumn(1,_T("参数名"),LVCFMT_LEFT, m_rect.right*12/40);
m_ConfigList.InsertColumn(2,_T(""),LVCFMT_LEFT, m_rect.right*4/40);
m_ConfigList.InsertColumn(3,_T("描述"),LVCFMT_LEFT, m_rect.right*21/40);
for (int i = 1; i < 100; i++)
{
CString str;
str.Format(_T("%d"), i);
m_ConfigList.InsertItem(i, str);
}
UpdateLabelName();
UpdateDataValue();
m_ConfigList.SetEditableItemRange(0,37,2,2);
m_ConfigList.SetColorStyleItemRange(0,37,0,3);
return TRUE;
}
void CSetSo7MotionConfig::UpdateLabelName()
{
int iRow=0;
int iCol=1;
CString cStr("");
cStr=L"CLOSE_LOOP_ENABLED";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"软件闭环判断功能;0:禁用,1:使能;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"MOTION_RETRY_TIMES";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"软件闭环判断重试次数;有效范围:0-255;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"SHIFT_POSITION_X";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"软件闭环判断X偏移距离(mm);有效范围:0-65535;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"SHIFT_POSITION_Y";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"软件闭环判断Y偏移距离(mm);有效范围:0-65535;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"SHIFT_POSITION_Z";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"软件闭环判断Z偏移距离(mm);有效范围:0-65535;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"GET_USB_MESSAGE_METHOD";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"USB读取消息方式;0:Firmware V3.X,1:Firmware V6.X;默认值:1";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"WRITE_DATA_SLEEP_TIME";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"USB通信休息时间(ms);有效范围:0-255;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"ACCURA_ERROR_PULSE_X";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"允许定位误差脉冲数;有效范围:1-255;默认值:1";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"ACCURA_ERROR_PULSE_Y";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"允许定位误差脉冲数;有效范围:1-255;默认值:1";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"ACCURA_ERROR_PULSE_Z";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"允许定位误差脉冲数;有效范围:1-255;默认值:1";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"EQUIDISTANCE_PULSE_X";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"输出等间距脉冲;有效范围:0-255;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"EQUIDISTANCE_PULSE_Y";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"输出等间距脉冲;有效范围:0-255;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"EQUIDISTANCE_PULSE_Z";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"输出等间距脉冲;有效范围:0-255;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"CNC_DEADLOCK_SOLUTION";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"解决CNC运行停顿问题;0:禁用,1:启用;默认值:1";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"CNC_DEADLOCK_MAX_CNTS";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"CNC运行停顿判断次数;有效范围:1-255;默认值:6";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"TOUCH_PROBE_ENABLE";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"接触探针功能;0:禁用,1:使能;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"FOOT_SWITCH_ENABLE";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"脚踏开关功能(接探针口);0:禁用,1:使能;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"JOYSTICK_ENABLE";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"摇杆功能;0:禁用,1:使能;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"CCS_PRIMA_ENABLE";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"CCS-PRIMA激光;0:禁用,1:使能;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"DEBUG_LOG_ENABLE";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"软件运行记录功能;0:禁用,1:使能;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
//=================VIDEOCARD==================
cStr=L"SDK3000_SLEEP_COUNT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"SDK3000去条纹参数;有效范围:500000-700000;默认值:550000";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"SV4000E_DENOISE_PARA_CHANNEL1";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"SV4000E降噪参数;有效范围:5-100;默认值:70";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"SV4000E_DENOISE_PARA_CHANNEL2";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"SV4000E降噪参数;有效范围:5-100;默认值:70";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"SV4000E_DENOISE_PARA_CHANNEL3";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"SV4000E降噪参数;有效范围:5-100;默认值:70";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"SV4000E_DENOISE_PARA_CHANNEL4";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"SV4000E降噪参数;有效范围:5-100;默认值:70";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"MACHINE_CONTROLLER_TYPE";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"控制器类型;保留项;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"MACHINE_VIDEOCARD_TYPE";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"视频卡类型;保留项;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"X_SCALE_RESOLUTION";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"X轴光栅尺分辨率;单位:um;默认值:0.5";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Y_SCALE_RESOLUTION";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Y轴光栅尺分辨率;单位:um;默认值:0.5";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Z_SCALE_RESOLUTION";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Z轴光栅尺分辨率;单位:um;默认值:0.5";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"X_NEG_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"X轴负向限位位置;单位:mm;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"X_POS_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"X轴正向限位位置;单位:mm;默认值:200";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Y_NEG_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Y轴负向限位位置;单位:mm;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Y_POS_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Y轴正向限位位置;单位:mm;默认值:100";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Z_NEG_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Z轴负向限位位置;单位:mm;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Z_POS_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Z轴正向限位位置;单位:mm;默认值:200";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"ROTARY_AXIS_NUMBER";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"转台轴编号;0:禁用,1:X轴,2:Y轴,3:Z轴;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"ROTARY_CIR_DIS";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"转盘一圈的位移量;单位:mm;默认值:7.2";
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.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);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_Solution);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_JudgeMaxCnts);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_TouchProbeEnable);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_FootSwitchEnable);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_JoyStickEnable);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_DebugOutputEnable);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_MachineType);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_VideoCardType);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._neg_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._pos_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._neg_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._pos_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._neg_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._pos_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryAxisNO);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryCircleDis);
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.GetInterruptMsgMethod=static_cast<char>(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++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_Solution=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_JudgeMaxCnts=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_TouchProbeEnable=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_FootSwitchEnable=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_JoyStickEnable=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_DebugOutputEnable=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_MachineType=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_VideoCardType=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.x_axis._neg_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.x_axis._pos_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._neg_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._pos_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._neg_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._pos_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryAxisNO=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryCircleDis=atof(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("\\UtilitySo7Config.ini。");
OutputWithScroll(m_csMsg,m_edit_MsgOut);
}
void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigSetDefault()
{
m_pSO7_Proto->so7_config_para_set_default();
UpdateDataValue();
}
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);
}
BOOL CSetSo7MotionConfig::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_RETURN || pMsg->wParam==VK_ESCAPE)
{
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}