bool SerialPortInitialize(String PortName) { if (DeviceInterface.Initialize(PortName) == true) { LOGDraw("Firmware version : " + DeviceInterface.nFirmwareVersionNumber.ToString()); FirmwareTextBox.Text = DeviceInterface.nFirmwareVersionNumber.ToString(); bool bFirmwareOK = false; foreach (int i in DeviceInterface.GetDevice().AllowedFirmwaresVersions) { if (i == DeviceInterface.nFirmwareVersionNumber) { bFirmwareOK = true; break; } } if (bFirmwareOK) { FirmwareTextBox.BackColor = Color.Chartreuse; LOGDraw("Compatible analyzer found on port " + PortName); } else { if (DeviceInterface.nFirmwareVersionNumber > 100 && DeviceInterface.nFirmwareVersionNumber < 120) { FirmwareTextBox.BackColor = Color.Yellow; LOGWarning(PortName + ":In range firmware version number, but no match with selected analyzer"); } else { FirmwareTextBox.BackColor = Color.OrangeRed; LOGWarning(PortName + ":The device respond to the version request, but the firmware version number is out of range "); } } bDeviceConnected = true; return(true); } else { FirmwareTextBox.BackColor = Color.Red; FirmwareTextBox.Text = "NA"; bDeviceConnected = false; LOGError(PortName + ":No device respond to version request"); return(false); } }