/// /// Copyright (c) 2022 Sensus Slovensko a.s. /// using System; using log4net; using TBF.Boxes; namespace TBF.Rig.Modbus.TempControl.Novus { public class SetTemperatureSetpointOp : IOperation { private static readonly ILog log = LogManager.GetLogger(typeof(SetTemperatureSetpointOp)); public override string ToString() { return string.Format("SetTemperatureSetpointOp({0})", eventDone); } /// Set by the constructor readonly TControl tempControl; readonly double temperature; readonly Event eventDone; /// /// Events: PressureInDone, PressureOutDone or Error /// /// Temp. controller reference /// Event to be returned by Run() when completed OK public SetTemperatureSetpointOp(TControl tempControl, double temperature, Event eventDone) { if (tempControl == null) throw new ArgumentNullException("tempControl"); this.tempControl = tempControl; this.temperature = temperature; this.eventDone = eventDone; log.Debug(this.ToString()); } public SetTemperatureSetpointOp(TControl tempControl, double temperature) : this(tempControl, temperature, Event.ConditionNotMet) { } /// Start this operation public void Start() { tempControl.SetTemperatureSetpoint(temperature); } /// Run this operation public Event Run() { return eventDone; } /// Stop this operation public void Stop() { } } }