public void FrameIHeader_1() { const int apduLength = 28; var bufferLength = Constants.FrameIHeaderLength; var h1 = new FrameIHeader( sendSeqNo: 121, recieveSeqNo: 572, asduTypeId: AsduTypeId.M_SP_TA_1, isSequence: false, isTest: true, isNegativeConfirmation: false, causeOfTransmission: CauseOfTransmission.REQUEST, originatorAddress: 10, commonAddress: 1456, infoObjectsCount: 6, apduLength: apduLength); var buffer = new byte[bufferLength].AsSpan(); var bytesWritten = h1.TryWrite(buffer); var desc = ByteUtil.Describe(buffer, 0, length: bufferLength, annotations: FrameIHeader.Annotations); var h2 = FrameIHeader.Read(buffer.Slice(2), apduLength); var result = cmp.Compare(h1, h2); Assert.True(result.AreEqual, result.DifferencesString); }
public void Experiment1() { var value = new C_CS_NA_1(new CP56Time2a(2020, 11, 13, 16, 31, 42, 845, false, false)); var infoObjects = new[] { new InfoObject <C_CS_NA_1>(3, value) }; var apduLength = infoObjects.CalculateApduLength(); var bufferLength = Constants.PrefixLength + apduLength; var h = new FrameIHeader( sendSeqNo: 1, recieveSeqNo: 0, asduTypeId: AsduTypeId.C_CS_NA_1, isSequence: false, isTest: true, isNegativeConfirmation: false, causeOfTransmission: CauseOfTransmission.ACTIVATION, originatorAddress: 10, commonAddress: 2, infoObjectsCount: infoObjects.Length, apduLength: apduLength); var frame = new FrameI <C_CS_NA_1>(h, infoObjects); var buffer = new byte[bufferLength].AsSpan(); var bytesWritten = frame.TryWrite(buffer); var bytesAsHex = buffer.ToDebugString(byte2hex: true); var desc = ByteUtil.Describe(buffer, 0, length: bufferLength, annotations: FrameIHeader.Annotations); }