Exemplo n.º 1
0
        private Response parseAsync()
        {
            Response asyncSensorDatum;
            Byte     item  = _rawData[2];
            Byte     num   = _rawData[3];
            Byte     item1 = _rawData[4];
            Int32    num1  = Value.IntForBytes(item1, num) - 1;
            Int32    num2  = num1 + 6;

            if (_rawData.Count >= num2)
            {
                Byte[] numArray = new Byte[num1];
                _rawData.CopyTo(5, numArray, 0, num1);
                _rawData.RemoveRange(0, num2);
                if (item == 3)
                {
                    asyncSensorDatum = new AsyncSensorData(_robot, ResponseCode.OK, 0, numArray, AsynchronousId.SENSOR_DATA_STREAMING, num1, _robot.SensorControl.Mask);
                }
                else if (item != 7)
                {
                    asyncSensorDatum = null;
                }
                else
                {
                    asyncSensorDatum = new CollisionData(_robot, ResponseCode.OK, 0, numArray, AsynchronousId.COLLISION_DETECTED, num1);
                }
            }
            else
            {
                asyncSensorDatum = null;
            }
            return(asyncSensorDatum);
        }
Exemplo n.º 2
0
 private Response parseAsync()
 {
     Response asyncSensorDatum;
     Byte item = _rawData[2];
     Byte num = _rawData[3];
     Byte item1 = _rawData[4];
     Int32 num1 = Value.IntForBytes(item1, num) - 1;
     Int32 num2 = num1 + 6;
     if (_rawData.Count >= num2)
     {
         Byte[] numArray = new Byte[num1];
         _rawData.CopyTo(5, numArray, 0, num1);
         _rawData.RemoveRange(0, num2);
         if (item == 3)
         {
             asyncSensorDatum = new AsyncSensorData(_robot, ResponseCode.OK, 0, numArray, AsynchronousId.SENSOR_DATA_STREAMING, num1, _robot.SensorControl.Mask);
         }
         else if (item != 7)
         {
             asyncSensorDatum = null;
         }
         else
         {
             asyncSensorDatum = new CollisionData(_robot, ResponseCode.OK, 0, numArray, AsynchronousId.COLLISION_DETECTED, num1);
         }
     }
     else
     {
         asyncSensorDatum = null;
     }
     return asyncSensorDatum;
 }