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; }
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 */ } }