Ejemplo n.º 1
0
        private void DownloadBigWaveform_Click(object sender, EventArgs e)
        {
            TCNetDevice device = deviceSelect.SelectedItem as TCNetDevice;

            socket.Send(device, new TCNetDataRequest()
            {
                DataType = DataTypes.BigWaveform,
                LayerID  = (byte)downloadLayerSelect.SelectedIndex
            });
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Requests the time sync by sending a TCNet time Sync request packet.
        /// </summary>
        /// <param name="device">The device.</param>
        private void RequestTimeSync(TCNetDevice device)
        {
            TCNetTimeSync timeSync = new TCNetTimeSync();

            timeSync.StepNumber       = TCNetTimeSync.TimeSyncSteps.Initialize;
            timeSync.NodeListenerPort = (ushort)UnicastLocalEndpoint.Port;
            timeSync.Timestamp        = DateTime.UtcNow.TimeOfDay;

            Send(device, timeSync);
        }
Ejemplo n.º 3
0
        private void StopButton_Click(object sender, EventArgs e)
        {
            TCNetDevice device = deviceSelect.SelectedItem as TCNetDevice;

            socket.Send(device, new TCNetControl()
            {
                Step        = TCNetControl.Steps.Initialize,
                ControlPath = $"layer/{layerSelect.SelectedIndex}/state={((int) DeckState.Stopped).ToString()};"
            });
        }
Ejemplo n.º 4
0
 protected void RaiseDeviceLost(TCNetDevice device)
 {
     if (DeviceLost != null)
     {
         DeviceLost(this, new TCNetDeviceEventArgs()
         {
             Device = device
         });
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Raises the new device found.
 /// </summary>
 /// <param name="device">The device.</param>
 protected void RaiseNewDeviceFound(TCNetDevice device)
 {
     if (NewDeviceFound != null)
     {
         NewDeviceFound(this, new TCNetDeviceEventArgs()
         {
             Device = device
         });
     }
 }
Ejemplo n.º 6
0
        private void CueData_Click(object sender, EventArgs e)
        {
            TCNetDevice device = deviceSelect.SelectedItem as TCNetDevice;

            if (device == null)
            {
                MessageBox.Show("Please select a device?");
            }

            socket.Send(device, new TCNetDataRequest()
            {
                DataType = DataTypes.Cue,
                LayerID  = (byte)downloadLayerSelect.SelectedIndex
            });
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Processes the opt in packet being recieved via broadcast from other devices.
        /// </summary>
        /// <remarks>
        /// If the devices is newly discovered then the NewDeviceFound event will be fired.
        /// </remarks>
        /// <param name="endpoint">The endpoint.</param>
        /// <param name="optIn">The opt in packet that was recieved.</param>
        private void ProcessOptIn(IPEndPoint endpoint, TCNetOptIn optIn)
        {
            bool newDevice = false;

            TCNetDevice device;

            if (!devices.TryGetValue(optIn.NetworkID, out device))
            {
                device = new TCNetDevice();
                devices[optIn.NetworkID] = device;
                newDevice = true;
            }

            device.Endpoint   = new TCNetEndPoint(endpoint.Address, optIn.NodeListenerPort, optIn.NodeID);
            device.VendorName = optIn.VendorName;
            device.DeviceName = optIn.DeviceName;
            device.NodeType   = optIn.NodeType;

            if (newDevice)
            {
                Task.Run(() => RaiseNewDeviceFound(device));
            }
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Tries the get device.
 /// </summary>
 /// <param name="networkID">The network identifier.</param>
 /// <param name="device">The device.</param>
 /// <returns></returns>
 public bool  TryGetDevice(int networkID, out TCNetDevice device)
 {
     return(devices.TryGetValue(networkID, out device));
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Unicasts a TCNet packet to the specified device.
 /// </summary>
 /// <param name="device">The device to send the packet to.</param>
 /// <param name="packet">The packet to be unicast.</param>
 public void Send(TCNetDevice device, TCNetPacket packet)
 {
     Send(device.Endpoint, packet);
 }