public override SEPCommandResponse TranslateResponse(string response) { if (response == null) { throw new NullReferenceException("response can't be null"); } if (!BinaryHelper.IsValidHexString(response)) { throw new ArgumentException("response isn't valid hex string"); } byte[] data = BinaryHelper.ConvertOctetStringToBytes(response); SEPCommandResponse commandResponse = new SEPCommandResponse(); ReadErrorCode(data, commandResponse); return(commandResponse); }
protected void ReadErrorCode(byte[] response, SEPCommandResponse commandResponse) { if (commandResponse == null) { return; } if (response != null && response.Length >= 2) { ushort statusWord = BitConverter.ToUInt16(response.Reverse().ToArray(), 0); commandResponse.ReturnCode = GetErrorCode(statusWord); } else { commandResponse.ReturnCode = SEPCommandResponse.ErrorCode.CorruptedCommand; } }