diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMD_H.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMD_H.h index cb0fc36..b40e826 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMD_H.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMD_H.h @@ -351,6 +351,11 @@ enum PRO_DATA CT_START_TRIG_PULSE, CT_STOP_TRIG_PULSE, + CT_SET_IO_PURPOSE, + + CT_SET_TRIG_SAMPLE_CNT, + CT_GET_TRIG_SAMPLE_CNT, + CT_DATA_TOTAL=255 }; enum EHOME_MODE diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp index 650ffd6..393caa1 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp @@ -6115,12 +6115,15 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_READ_TRIG_PULSE_PARA(short ParaI ReleaseMutex(g_hEP02_Serial_Mutex); return SSI_STATUS_MOTION_NORMAL; } +static char caxis=1; //============================================================== SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_WRITE_TRIG_PULSE_PARA(char ActiveAxis,char TrigMode,short StartIndex,short ParaNumber,short* Para) { + caxis=ActiveAxis; WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE); memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE); char cBuff(0); + short sPara(0); *(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA; *(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_WRITE_TRIG_PULSE_PARA; *(ep_buff[EP_02_CMD_IDX]._buffer+2) = ActiveAxis; @@ -6136,12 +6139,26 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_WRITE_TRIG_PULSE_PARA(char Activ int j=8; for (short i=0;i>8) & 0x0ff; - *(ep_buff[EP_02_CMD_IDX]._buffer+j) = cBuff; - j++; - cBuff = Para[i] & 0x0ff; - *(ep_buff[EP_02_CMD_IDX]._buffer+j) = cBuff; - j++; + if (Para[i]<0) + { + sPara=-Para[i]; + cBuff = (sPara>>8) & 0x0ff; + cBuff = cBuff | 0x80; + *(ep_buff[EP_02_CMD_IDX]._buffer+j) = cBuff; + j++; + cBuff = sPara & 0x0ff; + *(ep_buff[EP_02_CMD_IDX]._buffer+j) = cBuff; + j++; + } + else + { + cBuff = (Para[i]>>8) & 0x0ff; + *(ep_buff[EP_02_CMD_IDX]._buffer+j) = cBuff; + j++; + cBuff = Para[i] & 0x0ff; + *(ep_buff[EP_02_CMD_IDX]._buffer+j) = cBuff; + j++; + } } ep_buff[EP_02_CMD_IDX]._size = j; ep_buff[EP_82_DATA_IDX]._size = 0x02; @@ -6160,7 +6177,7 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_TRIG_PULSE_START() *(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA; *(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_START_TRIG_PULSE; - *(ep_buff[EP_02_CMD_IDX]._buffer+2)=0; + *(ep_buff[EP_02_CMD_IDX]._buffer+2)=caxis; ep_buff[EP_02_CMD_IDX]._size = 0x03; ep_buff[EP_81_DATA_IDX]._size = 0x00; @@ -6178,7 +6195,7 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_TRIG_PULSE_STOP() *(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA; *(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_STOP_TRIG_PULSE; - *(ep_buff[EP_02_CMD_IDX]._buffer+2)=0; + *(ep_buff[EP_02_CMD_IDX]._buffer+2)=caxis; ep_buff[EP_02_CMD_IDX]._size = 0x03; ep_buff[EP_81_DATA_IDX]._size = 0x00; @@ -6188,9 +6205,30 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_TRIG_PULSE_STOP() ReleaseMutex(g_hEP02_Serial_Mutex); return SSI_STATUS_MOTION_NORMAL; } +//============================================================== +SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_IO_PURPOSE(BOOL _bEnTrigIO) +{ + WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE); + memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE); + *(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA; + *(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_SET_IO_PURPOSE; + if (_bEnTrigIO) + { + *(ep_buff[EP_02_CMD_IDX]._buffer+2)=1; + } + else + { + *(ep_buff[EP_02_CMD_IDX]._buffer+2)=0; + } + ep_buff[EP_02_CMD_IDX]._size = 0x03; + ep_buff[EP_81_DATA_IDX]._size = 0x00; - + g_hEP02_Thread_State=THREAD_RUNNING_STATE2; + _do_single_threaded_usb_comm(EP_02_CMD_IDX); + ReleaseMutex(g_hEP02_Serial_Mutex); + return SSI_STATUS_MOTION_NORMAL; +} //============================================================== SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_MOVE_X() { @@ -6571,6 +6609,11 @@ SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_READ_TRIG_PULSE_PARA() g_machine.TrigPara.TrigCurPara._char_[2]=0; g_machine.TrigPara.TrigCurPara._char_[3]=0; index++; + if (g_machine.TrigPara.TrigCurPara._long_>32768) + { + g_machine.TrigPara.TrigCurPara._long_-=32768; + g_machine.TrigPara.TrigCurPara._long_*=-1; + } return SSI_STATUS_MOTION_NORMAL; } //============================================================== diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h index 0d66fee..17864a4 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h @@ -85,7 +85,8 @@ enum ESO7_AXIS_TYPE { E_AXIS_Y=1, E_AXIS_X=2, - E_AXIS_Z=3 + E_AXIS_Z=3, + E_AXIS_V=4 }; enum ESO7_WRITE_FPGA_DATA_ADDR { @@ -545,6 +546,7 @@ public: SSI_STATUS_MOTION _send_cmd_SO7_CMD_WRITE_TRIG_PULSE_PARA(char ActiveAxis,char TrigMode,short StartIndex,short ParaNumber,short* Para); SSI_STATUS_MOTION _send_cmd_SO7_CMD_TRIG_PULSE_START(); SSI_STATUS_MOTION _send_cmd_SO7_CMD_TRIG_PULSE_STOP(); + SSI_STATUS_MOTION _send_cmd_SO7_CMD_IO_PURPOSE(BOOL _bEnTrigIO); static SSI_STATUS_MOTION _process_SO7_CMD_MOVE_X(); 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 e105972..3902d58 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -4585,3 +4585,60 @@ Usb Port Initialized. Usb Port Initialized. Usb Port Initialized. Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. 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 5456e4c..eadf6ff 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 @@ -17,11 +17,11 @@ SPEED_START_X1=20 SPEED_FRESH_X1=8 SPEED_SLOW_X1=3.000 ; -SPEED_BASE_X2=16 +SPEED_BASE_X2=8 SPEED_MAX_X2=10 -SPEED_START_X2=12 +SPEED_START_X2=10 SPEED_FRESH_X2=10 -SPEED_SLOW_X2=2.000 +SPEED_SLOW_X2=0.500 ; SPEED_BASE_X3=2 SPEED_MAX_X3=0 @@ -47,11 +47,11 @@ SPEED_START_Y1=20 SPEED_FRESH_Y1=8 SPEED_SLOW_Y1=2.000 ; -SPEED_BASE_Y2=16 +SPEED_BASE_Y2=8 SPEED_MAX_Y2=10 -SPEED_START_Y2=12 +SPEED_START_Y2=10 SPEED_FRESH_Y2=10 -SPEED_SLOW_Y2=1.000 +SPEED_SLOW_Y2=0.500 ; SPEED_BASE_Y3=2 SPEED_MAX_Y3=0 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 e54e45c..6079480 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 @@ -59,7 +59,7 @@ BEGIN PUSHBUTTON "Read XYZ Axis",IDC_BUTTON_SO7_READ_AXIS_XYZ,104,24,60,15 PUSHBUTTON "EnProbe OFF",IDC_BUTTON_READ_PROBE,104,45,60,15 PUSHBUTTON "Read V Axis",IDC_BUTTON_SO7_READ_AXIS_V,167,24,60,15 - PUSHBUTTON "Get Fixture Value",IDC_BUTTON_GET_FIXTURE_FLAG,104,66,60,15 + PUSHBUTTON "Get Fixture Value",IDC_BUTTON_GET_FIXTURE_FLAG,104,66,24,15,NOT WS_VISIBLE PUSHBUTTON "Get Reset Flag",IDC_BUTTON_SO7_GET_RESET_FLAG,104,87,60,15 EDITTEXT IDC_EDIT_AXIAL_LIGHT,333,26,29,12,ES_AUTOHSCROLL | NOT WS_TABSTOP EDITTEXT IDC_EDIT_BOTTOM_LIGHT,333,40,29,12,ES_AUTOHSCROLL | NOT WS_TABSTOP @@ -89,7 +89,7 @@ BEGIN EDITTEXT IDC_EDIT_Z_SCALE_COEFFICIENT,155,290,39,12,ES_CENTER | ES_AUTOHSCROLL EDITTEXT IDC_EDIT_SET_VER_NO,261,25,29,14,ES_AUTOHSCROLL GROUPBOX "USB Control",IDC_STATIC,17,12,81,59 - GROUPBOX "Config",IDC_STATIC,17,130,116,44 + GROUPBOX "Config",IDC_STATIC,17,129,116,44 LTEXT "Ver NO.",IDC_STATIC,232,27,26,8 GROUPBOX "R/W Data",IDC_STATIC,301,211,144,54 CONTROL "X",IDC_RADIO_SELECT_X,"Button",BS_AUTORADIOBUTTON | WS_GROUP,307,224,20,10 @@ -179,6 +179,7 @@ BEGIN EDITTEXT IDC_EDIT_SO7_TRIGPULSE_DIS2,184,155,36,14,ES_AUTOHSCROLL PUSHBUTTON "确定",IDC_BUTTON_SET_SCALE_COEFFICIENT,202,285,34,19 GROUPBOX "光栅尺分辨率(μm)",IDC_STATIC,18,277,223,31 + PUSHBUTTON "General IO",IDC_BUTTON_S07_SET_IO_PURPOSE,104,65,60,15 END IDD_SO7_UTIL_SEND_PARAMETER DIALOGEX 0, 0, 750, 480 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 d6aa4cd..3a7624a 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 @@ -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(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(ActiveAxis,10); + cdata[1]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(ActiveAxis,13); + cdata[2]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(ActiveAxis,14); + cdata[3]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(ActiveAxis,15); + cdata[4]=static_cast(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(); -} \ No newline at end of file +} + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h index 1cf1b40..3a4395e 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h @@ -65,6 +65,7 @@ public: long m_ZsignalPosZ; char m_HomeMode; bool m_bEnProbe; + BOOL m_bETrigIO; INT m_ReadAxisIntervalTime; BYTE m_IOStatus[4]; INT m_IOAddr; @@ -72,6 +73,7 @@ public: void UpdateIOAddrCaption(int _type=0); void TestZSignal(); void OutputWithScroll(const CString &strNewText,CEdit &edtOutput); + void m_KillTimer(int nIDEvent=0); afx_msg void OnBnClickedButtonInitSo7usb(); afx_msg void OnBnClickedButtonTermSo7usb(); afx_msg void OnBnClickedButtonStartSo7machine(); @@ -132,4 +134,5 @@ public: afx_msg void OnBnClickedButtonSo7TrigpulseWritePara(); afx_msg void OnBnClickedButtonSo7TrigpulseReadPara(); afx_msg void OnBnClickedButtonSetScaleCoefficient(); + afx_msg void OnBnClickedButtonS07SetIoPurpose(); }; 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 32341c7..728508f 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -889,7 +889,6 @@ #define IDC_BUTTON_STIL_LASER_INIT 1794 #define IDC_COMBO_RWDATA_ADDR 1795 #define IDC_BTN_KEYENCE_LKG5000_ETHERNET_CONNECT2 1795 -#define IDC_BUTTON_STIL_LASER_INIT2 1795 #define IDC_BUTTON_STIL_LASER_SET_MODE 1795 #define IDC_EDIT_MOTION_SPEEDY 1796 #define IDC_COMBO_OUTPORT_NUMBER 1796 @@ -1001,6 +1000,8 @@ #define IDC_EDIT_STIL_LASER_VALUE1 1861 #define IDC_EDIT_STIL_MESSAGE 1862 #define IDC_BUTTON_STIL_CLEAR_LOG 1863 +#define IDC_BUTTON6 1864 +#define IDC_BUTTON_S07_SET_IO_PURPOSE 1864 #define IDC_BUTTON_DIY_EXIT_BUTTON 32740 #define ID_EDIT_SO7_CONFIG_MOTION 32741 @@ -1010,7 +1011,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 191 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1864 +#define _APS_NEXT_CONTROL_VALUE 1865 #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 c392d70..a7ae338 100644 Binary files a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo and b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo differ