private void leMonitorLoop()
{
Color ledColor = new Color();
while (monitorLE)
{
Thread.Sleep(1000);
LaserLockErrorThreshold = getLaserThresholdFromUI();
double error = ReadLaserErrorSignal();
bool isLocked = isLaserLocked(LaserLockErrorThreshold, error);
if (isLocked)
{
ledColor = Color.LightGreen;
}
else
{
ledColor = Color.Red;
MessageBox.Show("Careful! Laser appears to be unlocked!");
}
lock (leStopLock)
{
monitorWindow.SetLaserErrorSignal(error, ledColor);
if (!monitorLE)
{
return;
}
}
}
}