public void Execute(XBeeFrame frame) { if (frame.FrameId != 0) { if (frameId == byte.MaxValue) { frameId = byte.MinValue; } frame.FrameId = ++frameId; } var packet = new XBeePacket(frame); packet.Assemble(); connection.Write(packet.Data); }
public XBeeFrame ExecuteQuery(XBeeFrame frame, int timeout) { if (frame.FrameId == 0) { throw new XBeeFrameException("FrameId cannot be zero on a synchronous request."); } lastFrame = null; frameReceived = false; lock (this) { Execute(frame); } while (!frameReceived && timeout > 0) { Thread.Sleep(10); timeout -= 10; } return(lastFrame); }
public XBeeFrame ExecuteQuery(XBeeFrame frame) { return(ExecuteQuery(frame, 3000)); }
public T ExecuteQuery <T>(XBeeFrame frame, int timeout) where T : XBeeFrame { return((T)ExecuteQuery(frame, timeout)); }
public T ExecuteQuery <T>(XBeeFrame frame) where T : XBeeFrame { return((T)ExecuteQuery(frame)); }
public void FrameReceivedEvent(object sender, FrameReceivedArgs args) { frameReceived = true; lastFrame = args.Response; logger.Debug(args.Response); }
public XBeePacket(XBeeFrame frame) { frameData = frame.ToByteArray(); }