public void RotationIsotonicB(int forceOrSpeed, int target, int bendAngle, int stretchAngle,bool isControl) { ControlParamPackage paramPackage = new ControlParamPackage(); paramPackage.RotationaForceOrSpeed = forceOrSpeed; paramPackage.RotationTarget = target * -1; paramPackage.LeftRotationAngleLimit = bendAngle; paramPackage.RightRotationAngleLimit = stretchAngle; WriteData(CreateParamBuffer(paramPackage, ControlParamType.Rotationa)); if (isControl) { Thread.Sleep(10); ControlCommandPackage package = new ControlCommandPackage(); package.CommandType = CommandType.IsotonicB; package.CommandParam = CommandParam.Rotation; WriteData(CreateCommandBuffer(package)); } }
public void RotationAssist(int forceOrSpeed, int target, int leftAngle, int rightAngle) { ControlParamPackage paramPackage = new ControlParamPackage(); //paramPackage.RotationaForce = force; //paramPackage.RotationSpeed = speed; paramPackage.RotationaForceOrSpeed = forceOrSpeed; paramPackage.RotationTarget = target; paramPackage.LeftRotationAngleLimit = leftAngle; paramPackage.RightRotationAngleLimit = rightAngle; WriteData(CreateParamBuffer(paramPackage, ControlParamType.Rotationa)); Thread.Sleep(10); ControlCommandPackage package = new ControlCommandPackage(); package.CommandType = CommandType.Assist; package.CommandParam = CommandParam.Rotation; WriteData(CreateCommandBuffer(package)); }
public void RotationIsotonicA() { ControlParamPackage paramPackage = new ControlParamPackage(); WriteData(CreateParamBuffer(paramPackage, ControlParamType.Rotationa)); Thread.Sleep(10); ControlCommandPackage package = new ControlCommandPackage(); package.CommandType = CommandType.IsotonicA2; package.CommandParam = CommandParam.Rotation; WriteData(CreateCommandBuffer(package)); }
public void BendStretchIsotonicB(int forceOrSpeed, int target, int bendAngle, int stretchAngle,bool isControl) { ControlParamPackage paramPackage = new ControlParamPackage(); paramPackage.BendStretchForceOrSpeed = forceOrSpeed; paramPackage.BendStretchTarget = target * -1; //paramPackage.BendStretchForce = force; //paramPackage.BendStretchSpeed = speed; paramPackage.BendAngleLimit = bendAngle; paramPackage.StretchAngleLimit = stretchAngle; WriteData(CreateParamBuffer(paramPackage, ControlParamType.BendStretch)); if (isControl) { Thread.Sleep(10); ControlCommandPackage package = new ControlCommandPackage(); package.CommandType = CommandType.IsotonicB; package.CommandParam = CommandParam.BendStretch; WriteData(CreateCommandBuffer(package)); } }
public void BendStretchIsotonicA() { ControlParamPackage paramPackage = new ControlParamPackage(); WriteData(CreateParamBuffer(paramPackage, ControlParamType.BendStretch)); Thread.Sleep(10); ControlCommandPackage package = new ControlCommandPackage(); package.CommandType = CommandType.IsotonicA2; package.CommandParam = CommandParam.BendStretch; WriteData(CreateCommandBuffer(package)); }
public void BendStretchAssist(int forceOrSpeed, int target, int bendAngle, int stretchAngle) { ControlParamPackage paramPackage = new ControlParamPackage(); paramPackage.BendStretchForceOrSpeed = forceOrSpeed; paramPackage.BendStretchTarget = target; //paramPackage.BendStretchForce = force; //paramPackage.BendStretchSpeed = speed; paramPackage.BendAngleLimit = bendAngle; paramPackage.StretchAngleLimit = stretchAngle; WriteData(CreateParamBuffer(paramPackage, ControlParamType.BendStretch)); Thread.Sleep(10); ControlCommandPackage package = new ControlCommandPackage(); package.CommandType = CommandType.Assist; package.CommandParam = CommandParam.BendStretch; WriteData(CreateCommandBuffer(package)); }
/// <summary> /// /// </summary> /// <param name="package"></param> /// <param name="type">0 屈伸,1旋转</param> /// <returns></returns> private byte[] CreateParamBuffer(ControlParamPackage package, ControlParamType type) { byte[] result = new byte[8]; if (type == ControlParamType.BendStretch) { result[0] = 0x13; var temp = BitConverter.GetBytes((short)package.BendStretchForceOrSpeed); result[1] = temp[0]; result[2] = temp[1]; temp = BitConverter.GetBytes((short)package.BendStretchTarget); result[3] = temp[0]; result[4] = temp[1]; result[5] = BitConverter.GetBytes(package.BendAngleLimit)[0]; result[6] = BitConverter.GetBytes(package.StretchAngleLimit)[0]; } else { result[0] = 0x14; var temp = BitConverter.GetBytes((short)package.RotationaForceOrSpeed); result[1] = temp[0]; result[2] = temp[1]; temp = BitConverter.GetBytes((short)package.RotationTarget); result[3] = temp[0]; result[4] = temp[1]; result[5] = BitConverter.GetBytes(package.LeftRotationAngleLimit)[0]; result[6] = BitConverter.GetBytes(package.RightRotationAngleLimit)[0]; } return result; }