public virtual void WaitForTemperatureIncrease(int thresholdTemperature) { float currentTemperature = 0; AndorSdk.GetTemperatureF(ref currentTemperature); while (currentTemperature < thresholdTemperature - TemperatureEps) { AndorSdk.GetTemperatureF(ref currentTemperature); } }
public virtual void EquilibrateTemperature(int targetTemperature, CancellationToken?token = null) { if (targetTemperature < MinTemp || targetTemperature > MaxTemp) { throw new ArgumentException("Temperature out of range."); } AndorSdk.SetTemperature(targetTemperature); float currentTemperature = 0; AndorSdk.GetTemperatureF(ref currentTemperature); while (Math.Abs(currentTemperature - targetTemperature) > TemperatureEps) { if (token.HasValue && token.Value.IsCancellationRequested) { break; } AndorSdk.GetTemperatureF(ref currentTemperature); } }