示例#1
0
        public int Read(byte[] readto, int offset, int length)
        {
            int count = 0;

            while (buffer.Size == 0)
            {
                GetData();
                System.Threading.Thread.Sleep(1);
                if (count > ReadTimeout)
                {
                    throw new Exception("MAVLinkSerialPort Timeout on read");
                }
                count += 1;
            }
            lock (buffer)
            {
                return(buffer.Get(readto, offset, length));
            }
        }
        public int Read(byte[] readto, int offset, int length)
        {
            int count = 0;

            DateTime deadline = DateTime.Now.AddMilliseconds(timeout);

            while (buffer.Size == 0)
            {
                GetData();
                System.Threading.Thread.Sleep(1);
                if (DateTime.Now > deadline)
                {
                    throw new Exception("MAVLinkSerialPort Timeout on read");
                }
                count += 1;
            }
            lock (buffer)
            {
                return(buffer.Get(readto, offset, length));
            }
        }