示例#1
0
        private void getArdunio()
        {
            comListText.Items.Clear();
            //arduinoResponse result = new arduinoResponse();
            _selected = _serviceArd.AutodetectArduinoPort();

            if (_selected.comList != null)
            {
                comListText.Items.Add(_selected.comList.Select(a => a.DeviceID).FirstOrDefault());
                if (_selected.autoSelected != null)
                {
                    comListText.SelectedItem = _selected.autoSelected;
                    portDesc.Text            = "Description :" + _selected.comList.Where(a => a.DeviceID == _selected.autoSelected).Select(a => a.Desc).FirstOrDefault();;
                    return;
                }


                comListText.Items.Add(_selected.comList.Select(a => a.DeviceID).FirstOrDefault());
                comListText.SelectedItem = _selected.autoSelected;
                portDesc.Text            = "Description :" + _selected.comList.Where(a => a.DeviceID == _selected.autoSelected).Select(a => a.Desc).FirstOrDefault();;
                return;
            }
            else
            {
                comListText.ResetText();
                portDesc.Text = "Description :";
            }
            return;
        }
示例#2
0
        public arduinoResponse AutodetectArduinoPort()
        {
            ManagementScope          connectionScope = new ManagementScope();
            SelectQuery              serialQuery     = new SelectQuery("SELECT * FROM Win32_SerialPort");
            ManagementObjectSearcher searcher        = new ManagementObjectSearcher(connectionScope, serialQuery);


            arduinoResponse result = new arduinoResponse();

            try
            {
                foreach (ManagementObject item in searcher.Get())
                {
                    string desc     = item["Description"].ToString();
                    string deviceId = item["DeviceID"].ToString();

                    List <detectedCom> data = new List <detectedCom>();

                    detectedCom _com = new detectedCom();
                    _com.DeviceID = deviceId;
                    _com.Desc     = desc;

                    data.Add(_com);
                    result.comList = data;

                    if (desc.Contains("Arduino"))
                    {
                        result.autoSelected = item["DeviceID"].ToString();
                        result.selectedDesc = item["Description"].ToString();
                        return(result);
                    }
                }
                return(result);
            }
            catch (ManagementException e)
            {
                throw e;
                /* Do Nothing */
            }
        }