/// <summary> /// Notify any transaction listeners when we receive a response. /// </summary> /// <param name="response">The <see cref="IXBeeEvent"/> data received</param> /// <returns>true if the response was processed</returns> private bool NotifyResponseReceived(IXBeeResponse response) { bool processed = false; Log.Debug($"RX XBEE: {response.ToString()}"); lock (_transactionListeners) { foreach (IXBeeListener listener in _transactionListeners) { try { if (listener.TransactionEvent(response)) { processed = true; } } catch (Exception e) { Log.Debug("Exception processing XBee frame: {}: ", response, e); } } } return(processed); }
public void TestGetResponse2() { int[] data = GetPacketData("00 05 88 10 4F 49 02 CD"); IXBeeResponse frame = XBeeResponseFactory.GetXBeeFrame(data); Assert.True(frame is XBeePanIdResponse); _output.WriteLine(frame.ToString()); XBeePanIdResponse responseEvent = (XBeePanIdResponse)frame; Assert.Equal(CommandStatus.INVALID_COMMAND, responseEvent.GetCommandStatus()); }
public void TestGetResponse1() { int[] data = GetPacketData("00 07 8B 8F F7 7B 00 00 40 33"); IXBeeResponse frame = XBeeResponseFactory.GetXBeeFrame(data); Assert.True(frame is XBeeTransmitStatusResponse); _output.WriteLine(frame.ToString()); XBeeTransmitStatusResponse responseEvent = (XBeeTransmitStatusResponse)frame; Assert.Equal(143, responseEvent.GetFrameId()); Assert.Equal(0, responseEvent.GetTransmitRetryCount()); Assert.Equal(DeliveryStatus.SUCCESS, responseEvent.GetDeliveryStatus()); Assert.Equal(DiscoveryStatus.EXTENDED_TIMEOUT_DISCOVERY, responseEvent.GetDiscoveryStatus()); }