using Aitex.Core.RT.Device; using Aitex.Core.Util; using FutureEfemLib.Aligners; using FutureEfemLib.Efems; using FutureEfemLib.LPs; using FutureEfemLib.SignalTowers; namespace FutureEfemLib { public class FutureEfemDeviceManager : Singleton { private DeviceController _controller; private DeviceManagerBase _device; public FutureEfemDeviceManager() { _controller = new DeviceController(); _device = new DeviceManagerBase(true); } public void Initialize() { _device.AddCustomModuleDevice(new FutureEfem()); _device.AddCustomDevice(new FutureBuffer("LLA", "LLA", "System.EFEM")); _device.AddCustomDevice(new FutureBuffer("LLB", "LLB", "System.EFEM")); _device.AddCustomDevice(new FutureEfemLoadPort("LP1", "LP1", "System.EFEM")); _device.AddCustomDevice(new FutureEfemLoadPort("LP2", "LP2", "System.EFEM")); _device.AddCustomDevice(new FutureEfemLoadPort("LP3", "LP3", "System.EFEM")); _device.AddCustomModuleDevice(new FutureSignalTower("System", "SignalTower", "System.EFEM")); _device.AddCustomModuleDevice(new FutureAligner("Aligner", "Aligner", "System.EFEM")); _device.AddCustomModuleDevice(new FutureEfemRobot("EfemRobot", "EfemRobot", "System.EFEM")); _controller.Start(_device); } public void Reset() { _controller.Reset(); } public void Terminate() { _controller.Terminate(); } } }