/// <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); }
/// <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); }