public void AddXBee(RemoteXBee xbee) { RemoteXBee[] xbees = new RemoteXBee[knownDevices.Length + 1]; Array.Copy(knownDevices, xbees, knownDevices.Length); xbees[knownDevices.Length] = xbee; knownDevices = xbees; xbee.coordinator = coordinator; }
private bool HandleNetworkDiscoveryResponse(NetworkDiscoveryResponseFrame frame) { if (frame.ATCommandData == null) { return true; } RemoteXBee xbee = new RemoteXBee(frame.SourceAddress, frame.SerialNumber, frame.NodeIdentifier); AddXBee(xbee); return false; }
void OnRemoteXBeeUpdate(RemoteXBee xbee, Widget[] updateData) { if (upstreamMQTT != null) { foreach (Widget widget in updateData) { if (widget.Type == WidgetType.TemperatureSensor) { CLEvent e = new CLEvent((int)CLEventType.TemperatureReading, widget.Value, xbee.SerialNumber); upstreamMQTT.PostEvent(e); } if (widget.Type == WidgetType.AmbientLightSensor) { CLEvent e = new CLEvent((int)CLEventType.AmbientLightReading, widget.Value, xbee.SerialNumber); upstreamMQTT.PostEvent(e); } if (widget.Type == WidgetType.Switch) { CLEvent e = new CLEvent((int)CLEventType.SwitchStateChange, widget.Value/*widget.Value > 0 ? "on" : "off"*/, xbee.SerialNumber); upstreamMQTT.PostEvent(e); } } } }
private void AddXBee(RemoteXBee xbee) { RemoteXBee[] xbees = new RemoteXBee[knownDevices.Length + 1]; Array.Copy(knownDevices, xbees, knownDevices.Length); xbees[knownDevices.Length] = xbee; knownDevices = xbees; xbee.Coordinator = coordinator; onRemoteDeviceFound(xbee); }
public RemoteDeviceFoundEventArgs(RemoteXBee device) { this.device = device; }
void ReceivedRemoteFrameHandler(object sender, Frame frame) { if (!(frame is DigitalAnalogSampleFrame)) { return; } DigitalAnalogSampleFrame sampleFrame = frame as DigitalAnalogSampleFrame; RemoteXBee sourceXBee = null; foreach (RemoteXBee xbee in knownDevices) { if (Frame.isEqualAddress(xbee.SourceAddress64Bit, sampleFrame.SourceAddress64Bit)) { sourceXBee = xbee; } } if (sourceXBee == null) { sourceXBee = new RemoteXBee(sampleFrame.SourceAddress16Bit, sampleFrame.SourceAddress64Bit, null); AddXBee(sourceXBee); } }
private void onRemoteDeviceFound(RemoteXBee xbee) { RemoteDeviceFoundEventHandler handler = RemoteDeviceFound; if (handler != null) { handler(new RemoteDeviceFoundEventArgs(xbee)); } }