|
|
|
@@ -43,6 +43,7 @@ IMPLEMENT_DYNAMIC(CSO7_UtilDlg, CDialog)
|
|
|
|
|
m_ZsignalPosY=0;
|
|
|
|
|
m_ZsignalPosZ=0;
|
|
|
|
|
m_bEnProbe=false;
|
|
|
|
|
m_bETrigIO=FALSE;
|
|
|
|
|
m_ReadAxisIntervalTime=150;
|
|
|
|
|
m_IOAddr=0;
|
|
|
|
|
}
|
|
|
|
@@ -141,6 +142,7 @@ BEGIN_MESSAGE_MAP(CSO7_UtilDlg, CDialog)
|
|
|
|
|
ON_BN_CLICKED(IDC_BUTTON_SO7_TRIGPULSE_WRITE_PARA, &CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseWritePara)
|
|
|
|
|
ON_BN_CLICKED(IDC_BUTTON_SO7_TRIGPULSE_READ_PARA, &CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseReadPara)
|
|
|
|
|
ON_BN_CLICKED(IDC_BUTTON_SET_SCALE_COEFFICIENT, &CSO7_UtilDlg::OnBnClickedButtonSetScaleCoefficient)
|
|
|
|
|
ON_BN_CLICKED(IDC_BUTTON_S07_SET_IO_PURPOSE, &CSO7_UtilDlg::OnBnClickedButtonS07SetIoPurpose)
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -335,7 +337,8 @@ void CSO7_UtilDlg::UpdateCtrlsStatus(bool _bEnable)
|
|
|
|
|
GetDlgItem(IDC_BUTTON_SO7_READ_IN_PORT_STATUS)->EnableWindow(_bEnable);
|
|
|
|
|
GetDlgItem(IDC_CHECK_CONTINUOUS_READ_IO_STATUS)->EnableWindow(_bEnable);
|
|
|
|
|
GetDlgItem(IDC_BUTTON_SO7_TEST_Z_SIGNAL)->EnableWindow(_bEnable);
|
|
|
|
|
|
|
|
|
|
GetDlgItem(IDC_BUTTON_S07_SET_IO_PURPOSE)->EnableWindow(_bEnable);
|
|
|
|
|
|
|
|
|
|
GetDlgItem(IDC_EDIT_SET_VER_NO)->EnableWindow(_bEnable);
|
|
|
|
|
GetDlgItem(IDC_BUTTON_SO7_CNC_PROGRAM)->EnableWindow(_bEnable);
|
|
|
|
|
GetDlgItem(IDC_BUTTON_SO7_SENDDATATOFPGA)->EnableWindow(_bEnable);
|
|
|
|
@@ -426,13 +429,24 @@ void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine()
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_GET_RESET_FLAG();
|
|
|
|
|
if(m_pSO7_Proto->g_machine.IsSupportReadInterrputMsg)
|
|
|
|
|
{
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_FIRMWARE_VERSION_INFO();
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_FIRMWARE_VERSION_INFO();
|
|
|
|
|
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(E_AXIS_V,9);
|
|
|
|
|
char cData[2]={0};
|
|
|
|
|
cData[0]=(m_pSO7_Proto->g_machine.FPGAData>>4)&0x0f;
|
|
|
|
|
cData[1]=m_pSO7_Proto->g_machine.FPGAData&0x0f;
|
|
|
|
|
CStringA csTmp("");
|
|
|
|
|
csTmp.Format(("Firmware Version:[%s]"),m_pSO7_Proto->g_machine.FirmwareInfo);
|
|
|
|
|
csTmp.Format(("Firmware Version:[ARM %s] [FPGA %d.%02d]"),
|
|
|
|
|
m_pSO7_Proto->g_machine.FirmwareInfo,cData[0],cData[1]);
|
|
|
|
|
m_OutMessage=csTmp;
|
|
|
|
|
OutputWithScroll(m_OutMessage,m_edMSG);
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(m_pSO7_Proto->g_machine.s_machine_config.motion.GetInterruptMsgMethod);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_OutMessage=_T("Firmware Version:[UNKNOWN]");
|
|
|
|
|
OutputWithScroll(m_OutMessage,m_edMSG);
|
|
|
|
|
}
|
|
|
|
|
UpdateCtrlsStatus(true);
|
|
|
|
|
SetTimer(1, m_ReadAxisIntervalTime, 0);
|
|
|
|
|
m_OutMessage.Format(_T("%d"),m_ReadAxisIntervalTime);
|
|
|
|
@@ -456,7 +470,7 @@ void CSO7_UtilDlg::OnBnClickedButtonStopSo7machine()
|
|
|
|
|
m_OutMessage = _T("Machine Stoped.");
|
|
|
|
|
OutputWithScroll(m_OutMessage,m_edMSG);
|
|
|
|
|
UpdateCtrlsStatus(false);
|
|
|
|
|
KillTimer(1);
|
|
|
|
|
m_KillTimer();
|
|
|
|
|
if(m_pSO7_Proto->g_machine.IsSupportReadInterrputMsg)
|
|
|
|
|
{
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(E_GET_INTERRUPT_MSG_INTERRUPT);
|
|
|
|
@@ -596,6 +610,21 @@ void CSO7_UtilDlg::OnBnClickedButtonReadProbe()
|
|
|
|
|
//GetDlgItem(IDC_EDIT_Z_POSITION_59)->SetWindowText(m_Z_Pos);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CSO7_UtilDlg::OnBnClickedButtonS07SetIoPurpose()
|
|
|
|
|
{
|
|
|
|
|
if(!m_bETrigIO)
|
|
|
|
|
{
|
|
|
|
|
m_bETrigIO=TRUE;
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_IO_PURPOSE(m_bETrigIO);
|
|
|
|
|
GetDlgItem(IDC_BUTTON_S07_SET_IO_PURPOSE)->SetWindowText(_T("Trigger IO"));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_bETrigIO=FALSE;
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_IO_PURPOSE(m_bETrigIO);
|
|
|
|
|
GetDlgItem(IDC_BUTTON_S07_SET_IO_PURPOSE)->SetWindowText(_T("General IO"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void CSO7_UtilDlg::OnBnClickedButtonSo7ReadAxisV()
|
|
|
|
|
{
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_V_DATA();
|
|
|
|
@@ -942,7 +971,7 @@ void CSO7_UtilDlg::OnBnClickedButtonSetOutPort()
|
|
|
|
|
}
|
|
|
|
|
void CSO7_UtilDlg::OnBnClickedButtonMotionParameter()
|
|
|
|
|
{
|
|
|
|
|
KillTimer(1);
|
|
|
|
|
m_KillTimer();
|
|
|
|
|
if(!g_pVolComp)
|
|
|
|
|
g_pVolComp=new CSO7_VolComp();
|
|
|
|
|
|
|
|
|
@@ -963,7 +992,7 @@ void CSO7_UtilDlg::OnBnClickedButtonMotionParameter()
|
|
|
|
|
//===================================================
|
|
|
|
|
void CSO7_UtilDlg::OnBnClickedButtonSetupSo7config()
|
|
|
|
|
{
|
|
|
|
|
KillTimer(1);
|
|
|
|
|
m_KillTimer();
|
|
|
|
|
if (!m_pSO7_AutoZoom)
|
|
|
|
|
m_pSO7_AutoZoom = new CAutoZoom();
|
|
|
|
|
|
|
|
|
@@ -1362,6 +1391,20 @@ void CSO7_UtilDlg::UpdateIOStatus()
|
|
|
|
|
((CMFCButton*)GetDlgItem(IDC_MFCBUTTON_STATUS_IN_PORT6))->SetFaceColor(ColorOFF);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//================================================================================================
|
|
|
|
|
void CSO7_UtilDlg::m_KillTimer(int nIDEvent)
|
|
|
|
|
{
|
|
|
|
|
if (nIDEvent>0)
|
|
|
|
|
{
|
|
|
|
|
KillTimer(nIDEvent);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
KillTimer(1);
|
|
|
|
|
KillTimer(2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//================================================================================================
|
|
|
|
|
void CSO7_UtilDlg::OnTimer(UINT_PTR nIDEvent)
|
|
|
|
|
{
|
|
|
|
@@ -1429,6 +1472,42 @@ void CSO7_UtilDlg::OnTimer(UINT_PTR nIDEvent)
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case 2:
|
|
|
|
|
{
|
|
|
|
|
CString strOutput;
|
|
|
|
|
BYTE cdata[5]={0};
|
|
|
|
|
char ActiveAxis;
|
|
|
|
|
if (((CButton *)GetDlgItem(IDC_RADIO_SELECT_X))->GetCheck())
|
|
|
|
|
{
|
|
|
|
|
ActiveAxis=E_AXIS_X;
|
|
|
|
|
strOutput=_T("[TrigX]");
|
|
|
|
|
}
|
|
|
|
|
else if (((CButton *)GetDlgItem(IDC_RADIO_SELECT_Y))->GetCheck())
|
|
|
|
|
{
|
|
|
|
|
ActiveAxis=E_AXIS_Y;
|
|
|
|
|
strOutput=_T("[TrigY]");
|
|
|
|
|
}
|
|
|
|
|
else if (((CButton *)GetDlgItem(IDC_RADIO_SELECT_Z))->GetCheck())
|
|
|
|
|
{
|
|
|
|
|
ActiveAxis=E_AXIS_Z;
|
|
|
|
|
strOutput=_T("[TrigZ]");
|
|
|
|
|
}
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(ActiveAxis,12);
|
|
|
|
|
cdata[0]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(ActiveAxis,10);
|
|
|
|
|
cdata[1]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(ActiveAxis,13);
|
|
|
|
|
cdata[2]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(ActiveAxis,14);
|
|
|
|
|
cdata[3]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(ActiveAxis,15);
|
|
|
|
|
cdata[4]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
|
|
|
|
|
|
|
|
|
m_OutMessage.Format(_T("(%02X %02X) %02X %02X %02X.\r\n"),cdata[0],cdata[1],cdata[2],cdata[3],cdata[4]);
|
|
|
|
|
strOutput += m_OutMessage;
|
|
|
|
|
OutputWithScroll(strOutput,m_edMSG);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CDialog::OnTimer(nIDEvent);
|
|
|
|
@@ -1470,7 +1549,7 @@ void CSO7_UtilDlg::OutputWithScroll(const CString &strNewText,CEdit &edtOutput)
|
|
|
|
|
|
|
|
|
|
void CSO7_UtilDlg::OnBnClickedButtonSo7CncProgram()
|
|
|
|
|
{
|
|
|
|
|
KillTimer(1);
|
|
|
|
|
m_KillTimer();
|
|
|
|
|
BOOL bCancel(FALSE);
|
|
|
|
|
if (!m_pSO7_Proto->so7_motion_is_homed())
|
|
|
|
|
{
|
|
|
|
@@ -1506,11 +1585,13 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7CncProgram()
|
|
|
|
|
void CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseStart()
|
|
|
|
|
{
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_START();
|
|
|
|
|
SetTimer(2,200,NULL);
|
|
|
|
|
}
|
|
|
|
|
//======================================================
|
|
|
|
|
void CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseStop()
|
|
|
|
|
{
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_STOP();
|
|
|
|
|
m_KillTimer(2);
|
|
|
|
|
}
|
|
|
|
|
//======================================================
|
|
|
|
|
void CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseWritePara()
|
|
|
|
@@ -1518,10 +1599,23 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseWritePara()
|
|
|
|
|
UpdateData(TRUE);
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
short TrigDis[2]={0};
|
|
|
|
|
char ActiveAxis(E_ACTIVE_AXIS_X);
|
|
|
|
|
char ActiveAxis(E_AXIS_X);
|
|
|
|
|
char TrigMode(E_DIS_TRIG_PULSE_EQDIS);
|
|
|
|
|
short StartIndex(0);
|
|
|
|
|
short ParaNumber(0);
|
|
|
|
|
if (((CButton *)GetDlgItem(IDC_RADIO_SELECT_X))->GetCheck())
|
|
|
|
|
{
|
|
|
|
|
ActiveAxis=E_AXIS_X;
|
|
|
|
|
}
|
|
|
|
|
else if (((CButton *)GetDlgItem(IDC_RADIO_SELECT_Y))->GetCheck())
|
|
|
|
|
{
|
|
|
|
|
ActiveAxis=E_AXIS_Y;
|
|
|
|
|
}
|
|
|
|
|
else if (((CButton *)GetDlgItem(IDC_RADIO_SELECT_Z))->GetCheck())
|
|
|
|
|
{
|
|
|
|
|
ActiveAxis=E_AXIS_Z;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CString csText(_T(""));
|
|
|
|
|
GetDlgItem(IDC_EDIT_SO7_TRIGPULSE_DIS)->GetWindowText(csText);
|
|
|
|
|
const char* cTxt=T2A(csText);
|
|
|
|
@@ -1548,15 +1642,15 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseWritePara()
|
|
|
|
|
//======================================================
|
|
|
|
|
void CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseReadPara()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
UpdateData(TRUE);
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
short GetIndex(0);
|
|
|
|
|
short GetIndex(256);
|
|
|
|
|
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_TRIG_PULSE_PARA(GetIndex);
|
|
|
|
|
|
|
|
|
|
m_OutMessage.Format(_T("[Read Trig Para]:R Axis=%d,Method=%d,TotalNo=%d,CurIndex=%d,CurPara=%d."),m_pSO7_Proto->g_machine.TrigPara.TrigPulseActiveAxis,
|
|
|
|
|
m_OutMessage.Format(_T("[Read Trig Para]:R Axis=%d,Method=%d,TotalNo=%d,CurIndex=%d,Para[%d]=%d."),m_pSO7_Proto->g_machine.TrigPara.TrigPulseActiveAxis,
|
|
|
|
|
m_pSO7_Proto->g_machine.TrigPara.TrigPulseMethod,m_pSO7_Proto->g_machine.TrigPara.TrigTotalNo,
|
|
|
|
|
m_pSO7_Proto->g_machine.TrigPara.TrigCurIndex,m_pSO7_Proto->g_machine.TrigPara.TrigCurPara);
|
|
|
|
|
m_pSO7_Proto->g_machine.TrigPara.TrigCurIndex,m_pSO7_Proto->g_machine.TrigPara.TrigCurIndex,
|
|
|
|
|
m_pSO7_Proto->g_machine.TrigPara.TrigCurPara);
|
|
|
|
|
OutputWithScroll(m_OutMessage,m_edMSG);
|
|
|
|
|
}
|
|
|
|
|
//======================================================
|
|
|
|
@@ -1571,4 +1665,5 @@ void CSO7_UtilDlg::OnBnClickedButtonSetScaleCoefficient()
|
|
|
|
|
cTempValue=T2A(m_cs_ZScaleCoeff);
|
|
|
|
|
m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution = atof(cTempValue);
|
|
|
|
|
m_pSO7_Proto->Save_So7_Config();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|