完善外触发调试。
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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<ParaNumber;i++)
|
||||
{
|
||||
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++;
|
||||
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;
|
||||
}
|
||||
//==============================================================
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user