Пример #1
0
        /// <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 ();
        }
Пример #2
0
        /// <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();
        }
Пример #3
0
        /// <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();
        }
Пример #4
0
 /// <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();
 }
Пример #5
0
        /// <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();
        }
Пример #6
0
        /// <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;
        }
Пример #7
0
        /// <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 ();
        }
Пример #8
0
        /// <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.
        }
Пример #9
0
 /// <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;
 }
Пример #10
0
        /// <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.
        }
Пример #11
0
        /// <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 ();
        }
Пример #12
0
        /// <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();
        }
Пример #13
0
        // 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();
        }
Пример #14
0
        // 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 ();
        }
Пример #15
0
 /// <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();
 }
Пример #16
0
        public Ssm2ReadBlockResponse(Ssm2Device destination,
		                              Ssm2Device source,
		                              IList<byte> data)
            : base(destination, source, data)
        {
        }
Пример #17
0
 public Ssm2ReadBlockResponse(Ssm2Device destination,
                              Ssm2Device source,
                              IList <byte> data)
     : base(destination, source, data)
 {
 }