FutureEfemDeviceManager.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using Aitex.Core.RT.Device;
  2. using Aitex.Core.Util;
  3. using FutureEfemLib.Aligners;
  4. using FutureEfemLib.Efems;
  5. using FutureEfemLib.LPs;
  6. using FutureEfemLib.SignalTowers;
  7. namespace FutureEfemLib
  8. {
  9. public class FutureEfemDeviceManager : Singleton<FutureEfemDeviceManager>
  10. {
  11. private DeviceController _controller;
  12. private DeviceManagerBase _device;
  13. public FutureEfemDeviceManager()
  14. {
  15. _controller = new DeviceController();
  16. _device = new DeviceManagerBase(true);
  17. }
  18. public void Initialize()
  19. {
  20. _device.AddCustomModuleDevice(new FutureEfem());
  21. _device.AddCustomDevice(new FutureBuffer("LLA", "LLA", "System.EFEM"));
  22. _device.AddCustomDevice(new FutureBuffer("LLB", "LLB", "System.EFEM"));
  23. _device.AddCustomDevice(new FutureEfemLoadPort("LP1", "LP1", "System.EFEM"));
  24. _device.AddCustomDevice(new FutureEfemLoadPort("LP2", "LP2", "System.EFEM"));
  25. _device.AddCustomDevice(new FutureEfemLoadPort("LP3", "LP3", "System.EFEM"));
  26. _device.AddCustomModuleDevice(new FutureSignalTower("System", "SignalTower", "System.EFEM"));
  27. _device.AddCustomModuleDevice(new FutureAligner("Aligner", "Aligner", "System.EFEM"));
  28. _device.AddCustomModuleDevice(new FutureEfemRobot("EfemRobot", "EfemRobot", "System.EFEM"));
  29. _controller.Start(_device);
  30. }
  31. public void Reset()
  32. {
  33. _controller.Reset();
  34. }
  35. public void Terminate()
  36. {
  37. _controller.Terminate();
  38. }
  39. }
  40. }