public static string EthHostModeToString(NurApi.DevInfoData devInfoData)
 {
     if (devInfoData.status > 0)
     {
         return("Connected");
     }
     else
     {
         return("Disconnected");
     }
 }
Exemple #2
0
        private void deviceView_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                if (deviceView.SelectedItems.Count > 0)
                {
                    NurApi.DevInfoData data = (NurApi.DevInfoData)deviceView.SelectedItems[0].Tag;
                    connectToolStripMenuItem.Visible    = data.status == 0;
                    disconnectToolStripMenuItem.Visible = data.status > 0;

                    if (data.status > 0)
                    {
                        if (mApi.IsConnected() && ByteArraysEqual(mApi.GetEthConfig().mac, data.eth.mac))
                        {
                            // Connected to this computer
                            connectBtn.Text    = "Disconnect";
                            connectBtn.Enabled = true;

                            disconnectToolStripMenuItem.Enabled = true;
                        }
                        else
                        {
                            // Reserved
                            connectBtn.Text    = "Connect";
                            connectBtn.Enabled = false;

                            disconnectToolStripMenuItem.Enabled = false;
                        }
                    }
                    else
                    {
                        // Free
                        connectBtn.Text    = "Connect";
                        connectBtn.Enabled = true;

                        disconnectToolStripMenuItem.Enabled = false;
                    }
                    return;
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.ToString(), "Exception");
            }

            connectBtn.Text    = "Connect";
            connectBtn.Enabled = false;

            connectToolStripMenuItem.Visible    = false;
            disconnectToolStripMenuItem.Visible = false;
        }
Exemple #3
0
        private void beepToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                if (deviceView.SelectedItems.Count > 0)
                {
                    // Send BEEP broadcast to SELECTED device
                    ListViewItem item = deviceView.SelectedItems[0];
                    if (item != null)
                    {
                        NurApi.DevInfoData data = (NurApi.DevInfoData)item.Tag;

                        // Convert MAC address to ASCII HEX bytes
                        byte[] fdata   = new byte[16];
                        string fstring = EthHelper.MacToString(data.eth.mac);
                        fstring = fstring.Replace("-", ""); // remove separators
                        fdata   = System.Text.Encoding.ASCII.GetBytes(fstring);

                        // Create Beep buffer
                        byte[] beepBuf = new byte[2];
                        beepBuf[0] = (byte)60;  // BeepTime
                        beepBuf[1] = (byte)60;  // BeepDuty

                        // Send BEEP broadcast
                        mApi.NurApiSendBroadcast(
                            NurApi.BC_CMD_BEEP, NurApi.BC_FILTER_TYPE_MAC, NurApi.BC_FILTER_OP_EQUAL,
                            fdata, fstring.Length,
                            beepBuf, beepBuf.Length);
                    }
                }
                else
                {
                    // Send BEEP broadcast to ALL devices
                    // Create Beep buffer
                    byte[] beepBuf = new byte[2];
                    beepBuf[0] = (byte)60;  // BeepTime
                    beepBuf[1] = (byte)60;  // BeepDuty

                    // Send BEEP broadcast
                    mApi.NurApiSendBroadcast(
                        NurApi.BC_CMD_BEEP, NurApi.BC_FILTER_TYPE_NONE, 0, null, 0,
                        beepBuf, beepBuf.Length);
                }
            }
            catch (Exception)
            {
            }
        }
Exemple #4
0
        private bool IsServer(NurApi.DevInfoData data)
        {
            bool server = true;

            if (data.eth.hostmode > 0)
            {
                server = false;
                DialogResult dr = MessageBox.Show("Unable to connect device in client mode.\nDo you want to force server mode on?", "?", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (dr == DialogResult.Yes)
                {
                    data.eth.transport = 1;   //Use Broadcast
                    data.eth.hostmode  = 0;   //Use Server mode
                    mApi.SetEthConfig(ref data.eth);
                    server = true;
                }
            }
            return(server);
        }
Exemple #5
0
 private void connectToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         ListViewItem item = deviceView.SelectedItems[0];
         if (item != null)
         {
             NurApi.DevInfoData data = (NurApi.DevInfoData)item.Tag;
             if (IsServer(data))
             {
                 if (ConnectToDevice != null)
                 {
                     connectBtn.Enabled = false;
                     ConnectToDevice(this, new DeviceArgs(EthHelper.IpToString(data.eth.ip), data.eth.serverPort));
                 }
             }
         }
     }
     catch (Exception)
     {
     }
 }