/// <summary> /// WriteWithoutEncryption 暗号化なし書き込み /// </summary> /// <param name="request">要求データ</param> /// <returns>応答データまたはnull</returns> /// <exception cref="ArgumentNullException" /> public WriteWithoutEncryptionResponse WriteWithoutEncryption(WriteWithoutEncryptionRequest request) { if (request == null) { throw new ArgumentNullException("request"); } byte[] recv = transmit(request.Command); if (recv == null) { return(null); } var response = new WriteWithoutEncryptionResponse(request, recv); return(response); }
/// <summary> /// 応答パケットから暗号化なし書き込み応答を生成します。 /// </summary> /// <param name="request">要求データ</param> /// <param name="data">応答データ</param> /// <exception cref="ArgumentNullException" /> /// <exception cref="ArgumentException" /> public WriteWithoutEncryptionResponse(WriteWithoutEncryptionRequest request, byte[] data) { Request = request ?? throw new ArgumentNullException("request"); RawData = data ?? throw new ArgumentNullException("data"); if (data.Length < 11) { throw new ArgumentException("データが不足しています。", "data"); } if (data[0] != ResponseCode) { throw new ArgumentException("データの形式が正しくありません。", "data"); } IDm = data.Where((val, idx) => 1 <= idx && idx <= 8).ToArray(); StatusFlag1 = data[9]; StatusFlag2 = data[10]; }