Ejemplo n.º 1
0
 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));
     }
 }
Ejemplo n.º 2
0
 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));
 }
Ejemplo n.º 3
0
 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));
 }
Ejemplo n.º 4
0
 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));
     }
 }
Ejemplo n.º 5
0
 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));
 }
Ejemplo n.º 6
0
 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));
 }
Ejemplo n.º 7
0
        /// <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;            
        }