/// <summary> /// Gest the <see cref="XBeeDiscoveryStatus"/> associated to the given ID. /// </summary> /// <param name="source"></param> /// <param name="id">ID of the <see cref="XBeeDiscoveryStatus"/> to retrieve.</param> /// <returns>The <see cref="XBeeDiscoveryStatus"/> associated with the given ID, /// <see cref="XBeeDiscoveryStatus.DISCOVERY_STATUS_UNKNOWN"/> if it does not exist.</returns> public static XBeeDiscoveryStatus Get(this XBeeDiscoveryStatus source, byte id) { var values = Enum.GetValues(typeof(XBeeDiscoveryStatus)).OfType <byte>(); if (values.Cast <byte>().Contains(id)) { return((XBeeDiscoveryStatus)id); } return(XBeeDiscoveryStatus.DISCOVERY_STATUS_UNKNOWN); }
/// <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>(); }
/** * 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>(); }
/// <summary> /// Returns the <see cref="XBeeDiscoveryStatus"/> in string format. /// </summary> /// <param name="source"></param> /// <returns>The <see cref="XBeeDiscoveryStatus"/> in string format.</returns> public static string ToDisplayString(this XBeeDiscoveryStatus source) { return(lookupTable[source]); }
/// <summary> /// Gets the discovery status description. /// </summary> /// <param name="source"></param> /// <returns>Discovery status description.</returns> public static string GetDescription(this XBeeDiscoveryStatus source) { return(lookupTable[source]); }
/// <summary> /// Gets the discovery status ID. /// </summary> /// <param name="source"></param> /// <returns>The discovery status ID.</returns> public static byte GetId(this XBeeDiscoveryStatus source) { return((byte)source); }