private void SetEndpointLabel(RdmNetEndPoint endpoint) { if (endpoint.PortLabel != null) { EndpointLabel.Set setLabel = new EndpointLabel.Set(); setLabel.EndpointID = (short)endpoint.Port; setLabel.Label = endpoint.PortLabel; Socket.SendRdm(setLabel, new RdmEndPoint(endpoint, 0), endpoint.Id); } }
private void SetEndpointUniverse(RdmNetEndPoint endpoint) { if (endpoint.AcnUniverse != null) { EndpointToUniverse.Set setUniverse = new EndpointToUniverse.Set(); setUniverse.EndpointID = (short)endpoint.Universe; setUniverse.UniverseNumber = (short)endpoint.AcnUniverse; Socket.SendRdm(setUniverse, new RdmEndPoint(endpoint, 0), endpoint.Id); } }
private void SetEndpointMode(RdmNetEndPoint endpoint) { if (endpoint.Direction != null) { EndpointMode.Set setMode = new EndpointMode.Set(); setMode.EndpointID = (short)endpoint.Universe; setMode.EndpointMode = (EndpointMode.EndpointModes)endpoint.Direction; Socket.SendRdm(setMode, new RdmEndPoint(endpoint, 0), endpoint.Id); } }
protected void RegisterEndpoint(RdmNetEndPoint endpoint) { lock (DiscoveredEndpoints) { if (!DiscoveredEndpoints.Contains(endpoint)) { endpoint.PropertySet += endpoint_PropertyChanged; DiscoveredEndpoints.Add(endpoint); } } }
private void ProcessEndpointList(IPEndPoint endpoint, RdmPacket packet) { EndpointList.Reply reply = packet as EndpointList.Reply; if (reply != null) { foreach (int endpointId in reply.EndpointIDs) { RdmNetEndPoint target = new RdmNetEndPoint(endpoint, endpointId) { Id = packet.Header.SourceId }; RegisterEndpoint(target); NewEndpointFound(this, EventArgs.Empty); InterogateEndpoint(packet.Header.SourceId, target); } } }
private void InterogateEndpoint(UId targetId, RdmNetEndPoint endpoint) { ManufacturerLabel.Get getManufacturerLabel = new ManufacturerLabel.Get(); Socket.SendRdm(getManufacturerLabel, new RdmEndPoint(endpoint, 0), targetId); DeviceLabel.Get getDeviceLabel = new DeviceLabel.Get(); Socket.SendRdm(getDeviceLabel, new RdmEndPoint(endpoint, 0), targetId); EndpointLabel.Get getLabel = new EndpointLabel.Get(); getLabel.EndpointID = (short)endpoint.Universe; Socket.SendRdm(getLabel, new RdmEndPoint(endpoint, 0), targetId); EndpointMode.Get getMode = new EndpointMode.Get(); getMode.EndpointID = (short)endpoint.Universe; Socket.SendRdm(getMode, new RdmEndPoint(endpoint, 0), targetId); EndpointToUniverse.Get getUniverse = new EndpointToUniverse.Get(); getUniverse.EndpointID = (short)endpoint.Universe; Socket.SendRdm(getUniverse, new RdmEndPoint(endpoint, 0), targetId); }
void endpoint_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { RdmNetEndPoint endpoint = sender as RdmNetEndPoint; if (endpoint != null && !ReadOnly) { if (e.PropertyName == "AcnUniverse") { SetEndpointUniverse(endpoint); } if (e.PropertyName == "Direction") { SetEndpointMode(endpoint); } if (e.PropertyName == "PortLabel") { SetEndpointLabel(endpoint); } } }