/// /// Copyright (c) 2022 Sensus Slovensko a.s. /// using System; using log4net; using TBF.Boxes; namespace TBF.Rig.Modbus.TempControl.Novus { public class SetTemperatureOp : IOperation { private static readonly ILog log = LogManager.GetLogger(typeof(SetTemperatureOp)); public override string ToString() { return string.Format("SetTemperatureOp({0},{1})", temperatureSetpoint, eventDone); } /// Set by the constructor readonly TControl easytherm; readonly Event eventDone; float temperatureSetpoint; /// /// Events: PressureInDone, PressureOutDone or Error /// /// Pressure meter reference /// Reference to the measured pressure variable, value is in bar /// Event to be returned by Run() when completed OK public SetTemperatureOp(TControl easytherm, float temperatureSetpoint, Event eventDone) { if (easytherm == null) throw new ArgumentNullException("easytherm"); this.easytherm = easytherm; this.temperatureSetpoint = temperatureSetpoint; this.eventDone = eventDone; log.Debug(this.ToString()); } public SetTemperatureOp(TControl easytherm, float temperatureSetpoint) : this(easytherm, temperatureSetpoint, Event.SetOutputsDone) { } /// Start this operation public void Start() { easytherm.SetTemperatureSetpoint(temperatureSetpoint); } /// Run this operation public Event Run() { return eventDone; } /// Stop this operation public void Stop() { } } }