Beispiel #1
0
        public AsyncSendResult BeginSend(XBeeRequest request, IPacketFilter filter = null, int timeout = 5000)
        {
            var responseListener = new PacketListener(filter, timeout);

            AddPacketListener(responseListener);
            SendRequest(request);
            return(new AsyncSendResult(this, responseListener));
        }
Beispiel #2
0
        protected void IsRequestSupported(XBeeRequest request)
        {
            // can be null when reading Config
            if (Config == null)
            {
                return;
            }

            if (Config.IsSeries1() && request is IZigbeePacket)
            {
                throw new ArgumentException("You are connected to a Series 1 radio but attempting to send Series 2 requests");
            }

            if (Config.IsSeries2() && request is IWpanPacket)
            {
                throw new ArgumentException("You are connected to a Series 2 radio but attempting to send Series 1 requests");
            }
        }
Beispiel #3
0
        protected void SendRequest(XBeeRequest request)
        {
            IsRequestSupported(request);

            if (_addressLookupEnabled)
            {
                _currentRequest = request;
            }

            if (Logger.IsActive(LogLevel.Debug))
            {
                Logger.Debug("Sending " + request.GetType().Name + ": " + request);
            }

            var bytes = XBeePacket.GetBytes(request);

            if (Logger.IsActive(LogLevel.LowDebug))
            {
                Logger.LowDebug("Sending " + ByteUtils.ToBase16(bytes));
            }

            _connection.Send(bytes);
        }
Beispiel #4
0
 public void BeginSend(XBeeRequest request, ResponseHandler responseHandler, IPacketFilter filter = null, int timeout = 5000)
 {
     AddPacketListener(new PacketListener(filter, timeout, responseHandler));
     SendRequest(request);
 }
Beispiel #5
0
 public void SendNoReply(XBeeRequest request)
 {
     // we don't expect any response to this request
     request.FrameId = PacketIdGenerator.NoResponseId;
     SendRequest(request);
 }
Beispiel #6
0
 public RawRequest Send(XBeeRequest request)
 {
     _rawRequest.Init(request);
     return(_rawRequest);
 }
Beispiel #7
0
 /// <summary>
 ///   TODO: Update Comments
 ///
 /// </summary>
 /// <param name="request" type="NETMF.OpenSource.XBee.Api.XBeeRequest">
 ///     <para>
 ///
 ///     </para>
 /// </param>
 internal void Init(XBeeRequest request)
 {
     Init();
     Request = request;
 }
Beispiel #8
0
 /// <summary>
 ///   TODO: Update Comments
 ///     
 /// </summary>
 /// <param name="request" type="NETMF.OpenSource.XBee.Api.XBeeRequest">
 ///     <para>
 ///         
 ///     </para>
 /// </param>
 internal void Init(XBeeRequest request)
 {
     Init();
     Request = request;
 }
Beispiel #9
0
 /// <summary>
 ///   TODO: Update Comments
 ///     
 /// </summary>
 /// <param name="request" type="NETMF.OpenSource.XBee.Api.XBeeRequest">
 ///     <para>
 ///         
 ///     </para>
 /// </param>
 public PacketIdFilter(XBeeRequest request)
     : this(request.FrameId)
 {
 }
Beispiel #10
0
 /// <summary>
 ///   TODO: Update Comments
 ///
 /// </summary>
 /// <param name="request" type="NETMF.OpenSource.XBee.Api.XBeeRequest">
 ///     <para>
 ///
 ///     </para>
 /// </param>
 public PacketIdFilter(XBeeRequest request)
     : this(request.FrameId)
 {
 }