Ejemplo n.º 1
0
        public OperationResult SetTargetTemperature(double celsius)
        {
            var result = CameraService.SetTargetTemperature(celsius);

            if (!result.IsError)
            {
                Cooler.SetTargetTemperature(celsius);
            }

            return(result);
        }
Ejemplo n.º 2
0
        public OperationResult TurnOffCooler()
        {
            if (Cooler.IsOn && !WarnAboutCooler())
            {
                return(OperationResult.Ok);
            }

            var result = CameraService.ToggleCooling(false);

            if (!result.IsError)
            {
                Cooler.TurnOff();
            }

            return(result);
        }
Ejemplo n.º 3
0
        void MonitorCooling(CancellationToken token)
        {
            Cooler.FirstReadingTime = DateTime.Now;

            var readingTime = Cooler.FirstReadingTime;

            while (!token.IsCancellationRequested)
            {
                CameraService.GetObservedCelsius(out double?celsius);
                CameraService.GetObservedCoolingPower(out double?power);

                Cooler.AddReading(DateTime.Now, celsius ?? double.NaN, power);

                Thread.Sleep(1000);

                readingTime = DateTime.Now;
            }
        }
Ejemplo n.º 4
0
        public OperationResult TurnOnCooler()
        {
            var result = CameraService.ToggleCooling(true);

            if (!result.IsError)
            {
                Cooler.TurnOn();

                result = CameraService.GetTargetTemperature(out double?target);

                if (!result.IsError)
                {
                    Cooler.SetTargetTemperature(target.Value);
                }
            }

            return(result);
        }