完善速度档位的调试。

This commit is contained in:
TAO Cheng
2014-03-05 12:13:35 +08:00
parent 2b6d50bd6d
commit b250cb5920
10 changed files with 264 additions and 113 deletions
@@ -468,6 +468,9 @@ CSO7_Proto::CSO7_Proto()
g_machine.x._Move_Speed_Gear =2;
g_machine.y._Move_Speed_Gear =2;
g_machine.z._Move_Speed_Gear =2;
g_machine.x._MoveTo_Speed_Gear =0;
g_machine.y._MoveTo_Speed_Gear =0;
g_machine.z._MoveTo_Speed_Gear =0;
g_machine.zm._Move_Speed_Gear =2;
g_machine.x._pos_fixed._long_ =0;
g_machine.y._pos_fixed._long_ =0;
@@ -3693,7 +3696,9 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(char ProbeType)
pSO7_CMD_02->s_SO7_CMD_MOVE_TO_XYZ.data[7]=(g_machine.z._pos_fixed._char_[1]);
pSO7_CMD_02->s_SO7_CMD_MOVE_TO_XYZ.data[8]=(g_machine.z._pos_fixed._char_[0]);
}
pSO7_CMD_02->s_SO7_CMD_MOVE_TO_XYZ.data[9]=(g_machine.x._MoveTo_Speed_Gear);
pSO7_CMD_02->s_SO7_CMD_MOVE_TO_XYZ.data[10]=(g_machine.y._MoveTo_Speed_Gear);
pSO7_CMD_02->s_SO7_CMD_MOVE_TO_XYZ.data[11]=(g_machine.z._MoveTo_Speed_Gear);
ep_buff[EP_02_CMD_IDX]._size = 0x0E;
ep_buff[EP_82_DATA_IDX]._size = 0x45;
@@ -4092,8 +4097,30 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_SET_CONSTANT_SPEED(int iSpeed,ch
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_MOTOR;
int iDeceDistance = 0;
int iDeceDistance(0);
char _speed_base(0);
char _speed_fresh(0);
char _speed_start(0);
char _speed_max(0);
if (g_machine.FirmwareVer==FirmwareVer_6_X)
{
iDeceDistance = iSpeed;
}
else
{
if (iSpeed>255)
{
BYTE MaxSpeed(255);
_speed_start=static_cast<char>((iSpeed%256)+1);
_speed_max=static_cast<char>(MaxSpeed);
}
else
{
_speed_start= static_cast<char>(iSpeed);
*(ep_buff[EP_02_CMD_IDX]._buffer+6) = 0;
}
iDeceDistance =0;
}
if(axis_type == 0)
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_SET_SPEEDX;
else if(axis_type == 1)
@@ -4102,20 +4129,10 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_SET_CONSTANT_SPEED(int iSpeed,ch
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_SET_SPEEDZ;
*(ep_buff[EP_02_CMD_IDX]._buffer+2) = xyz_gear+1;
*(ep_buff[EP_02_CMD_IDX]._buffer+3) = 0;
*(ep_buff[EP_02_CMD_IDX]._buffer+4) = 0;
if (iSpeed>255)
{
BYTE MaxSpeed(255);
*(ep_buff[EP_02_CMD_IDX]._buffer+5) = static_cast<char>((iSpeed%256)+1);
*(ep_buff[EP_02_CMD_IDX]._buffer+6) = static_cast<char>(MaxSpeed);
}
else
{
*(ep_buff[EP_02_CMD_IDX]._buffer+5) = static_cast<char>(iSpeed);
*(ep_buff[EP_02_CMD_IDX]._buffer+6) = 0;
}
iDeceDistance =0;
*(ep_buff[EP_02_CMD_IDX]._buffer+3) = _speed_base;
*(ep_buff[EP_02_CMD_IDX]._buffer+4) = _speed_fresh;
*(ep_buff[EP_02_CMD_IDX]._buffer+5) = _speed_start;
*(ep_buff[EP_02_CMD_IDX]._buffer+6) = _speed_max;
char cBuffer;
cBuffer =static_cast<char>(iDeceDistance/1000);
*(ep_buff[EP_02_CMD_IDX]._buffer+7) =cBuffer;