/// <summary> /// Creates a complete init request packet. /// (Uses optimal buffer size of 6 bytes.) /// </summary> /// <param name="destination"> /// A <see cref="SsmAddress"/> /// </param> /// <param name="source"> /// A <see cref="SsmAddress"/> /// </param> public Ssm2InitRequest(Ssm2Device destination, Ssm2Device source) : this() { this.Destination = destination; this.Source = source; this.Finish (); }
/// <summary> /// Creates a complete init request packet. /// (Uses optimal buffer size of 6 bytes.) /// </summary> /// <param name="destination"> /// A <see cref="SsmAddress"/> /// </param> /// <param name="source"> /// A <see cref="SsmAddress"/> /// </param> public Ssm2InitRequest(Ssm2Device destination, Ssm2Device source) : this() { this.Destination = destination; this.Source = source; this.Finish(); }
/// <summary> /// Uses optimal buffer size. /// </summary> /// <param name="destination"> /// A <see cref="SsmAddress"/> /// </param> /// <param name="source"> /// A <see cref="SsmAddress"/> /// </param> /// <param name="addresses"> /// A <see cref="IList<System.Int32>"/> /// </param> public Ssm2WriteAddressResponse(Ssm2Device destination, Ssm2Device source, byte data) : this() { this.Destination = destination; this.Source = source; this.Data = data; this.Finish(); }
/// <summary> /// Creates a complete packet. /// (Will have optimal buffer length.) /// </summary> public Ssm2ReadBlockRequest(Ssm2Device destination, Ssm2Device source, int address, byte dataCount) : base(PacketSizeSpecificFixed) { this.Destination = destination; this.Source = source; this.Address = address; this.DataCount = dataCount; this.Finish(); }
/// <summary> /// Uses optimal buffer size. /// </summary> /// <param name="destination"> /// A <see cref="SsmAddress"/> /// </param> /// <param name="source"> /// A <see cref="SsmAddress"/> /// </param> /// <param name="addresses"> /// A <see cref="IList<System.Int32>"/> /// </param> public Ssm2WriteAddressRequest(Ssm2Device destination, Ssm2Device source, int address, byte data) : base(PacketSizeSpecificFixed) { this.count = PacketSizeSpecificFixed; this.Destination = destination; this.Source = source; this.Address = address; this.Data = data; }
/// <summary> /// Creates a complete packet. /// (Will have optimal buffer length.) /// </summary> public Ssm2ReadBlockRequest(Ssm2Device destination, Ssm2Device source, int address, byte dataCount) : base(PacketSizeSpecificFixed) { this.Destination = destination; this.Source = source; this.Address = address; this.DataCount = dataCount; this.Finish (); }
/// <summary> /// Create a new packet. /// Uses optimal buffer size. Packet is not finished yet! /// </summary> protected Ssm2DataResponse(Ssm2Device destination, Ssm2Device source, IList <byte> data) : base(HeaderLength + 1 + data.Count) { // needed buffer size: 5 byte header + x * data + 1 checksum this.Destination = destination; this.Source = source; this.Data = data; // Data setter has already set Count. }
/// <summary> /// Create a new packet. /// Uses optimal buffer size. Packet is not finished yet! /// </summary> protected Ssm2DataResponse(Ssm2Device destination, Ssm2Device source, IList<byte> data) : base(HeaderLength + 1 + data.Count) { // needed buffer size: 5 byte header + x * data + 1 checksum this.Destination = destination; this.Source = source; this.Data = data; // Data setter has already set Count. }
/// <summary> /// Constructs a complete packet. /// (Uses optimal buffer size) /// </summary> /// <param name="destination"> /// A <see cref="SsmAddress"/> /// </param> /// <param name="source"> /// A <see cref="SsmAddress"/> /// </param> /// <param name="addresses"> /// An <see cref="IList<System.Int32>". /// Memory address(es) to request. (SSM2 protocol only uses 24 bits.)/> /// </param> public Ssm2ReadAddressesRequest(Ssm2Device destination, Ssm2Device source, IList<int> addresses) : base(PacketSize (addresses.Count)) { this.Destination = destination; this.Source = source; // setting Addresses also updates count this.Addresses = addresses; this.propsSet = SetProperties.AllButChecksum; this.Finish (); }
/// <summary> /// Constructs a complete packet. /// (Uses optimal buffer size) /// </summary> /// <param name="destination"> /// A <see cref="SsmAddress"/> /// </param> /// <param name="source"> /// A <see cref="SsmAddress"/> /// </param> /// <param name="addresses"> /// An <see cref="IList<System.Int32>". /// Memory address(es) to request. (SSM2 protocol only uses 24 bits.)/> /// </param> public Ssm2ReadAddressesRequest(Ssm2Device destination, Ssm2Device source, IList <int> addresses) : base(PacketSize(addresses.Count)) { this.Destination = destination; this.Source = source; // setting Addresses also updates count this.Addresses = addresses; this.propsSet = SetProperties.AllButChecksum; this.Finish(); }
// TODO argument checking /// <summary> /// Creates a complete InitResponse packet. /// </summary> public Ssm2InitResponse(Ssm2Device destination, Ssm2Device source, byte[] ssmID, byte[] romID, byte[] capabilities) : base(capabilities.Length + (HeaderLength + LengthSsmID + LengthRomID + 1)) { this.Destination = destination; this.Source = source; SetSsmID(ssmID); SetRomID(romID); // setting capability bytes also updates size SetCapabilities(capabilities); this.Finish(); }
// TODO argument checking /// <summary> /// Creates a complete InitResponse packet. /// </summary> public Ssm2InitResponse(Ssm2Device destination, Ssm2Device source, byte[] ssmID, byte[] romID, byte[] capabilities) : base(capabilities.Length + (HeaderLength + LengthSsmID + LengthRomID + 1)) { this.Destination = destination; this.Source = source; SetSsmID (ssmID); SetRomID (romID); // setting capability bytes also updates size SetCapabilities (capabilities); this.Finish (); }
/// <summary> /// Constructs a complete packet. /// (Uses optimal buffer size) /// </summary> /// <param name='destination'> /// Destination ID. /// </param> /// <param name='source'> /// Source ID. /// </param> /// <param name='data'> /// Data bytes. /// </param> public Ssm2ReadAddressesResponse(Ssm2Device destination, Ssm2Device source, IList <byte> data) : base(destination, source, data) { this.Finish(); }
public Ssm2ReadBlockResponse(Ssm2Device destination, Ssm2Device source, IList<byte> data) : base(destination, source, data) { }
public Ssm2ReadBlockResponse(Ssm2Device destination, Ssm2Device source, IList <byte> data) : base(destination, source, data) { }