public OperationResult SetTargetTemperature(double celsius) { var result = CameraService.SetTargetTemperature(celsius); if (!result.IsError) { Cooler.SetTargetTemperature(celsius); } return(result); }
public OperationResult TurnOffCooler() { if (Cooler.IsOn && !WarnAboutCooler()) { return(OperationResult.Ok); } var result = CameraService.ToggleCooling(false); if (!result.IsError) { Cooler.TurnOff(); } return(result); }
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; } }
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); }