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]; }
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; }
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); }