Esempio n. 1
0
        private void _GetStatus()
        {
            var response = _SendRequest((byte)'G');

            _VerifyResponseLength(response, 3);

            Mode     = (OperatingMode)response.Data[0];
            _configs = (AdditionalCustomInterface)response.Data[1];
            _status  = (PeripheralStatus)response.Data[2];
        }
Esempio n. 2
0
        private bool _HandleIncomingMessage(VicarMessage msg)
        {
            bool ret;

              switch (msg.Command)
              {
            case (byte)'S':
              {
            ret = true;
            _status = (PeripheralStatus)msg.Data.FirstOrDefault();
            break;
              }

            case (byte)'I':
              {
            ret = true;
            if (IncomingDataReceived != null)
            {
              IncomingDataReceived(this, new IncomingDataEventArgs((VicarErrorCode)msg.Data[2],
                msg.Data[0], msg.Data[1], msg.Data.Skip(3).ToArray()));
            }

            break;
              }

            case (byte)'T':
              {
            ret = true;
            var id = Utilities.ToLittleEndianUint(msg.Data, 0);
            if (_urbs.ContainsKey(id))
            {
              _urbs[id].ReceivedData.Add(msg.Data.Skip(6).ToArray());
            }

            break;
              }

            case (byte)'B':
              {
            ret = true;
            var id = Utilities.ToLittleEndianUint(msg.Data, 0);
            var transferred = Utilities.ToLittleEndianUint(msg.Data, 5);
            _MarkUrbComplete(id, (int)transferred);

            if (TransferCompleted != null)
            {
              TransferCompleted(this, new TransferCompleteEventArgs(id,
                msg.Data[4], transferred));
            }

            break;
              }

            default:
              {
            ret = false;
            break;
              }
              }

              return ret;
        }
Esempio n. 3
0
        private void _GetStatus()
        {
            var response = _SendRequest((byte)'G');
              _VerifyResponseLength(response, 3);

              Mode = (OperatingMode)response.Data[0];
              _configs = (AdditionalCustomInterface)response.Data[1];
              _status = (PeripheralStatus)response.Data[2];
        }
Esempio n. 4
0
        private bool _HandleIncomingMessage(VicarMessage msg)
        {
            bool ret;

            switch (msg.Command)
            {
            case (byte)'S':
            {
                ret     = true;
                _status = (PeripheralStatus)msg.Data.FirstOrDefault();
                break;
            }

            case (byte)'I':
            {
                ret = true;
                if (IncomingDataReceived != null)
                {
                    IncomingDataReceived(this, new IncomingDataEventArgs((VicarErrorCode)msg.Data[2],
                                                                         msg.Data[0], msg.Data[1], msg.Data.Skip(3).ToArray()));
                }

                break;
            }

            case (byte)'T':
            {
                ret = true;
                var id = Utilities.ToLittleEndianUint(msg.Data, 0);
                if (_urbs.ContainsKey(id))
                {
                    _urbs[id].ReceivedData.Add(msg.Data.Skip(6).ToArray());
                }

                break;
            }

            case (byte)'B':
            {
                ret = true;
                var id          = Utilities.ToLittleEndianUint(msg.Data, 0);
                var transferred = Utilities.ToLittleEndianUint(msg.Data, 5);
                _MarkUrbComplete(id, (int)transferred);

                if (TransferCompleted != null)
                {
                    TransferCompleted(this, new TransferCompleteEventArgs(id,
                                                                          msg.Data[4], transferred));
                }

                break;
            }

            default:
            {
                ret = false;
                break;
            }
            }

            return(ret);
        }