Esempio n. 1
0
        /// <summary>
        /// Create a multiple-address-read request packet
        /// </summary>
        public static SsmPacket CreateMultipleReadRequest(IList <int> addresses)
        {
            SsmPacket packet = new SsmPacket();

            packet.SetHeader(SsmDirection.ToEcu, SsmCommand.ReadAddressesRequest);
            for (int i = 0; i < addresses.Count; i++)
            {
                packet.AppendAddress(addresses[i]);
            }
            packet.SetLengthByte();
            packet.AppendChecksum();
            return(packet);
        }
Esempio n. 2
0
        /// <summary>
        /// Create a block-read request packet
        /// </summary>
        public static SsmPacket CreateBlockReadRequest(int address, int length)
        {
            if (length == int.MinValue)
            {
                throw new ArgumentOutOfRangeException("length");
            }

            SsmPacket packet = new SsmPacket();

            packet.SetHeader(SsmDirection.ToEcu, SsmCommand.ReadBlockRequest);
            packet.AppendAddress(address);
            packet.AppendByte((byte)(length - 1));
            packet.SetLengthByte();
            packet.AppendChecksum();
            return(packet);
        }