//using Aitex.Core.RT.Routine; //using Aitex.Core.RT.SCCore; //using Venus_RT.Devices; //using MECF.Framework.Common.Routine; //using Venus_Core; //namespace Venus_RT.Modules.PMs //{ // class LoadLockPumpRoutine : PMRoutineBase, IRoutine // { // private enum PumpStep // { // kClosePendulumValve, // kCloseValves, // KCloseISO, // kPump, // kClosePumpValves, // } // private int _basePressureLL = 100; // private int _pumpTimeLimitLL = 120; // public LoadLockPumpRoutine(JetPMBase chamber) : base(chamber) // { // Name = "Loadlock Pump"; // } // public RState Start(params object[] objs) // { // if (CheckLidLoadLock() && // CheckSlitDoor() && // CheckDryPump()) // { // Reset(); // //_chamber.CloseValves(); // _basePressureLL = SC.GetValue($"{Module}.Pump.LoadLockPumpBasePressure"); // _pumpTimeLimitLL = SC.GetValue($"{Module}.Pump.LoadLockPumpTimeLimit"); // return Runner.Start(Module, Name); // } // return RState.Failed; // } // public RState Monitor() // { // Runner.Run(PumpStep.kClosePendulumValve, ClosePendulumValve, _delay_1s) // .Run(PumpStep.kCloseValves, CloseValves, _delay_1s) // .Run(PumpStep.KCloseISO, HOFs.WrapAction(_chamber.OpenValve, ValveType.TurboPumpPumping, false)) // .Run(PumpStep.kPump, HOFs.WrapAction(_chamber.OpenValve, ValveType.LoadlockPumping, true), () => { return _chamber.LoadlockPressure <= _basePressureLL; }, _pumpTimeLimitLL * 1000) // .End(PumpStep.kClosePumpValves, HOFs.WrapAction(_chamber.OpenValve, ValveType.LoadlockPumping, false), _delay_1s); // return Runner.Status; // } // public bool ClosePendulumValve() // { // if (_chamber.PendulumValveIsOpen() == true) // { // _chamber.TurnPendulumValve(false); // } // _chamber.OpenValve(ValveType.TurboPumpPurge, false); // _chamber.OpenValve(ValveType.Guage, false); // return true; // } // public bool CloseValves() // { // _chamber.OpenValve(ValveType.TurboPumpPumping, false); // return true; // } // public void Abort() // { // CloseAllValves(); // } // } //}