using Aitex.Core.Common; using Aitex.Core.RT.Device; using Aitex.Core.RT.Device.Unit; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace athosRT.Devices.EFEM { public class BufferServerModule : IServerModule, IData, IFunction { protected IoCoolingBuffer _buffer = (IoCoolingBuffer)null; public bool IsLinkOk => this._buffer != null; public bool Busy => this._buffer.Busy; public bool Error => this._buffer.Error; public bool Disabled { get; set; } public bool Initialized { get; set; } public bool OriginSearched { get; set; } public bool InUsed { get; set; } public string Name { get; set; } public IoCoolingBuffer GetDevice() => this._buffer; public BufferServerModule(string name) { this.Name = name; this._buffer = DEVICE.GetDevice(name); } public bool Init(out string reason) => this._buffer.Home(out reason); public bool Home(out string reason) => this._buffer.Home(out reason); public bool LiftUp(out string reason) => this._buffer.Move(WaferSize.WS0, true, out reason); public bool LiftDown(WaferSize size, out string reason) => this._buffer.Move(size, false, out reason); public bool Align(WaferSize size, out string reason) => this._buffer.Move(size, false, out reason); } }