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)); }
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"); } }
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); }
public void BeginSend(XBeeRequest request, ResponseHandler responseHandler, IPacketFilter filter = null, int timeout = 5000) { AddPacketListener(new PacketListener(filter, timeout, responseHandler)); SendRequest(request); }
public void SendNoReply(XBeeRequest request) { // we don't expect any response to this request request.FrameId = PacketIdGenerator.NoResponseId; SendRequest(request); }
public RawRequest Send(XBeeRequest request) { _rawRequest.Init(request); return(_rawRequest); }
/// <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; }
/// <summary> /// TODO: Update Comments /// /// </summary> /// <param name="request" type="NETMF.OpenSource.XBee.Api.XBeeRequest"> /// <para> /// /// </para> /// </param> public PacketIdFilter(XBeeRequest request) : this(request.FrameId) { }