Remove bug。

This commit is contained in:
TAO Cheng
2014-03-10 12:19:35 +08:00
parent 50542c4435
commit 684c0c9761
9 changed files with 243 additions and 111 deletions
@@ -39,11 +39,11 @@ unsigned __stdcall CSO7_Proto::g_EP02_Thread(LPVOID pThis)
CSO7_Proto* _This = (CSO7_Proto*)pThis;
for (;;)
{
TRACE0("g_hEP02_Thread in loop set.\n");
//TRACE0("g_hEP02_Thread in loop set.\n");
if (g_hEP02_Thread_State == THREAD_EXIT)
ExitThread(0);
WaitForSingleObject(ep_buff[EP_02_CMD_IDX]._event,INFINITE);
TRACE0("g_hEP02_Thread obtained event.\n");
//TRACE0("g_hEP02_Thread obtained event.\n");
switch (g_hEP02_Thread_State)
{
case THREAD_EXIT:
@@ -54,16 +54,16 @@ unsigned __stdcall CSO7_Proto::g_EP02_Thread(LPVOID pThis)
break;
case THREAD_RUNNING_STATE1:
{
TRACE0("g_hEP02_Thread calling _send_usb_cmd. EP_S07_02; \n");
//TRACE0("g_hEP02_Thread calling _send_usb_cmd. EP_S07_02; \n");
_This->_send_usb_cmd(EP_02_CMD_IDX);
TRACE0("g_hEP02_Thread return _send_usb_cmd. EP_S07_02; \n");
//TRACE0("g_hEP02_Thread return _send_usb_cmd. EP_S07_02; \n");
break;
}
case THREAD_RUNNING_STATE2:
{
TRACE0("g_hSerialUsbThread processing _write_usb_data_only();\n");
//TRACE0("g_hSerialUsbThread processing _write_usb_data_only();\n");
_This->_write_usb_data_only(EP_02_CMD_IDX);
TRACE0("g_hSerialUsbThread return from _write_usb_data_only();\n");
//TRACE0("g_hSerialUsbThread return from _write_usb_data_only();\n");
break;
}
default:
@@ -82,11 +82,11 @@ unsigned __stdcall CSO7_Proto::g_EP8x_Thread(LPVOID pThis)
CSO7_Proto* _This = (CSO7_Proto*)pThis;
for (;;)
{
TRACE0("g_hEP8x_Thread_State in loop set.\n");
//TRACE0("g_hEP8x_Thread_State in loop set.\n");
if (g_hEP8x_Thread_State == THREAD_EXIT)
ExitThread(0);
WaitForSingleObject(ep_buff[EP_82_DATA_IDX]._event, INFINITE);
TRACE0("g_hEP8x_Thread_State obtained event.\n");
//TRACE0("g_hEP8x_Thread_State obtained event.\n");
switch (g_hEP8x_Thread_State)
{
case THREAD_EXIT:
@@ -288,8 +288,7 @@ void CSO7_Proto::_process_rcv_transfer_data(int iEP)
break;
};
}
TRACE0("_process_rcv_transfer_data() : Update EP_82_DATA_IDX status.\r\n");
//TRACE0("_process_rcv_transfer_data() : Update EP_82_DATA_IDX status.\r\n");
break;
case EP_02_CMD_IDX :
TRACE0("_process_rcv_transfer_data() : Update EP_02_CMD_IDX.\r\n");
@@ -2833,14 +2832,14 @@ SSI_STATUS_MOTION CSO7_Proto::Exit_SO7Usb()
//******************************************************************************
SSI_STATUS_MOTION CSO7_Proto::_do_single_threaded_usb_comm(int iEP_Base)
{
TRACE1("=====_do_single_threaded_usb_comm(iEP) g_hEP01_Thread_Event. %x\n", iEP_Base);
//TRACE1("=====_do_single_threaded_usb_comm(iEP) g_hEP01_Thread_Event. %x\n", iEP_Base);
while ((ep_buff[iEP_Base]._hProtoPending == TRUE) || (ep_buff[iEP_Base+1]._hProtoPending == TRUE))
{
ASSERT(0);
Sleep(3);
}
ep_buff[iEP_Base]._hProtoPending = ep_buff[iEP_Base+1]._hProtoPending = TRUE;
TRACE1("=====_do_single_threaded_usb_comm(iEP_Base) SetEvent(g_hEP01_Thread_Event): %X \r\n", ep_buff[iEP_Base]._save_send_cmd);
//TRACE1("=====_do_single_threaded_usb_comm(iEP_Base) SetEvent(g_hEP01_Thread_Event): %X \r\n", ep_buff[iEP_Base]._save_send_cmd);
if (iEP_Base == EP_01_CMD_IDX)
SetEvent(ep_buff[EP_82_DATA_IDX]._event);
else
@@ -2849,7 +2848,7 @@ SSI_STATUS_MOTION CSO7_Proto::_do_single_threaded_usb_comm(int iEP_Base)
{
Sleep(3);
}
TRACE1("=====_do_single_threaded_usb_comm(iEP) g_hProtoDoneEvents. %x\n", iEP_Base);
//TRACE1("=====_do_single_threaded_usb_comm(iEP) g_hProtoDoneEvents. %x\n", iEP_Base);
return SSI_STATUS_MOTION_NORMAL;
}
@@ -2892,7 +2891,7 @@ SSI_STATUS_MOTION CSO7_Proto::_read_data_8x(int iEP_Base)
}
if (iEP_Base == EP_82_DATA_IDX)
{
TRACE2("_read_data_81() iEP : %X - ep_buff[iEP]._size : %X \r\n", iEP_Base, ep_buff[iEP_Base]._size);
//TRACE2("_read_data_81() iEP : %X - ep_buff[iEP]._size : %X \r\n", iEP_Base, ep_buff[iEP_Base]._size);
int _ret;
_ret = usb_bulk_read(g_dev, ep_buff[iEP_Base]._ep, (char *)ep_buff[iEP_Base]._buffer,(int) ep_buff[iEP_Base]._size, 5000);
if (_ret > 0)
@@ -2910,7 +2909,7 @@ SSI_STATUS_MOTION CSO7_Proto::_read_data_8x(int iEP_Base)
}
else
{
TRACE2("_read_data_81() iEP : %X - ep_buff[iEP]._size : %X \r\n", iEP_Base, ep_buff[iEP_Base]._size);
//TRACE2("_read_data_81() iEP : %X - ep_buff[iEP]._size : %X \r\n", iEP_Base, ep_buff[iEP_Base]._size);
int _ret;
_ret = usb_interrupt_read(g_dev, ep_buff[iEP_Base]._ep, (char *)ep_buff[iEP_Base]._buffer,(int) ep_buff[iEP_Base]._size, 20);
if (_ret > 0)
@@ -2945,7 +2944,7 @@ SSI_STATUS_MOTION CSO7_Proto::_send_usb_cmd(int iEP_Base)
ep_buff[iEP_Base]._save_send_cmd0 = ep_buff[iEP_Base]._buffer[1];
ep_buff[iEP_Base]._save_send_cmd1 = ep_buff[iEP_Base]._buffer[2];
TRACE3("_send_usb_cmd() iEP : %X - ep_buff[iEP]._save_send_cmd : %X ._buffer[0] : %X\r\n", iEP_Base, ep_buff[iEP_Base]._save_send_cmd, ep_buff[iEP_Base]._buffer[0]);
//TRACE3("_send_usb_cmd() iEP : %X - ep_buff[iEP]._save_send_cmd : %X ._buffer[0] : %X\r\n", iEP_Base, ep_buff[iEP_Base]._save_send_cmd, ep_buff[iEP_Base]._buffer[0]);
_ret = usb_bulk_write(g_dev, ep_buff[iEP_Base]._ep, (char *)ep_buff[iEP_Base]._buffer,(int) ep_buff[iEP_Base]._size, 50);
if (_ret < 0)
@@ -2977,7 +2976,7 @@ SSI_STATUS_MOTION CSO7_Proto::_write_usb_data_only(int iEP_Base)
ep_buff[iEP_Base]._save_send_cmd0 = ep_buff[iEP_Base]._buffer[1];
ep_buff[iEP_Base]._save_send_cmd1 = ep_buff[iEP_Base]._buffer[2];
TRACE3("_send_usb_cmd() iEP : %X - ep_buff[iEP]._save_send_cmd : %X ._buffer[0] : %X\r\n", iEP_Base, ep_buff[iEP_Base]._save_send_cmd, ep_buff[iEP_Base]._buffer[0]);
//TRACE3("_send_usb_cmd() iEP : %X - ep_buff[iEP]._save_send_cmd : %X ._buffer[0] : %X\r\n", iEP_Base, ep_buff[iEP_Base]._save_send_cmd, ep_buff[iEP_Base]._buffer[0]);
_ret = usb_bulk_write(g_dev, ep_buff[iEP_Base]._ep, (char *)ep_buff[iEP_Base]._buffer,(int) ep_buff[iEP_Base]._size, 50);
if (_ret < 0)
@@ -3464,6 +3463,8 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_X(char SpeedGear)
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_MOVEX;
*(ep_buff[EP_02_CMD_IDX]._buffer+2) = SpeedGear;
TRACE1("[MOVE_X]:%d\n",SpeedGear);
ep_buff[EP_02_CMD_IDX]._size = 0x03;
ep_buff[EP_81_DATA_IDX]._size = 0x03;
@@ -3483,6 +3484,8 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_Y(char SpeedGear)
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_MOVEY;
*(ep_buff[EP_02_CMD_IDX]._buffer+2) = SpeedGear;
TRACE1("[MOVE_Y]:%d\n",SpeedGear);
ep_buff[EP_02_CMD_IDX]._size = 0x03;
ep_buff[EP_81_DATA_IDX]._size = 0x03;
@@ -3502,6 +3505,8 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_Z(char SpeedGear)
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_MOVEZ;
*(ep_buff[EP_02_CMD_IDX]._buffer+2) = SpeedGear;
TRACE1("[MOVE_Z]:%d\n",SpeedGear);
ep_buff[EP_02_CMD_IDX]._size = 0x03;
ep_buff[EP_81_DATA_IDX]._size = 0x03;
@@ -3539,6 +3544,8 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_STOP_MOVE_XYZ()
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_MOTOR;
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_STOPA;
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=0x00;
TRACE("[STOP_XYZ]");
ep_buff[EP_02_CMD_IDX]._size = 0x04;
ep_buff[EP_81_DATA_IDX]._size = 0x04;
@@ -4687,7 +4694,7 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_XY(char SpeedGearX,char Spe
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=SpeedGearX;
*(ep_buff[EP_02_CMD_IDX]._buffer+3)=SpeedGearY;
TRACE2("--MOVEXY--[X]:%d;[Y]:%d.\r\n",SpeedGearX,SpeedGearY);
TRACE2("[MOVE_XY]:X %d;Y %d.\n",SpeedGearX,SpeedGearY);
ep_buff[EP_02_CMD_IDX]._size = 0x04;
ep_buff[EP_81_DATA_IDX]._size = 0x45;