Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }