修改等间距触发设置参数问题。

This commit is contained in:
TAO Cheng
2014-08-06 20:56:13 +08:00
parent 4bb02c6002
commit c69fd170d9
4 changed files with 35 additions and 15 deletions
@@ -4837,19 +4837,27 @@ SSI_STATUS_MOTION CSO7_Proto::so7_motion_set_trig_para(char _cAxis,char _TrigMod
{
long SetStartIndex(0);
long SetParaNumber(0);
do
if (_TrigMode==E_DIS_TRIG_PULSE_EQDIS)
{
if ((_ParaNumber-SetStartIndex)>15)
{
SetParaNumber=15;
}
else
{
SetParaNumber=(_ParaNumber-SetStartIndex);
}
SetParaNumber=_ParaNumber;
_send_cmd_SO7_CMD_WRITE_TRIG_PULSE_PARA(_cAxis,_TrigMode,SetStartIndex,SetParaNumber,_ParaData);
SetStartIndex+=SetParaNumber;
} while ((_ParaNumber-SetStartIndex)>0);
}
else
{
do
{
if ((_ParaNumber-SetStartIndex)>15)
{
SetParaNumber=15;
}
else
{
SetParaNumber=(_ParaNumber-SetStartIndex);
}
_send_cmd_SO7_CMD_WRITE_TRIG_PULSE_PARA(_cAxis,_TrigMode,SetStartIndex,SetParaNumber,_ParaData);
SetStartIndex+=SetParaNumber;
} while ((_ParaNumber-SetStartIndex)>0);
}
return SSI_STATUS_MOTION_NORMAL;
}
@@ -6233,7 +6241,16 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_WRITE_TRIG_PULSE_PARA(char Activ
*(ep_buff[EP_02_CMD_IDX]._buffer+index) = cBuff;
index++;
int j=index;
for (long i=StartIndex;i<(StartIndex+ParaNumber);i++)
long lSetParaNumber(0);
if (TrigMode==E_DIS_TRIG_PULSE_EQDIS)
{
lSetParaNumber=1;
}
else
{
lSetParaNumber=ParaNumber;
}
for (long i=StartIndex;i<(StartIndex+lSetParaNumber);i++)
{
if (Para[i]<0)
{
@@ -4763,3 +4763,8 @@ 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.
@@ -273,7 +273,6 @@ void CSo7_Util_External_Trig::m_UpdateCtrls(int _type)
if (m_TrigMode==E_DIS_TRIG_PULSE_EQDIS)
{
((CEdit*)GetDlgItem(IDC_EDIT_SO7_EXTRIG_EQDIS))->EnableWindow(TRUE);
((CEdit*)GetDlgItem(IDC_EDIT_SO7_EXTRIG_SPECLOCATION))->EnableWindow(FALSE);
((CButton*)GetDlgItem(IDC_LIST_SO7_EXTRIG_SPECLOCATION))->EnableWindow(FALSE);
if (_type==0)
{
@@ -288,7 +287,6 @@ void CSo7_Util_External_Trig::m_UpdateCtrls(int _type)
else
{
((CEdit*)GetDlgItem(IDC_EDIT_SO7_EXTRIG_EQDIS))->EnableWindow(FALSE);
((CEdit*)GetDlgItem(IDC_EDIT_SO7_EXTRIG_SPECLOCATION))->EnableWindow(TRUE);
((CButton*)GetDlgItem(IDC_LIST_SO7_EXTRIG_SPECLOCATION))->EnableWindow(TRUE);
if (_type==0)
{
@@ -343,7 +341,7 @@ void CSo7_Util_External_Trig::m_UpdatePara(BOOL _bSave)
cTmp=T2A(csTmp);
dTmp=atof(cTmp);
m_TrigPara[0] = static_cast<long>(m_pSO7_Proto->MMtoScale(dTmp,dResolution));
iParaNumber=1;
iParaNumber=m_ParaNumber;
dEndPos+=m_ParaNumber*dTmp;
}
else