Пример #1
0
        public virtual void WaitForTemperatureIncrease(int thresholdTemperature)
        {
            float currentTemperature = 0;

            AndorSdk.GetTemperatureF(ref currentTemperature);
            while (currentTemperature < thresholdTemperature - TemperatureEps)
            {
                AndorSdk.GetTemperatureF(ref currentTemperature);
            }
        }
Пример #2
0
        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);
            }
        }