private void DetectBtn_Click(object sender, EventArgs e) { DetectBtn.Enabled = false; DetectBtn.Text = "Detecting..."; DetectBtn.Refresh(); _logging.Info(MODUL_NAME, "DetectBtn_Click", "Detecting..."); InitComportSelection(); ComPortCb.SelectedItem = null; #warning TODO check why detection always works only on the second pass // repeat 2 times for (int i = 0; i < 2; i++) { foreach (ComPortSelectionItem port in _comPorts) { Debug.WriteLine(port); if (_arduinoComm.CheckPort(port)) { ComPortCb.SelectedItem = port; break; } } if (ComPortCb.SelectedItem != null) { break; } } if (ComPortCb.SelectedItem == null) { _logging.Info(MODUL_NAME, "DetectBtn_Click", "No COM port detected"); } else { _logging.Info(MODUL_NAME, "DetectBtn_Click", $"{((ComPortSelectionItem)ComPortCb.SelectedItem).ComPort} detected"); } DetectBtn.Enabled = true; DetectBtn.Text = "Detect"; }