新增控制器SEQ NUMBER的读写命令。
This commit is contained in:
@@ -341,9 +341,11 @@ enum PRO_DATA
|
||||
CT_CLEAR_PROBE_FLAG,
|
||||
|
||||
CT_READ_IO_DAT,
|
||||
CT_WRITE_IO_DAT,
|
||||
|
||||
|
||||
CT_WRITE_IO_DAT,
|
||||
|
||||
CT_READ_SEQ_NUMBER,
|
||||
CT_WRITE_SEQ_NUMBER,
|
||||
|
||||
CT_DATA_TOTAL=255
|
||||
};
|
||||
|
||||
|
||||
@@ -241,6 +241,10 @@ void CSO7_Proto::_process_rcv_transfer_data(int iEP)
|
||||
case CT_READ_SYSTEM:
|
||||
_process_SO7_CMD_READ_DATA_FROM_FPGA();
|
||||
break;
|
||||
case CT_READ_SEQ_NUMBER:
|
||||
_process_SO7_CMD_GET_SEQ_NUMBER();
|
||||
break;
|
||||
|
||||
default:
|
||||
TRACE1("_process_rcv_transfer_data() : Unknown ep_buff[EP_02_CMD_IDX]._save_send_cmd : %X \r\n", ep_buff[EP_02_CMD_IDX]._save_send_cmd);
|
||||
TRACE1("_process_rcv_transfer_data() : Unknown ep_buff[EP_81_DATA_IDX]._buffer[0] : %X \r\n", ep_buff[EP_81_DATA_IDX]._buffer[0]);
|
||||
@@ -499,7 +503,7 @@ CSO7_Proto::CSO7_Proto()
|
||||
g_machine.dRotaryCirclDis=100;
|
||||
g_machine.Light_Size=0;
|
||||
g_machine.Light_Switch=0;
|
||||
|
||||
g_machine.SEQ_NUMBER=0;
|
||||
g_machine.s_machine_config.x_axis._scale_resolution=0.5;
|
||||
g_machine.s_machine_config.y_axis._scale_resolution=0.5;
|
||||
g_machine.s_machine_config.z_axis._scale_resolution=0.5;
|
||||
@@ -4628,7 +4632,42 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_XY(char SpeedGearX,char Spe
|
||||
ReleaseMutex(g_hEP02_Serial_Mutex);
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
//==============================================================
|
||||
SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_SET_SEQ_NUMBER()
|
||||
{
|
||||
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_WRITE_SEQ_NUMBER;
|
||||
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=g_machine.SEQ_NUMBER;
|
||||
|
||||
ep_buff[EP_02_CMD_IDX]._size = 0x03;
|
||||
ep_buff[EP_81_DATA_IDX]._size = 0x45;
|
||||
|
||||
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::_send_cmd_SO7_CMD_GET_SEQ_NUMBER()
|
||||
{
|
||||
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_READ_SEQ_NUMBER;
|
||||
|
||||
ep_buff[EP_02_CMD_IDX]._size = 0x02;
|
||||
ep_buff[EP_82_DATA_IDX]._size = 0x01;
|
||||
|
||||
g_hEP02_Thread_State=THREAD_RUNNING_STATE1;
|
||||
g_hEP8x_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()
|
||||
{
|
||||
@@ -4976,4 +5015,10 @@ SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_GET_INTERRUPT_MSG(BYTE Type)
|
||||
g_machine.GetInterruptMsg[Type][0]=*(ep_buff[EP_82_DATA_IDX]._buffer);
|
||||
g_machine.GetInterruptMsg[Type][1]=*(ep_buff[EP_82_DATA_IDX]._buffer+1);
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
//==============================================================
|
||||
SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_GET_SEQ_NUMBER()
|
||||
{
|
||||
g_machine.SEQ_NUMBER=*(ep_buff[EP_82_DATA_IDX]._buffer);
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
@@ -235,7 +235,7 @@ struct struct_so7_machine
|
||||
BOOL IsOffline;
|
||||
BOOL IsSupportReadInterrputMsg;
|
||||
double dRotaryCirclDis;
|
||||
|
||||
char SEQ_NUMBER;
|
||||
struct s_so7_axis x;
|
||||
struct s_so7_axis y;
|
||||
struct s_so7_axis z;
|
||||
@@ -448,6 +448,8 @@ public:
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(char Method);
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_MOVE_XY(char SpeedGearX,char SpeedGearY);
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_SET_CONSTANT_SPEED(int iSpeed,char axis_type,char xyz_gear);
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_SET_SEQ_NUMBER();
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_GET_SEQ_NUMBER();
|
||||
|
||||
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_MOVE_X();
|
||||
@@ -486,6 +488,8 @@ public:
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_READ_DATA_FROM_FPGA();
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_READ_FIRMWARE_VERSION_INFO();
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_GET_INTERRUPT_MSG(BYTE Type);
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_GET_SEQ_NUMBER();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user