/**
         * Class constructor. Instantiates a new {@code TXStatusPacket} object
         * with the given parameters.
         *
         * @param frameID Packet frame ID.
         * @param transmitStatus Transmit status.
         *
         * @throws ArgumentException if {@code frameID < 0} or
         *                                  if {@code frameID > 255}.
         * @throws ArgumentNullException if {@code transmitStatus == null}.
         *
         * @see com.digi.xbee.api.models.XBeeTransmitStatus
         */
        public TXStatusPacket(byte frameID, XBeeTransmitStatus transmitStatus)
            : base(APIFrameType.TX_STATUS)
        {
            Contract.Requires <ArgumentNullException>(transmitStatus != null, "Transmit status cannot be null.");

            this.frameID        = frameID;
            this.TransmitStatus = transmitStatus;
        }
        private const int MIN_API_PAYLOAD_LENGTH = 3; // 1 (Frame type) + 1 (frame ID) + 1 (status)

        #endregion Fields

        #region Constructors

        /**
         * Class constructor. Instantiates a new {@code TXStatusPacket} object
         * with the given parameters.
         *
         * @param frameID Packet frame ID.
         * @param transmitStatus Transmit status.
         *
         * @throws ArgumentException if {@code frameID < 0} or
         *                                  if {@code frameID > 255}.
         * @throws ArgumentNullException if {@code transmitStatus == null}.
         *
         * @see com.digi.xbee.api.models.XBeeTransmitStatus
         */
        public TXStatusPacket(byte frameID, XBeeTransmitStatus transmitStatus)
            : base(APIFrameType.TX_STATUS)
        {
            Contract.Requires<ArgumentNullException>(transmitStatus != null, "Transmit status cannot be null.");

            this.frameID = frameID;
            this.TransmitStatus = transmitStatus;
        }
Пример #3
0
 /// <summary>
 /// Class constructor. Instantiates a new <see cref="TransmitStatusPacket"/> object with the
 /// given parameters.
 /// </summary>
 /// <param name="frameID">The frame ID.</param>
 /// <param name="destAddress16">The 16-bit network address the packet was delivered to.</param>
 /// <param name="transmitRetryCount">The number of application transmission retries that took place.</param>
 /// <param name="transmitStatus">The transmit status.</param>
 /// <param name="discoveryStatus">The discovery status.</param>
 /// <exception cref="ArgumentNullException">If <c><paramref name="destAddress16"/> == null</c>.</exception>
 /// <seealso cref="XBeeDiscoveryStatus"/>
 /// <seealso cref="XBeeTransmitStatus"/>
 /// <seealso cref="XBee16BitAddress"/>
 public TransmitStatusPacket(byte frameID, XBee16BitAddress destAddress16, byte transmitRetryCount,
                             XBeeTransmitStatus transmitStatus, XBeeDiscoveryStatus discoveryStatus)
     : base(APIFrameType.TRANSMIT_STATUS)
 {
     FrameID            = frameID;
     DestAddress16      = destAddress16 ?? throw new ArgumentNullException("16-bit destination address cannot be null.");
     TransmitRetryCount = transmitRetryCount;
     TransmitStatus     = transmitStatus;
     DiscoveryStatus    = discoveryStatus;
     logger             = LogManager.GetLogger <TransmitStatusPacket>();
 }
 /// <summary>
 /// Returns the <see cref="XBeeTransmitStatus"/> in string format.
 /// </summary>
 /// <param name="source"></param>
 /// <returns>The <see cref="XBeeTransmitStatus"/> in string format.</returns>
 public static string ToDisplayString(this XBeeTransmitStatus source)
 {
     if (source != XBeeTransmitStatus.SUCCESS)
     {
         return("Error: " + lookupTable[source]);
     }
     else
     {
         return(lookupTable[source]);
     }
 }
        /// <summary>
        /// Returns the <see cref="XBeeTransmitStatus"/> associated to the given ID.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="id">The ID of the <see cref="XBeeTransmitStatus"/> to retrieve.</param>
        /// <returns>The <see cref="XBeeTransmitStatus"/> associated to the given ID,
        /// <see cref="XBeeTransmitStatus.UNKNOWN"/> if it does not exist.</returns>
        public static XBeeTransmitStatus Get(this XBeeTransmitStatus source, byte id)
        {
            var values = Enum.GetValues(typeof(XBeeTransmitStatus)).OfType <XBeeTransmitStatus>();

            if (values.Cast <byte>().Contains(id))
            {
                return((XBeeTransmitStatus)id);
            }

            return(XBeeTransmitStatus.UNKNOWN);
        }
        /**
         * Class constructor. Instantiates a new {@code TransmitStatusPacket}
         * object with the given parameters.
         *
         * @param frameID Frame ID.
         * @param destAddress16 16-bit Network address the packet was delivered to.
         * @param tranmistRetryCount The number of application transmission retries
         *                           that took place.
         * @param transmitStatus Transmit status.
         * @param discoveryStatus Discovery status.
         *
         * @throws ArgumentException if {@code frameID < 0} or
         *                                  if {@code frameID > 255} or
         *                                  if {@code tranmistRetryCount < 0} or
         *                                  if {@code tranmistRetryCount > 255}.
         * @throws ArgumentNullException if {@code destAddress16 == null} or
         *                              if {@code transmitStatus == null} or
         *                              if {@code discoveryStatus == null}.
         *
         * @see com.digi.xbee.api.models.XBeeDiscoveryStatus
         * @see com.digi.xbee.api.models.XBeeTransmitStatus
         * @see com.digi.xbee.api.models.XBee16BitAddress
         */
        public TransmitStatusPacket(byte frameID, XBee16BitAddress destAddress16, byte tranmistRetryCount,
            XBeeTransmitStatus transmitStatus, XBeeDiscoveryStatus discoveryStatus)
            : base(APIFrameType.TRANSMIT_STATUS)
        {
            if (destAddress16 == null)
                throw new ArgumentNullException("16-bit destination address cannot be null.");
            if (transmitStatus == null)
                throw new ArgumentNullException("Delivery status cannot be null.");
            if (discoveryStatus == null)
                throw new ArgumentNullException("Discovery status cannot be null.");

            this.frameID = frameID;
            this.destAddress16 = destAddress16;
            this.tranmistRetryCount = tranmistRetryCount;
            this.transmitStatus = transmitStatus;
            this.discoveryStatus = discoveryStatus;
            this.logger = LogManager.GetLogger<TransmitStatusPacket>();
        }
        /**
         * Class constructor. Instantiates a new {@code TransmitStatusPacket}
         * object with the given parameters.
         *
         * @param frameID Frame ID.
         * @param destAddress16 16-bit Network address the packet was delivered to.
         * @param tranmistRetryCount The number of application transmission retries
         *                           that took place.
         * @param transmitStatus Transmit status.
         * @param discoveryStatus Discovery status.
         *
         * @throws ArgumentException if {@code frameID < 0} or
         *                                  if {@code frameID > 255} or
         *                                  if {@code tranmistRetryCount < 0} or
         *                                  if {@code tranmistRetryCount > 255}.
         * @throws ArgumentNullException if {@code destAddress16 == null} or
         *                              if {@code transmitStatus == null} or
         *                              if {@code discoveryStatus == null}.
         *
         * @see com.digi.xbee.api.models.XBeeDiscoveryStatus
         * @see com.digi.xbee.api.models.XBeeTransmitStatus
         * @see com.digi.xbee.api.models.XBee16BitAddress
         */
        public TransmitStatusPacket(byte frameID, XBee16BitAddress destAddress16, byte tranmistRetryCount,
                                    XBeeTransmitStatus transmitStatus, XBeeDiscoveryStatus discoveryStatus)
            : base(APIFrameType.TRANSMIT_STATUS)
        {
            if (destAddress16 == null)
            {
                throw new ArgumentNullException("16-bit destination address cannot be null.");
            }
            if (transmitStatus == null)
            {
                throw new ArgumentNullException("Delivery status cannot be null.");
            }
            if (discoveryStatus == null)
            {
                throw new ArgumentNullException("Discovery status cannot be null.");
            }

            this.frameID            = frameID;
            this.destAddress16      = destAddress16;
            this.tranmistRetryCount = tranmistRetryCount;
            this.transmitStatus     = transmitStatus;
            this.discoveryStatus    = discoveryStatus;
            this.logger             = LogManager.GetLogger <TransmitStatusPacket>();
        }
Пример #8
0
        private const int MIN_API_PAYLOAD_LENGTH = 3;         // 1 (Frame type) + 1 (frame ID) + 1 (status)

        /// <summary>
        /// Class constructor. Instantiates a new <see cref="TXStatusPacket"/> object with the
        /// given parameters.
        /// </summary>
        /// <param name="frameID">The Frame ID.</param>
        /// <param name="transmitStatus">The transmit status.</param>
        /// <exception cref="ArgumentException">If <c><paramref name="frameID"/> <![CDATA[<]]> 0</c>
        /// or if <c><paramref name="frameID"/> <![CDATA[>]]> 255</c>.</exception>
        /// <seealso cref="XBeeTransmitStatus"/>
        public TXStatusPacket(byte frameID, XBeeTransmitStatus transmitStatus)
            : base(APIFrameType.TX_STATUS)
        {
            FrameID        = frameID;
            TransmitStatus = transmitStatus;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="TimeoutException"/> class with a specified error message and the exception that is the cause of this exception.
 /// </summary>
 /// <param name="message">ThThe error message that explains the reason for this exception.</param>
 /// <param name="innerException">The exception that is the cause of the current exception, or a null reference if no inner exception is specified.</param>
 /// <param name="transmitStatus">The status of the transmission.</param>
 public TransmitException(string message, Exception innerException, XBeeTransmitStatus transmitStatus)
     : base(message, innerException)
 {
     TransmitStatus = transmitStatus;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="TimeoutException"/> class with a specified error message.
 /// </summary>
 /// <param name="message">ThThe error message that explains the reason for this exception.</param>
 /// <param name="transmitStatus">The status of the transmission.</param>
 public TransmitException(string message, XBeeTransmitStatus transmitStatus)
     : base(message)
 {
     TransmitStatus = transmitStatus;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="TimeoutException"/> class.
 /// </summary>
 /// <param name="transmitStatus">The status of the transmission.</param>
 public TransmitException(XBeeTransmitStatus transmitStatus)
     : base(DEFAULT_MESSAGE)
 {
     TransmitStatus = transmitStatus;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="TimeoutException"/> class with a specified error message and the exception that is the cause of this exception.
 /// </summary>
 /// <param name="message">ThThe error message that explains the reason for this exception.</param>
 /// <param name="innerException">The exception that is the cause of the current exception, or a null reference if no inner exception is specified.</param>
 /// <param name="transmitStatus">The status of the transmission.</param>
 public TransmitException(string message, Exception innerException, XBeeTransmitStatus transmitStatus)
     : base(message, innerException)
 {
     TransmitStatus = transmitStatus;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="TimeoutException"/> class with a specified error message.
 /// </summary>
 /// <param name="message">ThThe error message that explains the reason for this exception.</param>
 /// <param name="transmitStatus">The status of the transmission.</param>
 public TransmitException(string message, XBeeTransmitStatus transmitStatus)
     : base(message)
 {
     TransmitStatus = transmitStatus;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="TimeoutException"/> class.
 /// </summary>
 /// <param name="transmitStatus">The status of the transmission.</param>
 public TransmitException(XBeeTransmitStatus transmitStatus)
     : base(DEFAULT_MESSAGE)
 {
     TransmitStatus = transmitStatus;
 }
 /// <summary>
 /// Gets the XBee transmit status description.
 /// </summary>
 /// <param name="source"></param>
 /// <returns>XBee transmit status description.</returns>
 public static string GetDescription(this XBeeTransmitStatus source)
 {
     return(lookupTable[source]);
 }
 /// <summary>
 /// Gets the XBee transmit status ID.
 /// </summary>
 /// <param name="source"></param>
 /// <returns>XBee transmit status ID.</returns>
 public static byte GetId(this XBeeTransmitStatus source)
 {
     return((byte)source);
 }
Пример #17
0
 /**
  * Returns the {@code XBeeTransmitStatus} associated to the given ID.
  *
  * @param id ID of the {@code XBeeTransmitStatus} to retrieve.
  *
  * @return The {@code XBeeTransmitStatus} associated to the given ID.
  */
 public static XBeeTransmitStatus Get(this XBeeTransmitStatus dumb, byte id)
 {
     return((XBeeTransmitStatus)id);
 }