| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 | using Aitex.Core.Common;using Aitex.Sorter.Common;using MECF.Framework.Common.Equipment;using Venus_Core;namespace Venus_RT{    public enum CommunicationType { Analogue, RS232, Ethernet }    //public enum BusyFlag { Idle, Busy, Error }    public enum OnlineFlag { Offline, Online }    public enum AutoFlag { Manual, Auto }    public enum ActionStatus    {        Unknown, Pending, SendCmd, RecACK, RecINF, Completed, PartialDone, AllCompleted, Timeout, Error, Cancel    }    public enum LightType    {        RED, BLUE, GREEN, YELLOW, WHITE, BUZZER1    }    public enum LightStatus    {        OFF, ON, BLINK    }    public class Position    {        public ModuleName Module { get; set; }        public byte Slot { get; set; }    }    public enum ExtendPos    {        //GetReady, GetTarget, GetBack, PutReady, PutTarget, PutBack        G1, GB, G4, P1, PB, P4    }    /// <summary>    /// Wafer transferring argument    /// </summary>    class MoveParam    {        public Position SrcPos { get; } = new Position();        public Position DestPos { get; } = new Position();        public ModuleName SrcModule     => SrcPos.Module;        public byte SrcSlot             => SrcPos.Slot;        public ModuleName DestModule    => DestPos.Module;        public byte DestSlot            => DestPos.Slot;        public WaferSize WaferSize { get; set; }        public Hand Arm { get; }        public MoveParam(Position src, Position dest)        {            this.SrcPos = src; this.DestPos = dest;        }        public MoveParam(ModuleName srcMod, byte srcSlot, ModuleName destMod, byte destSlot, Hand arm, WaferSize ws)        {            SrcPos.Module = srcMod;            SrcPos.Slot = srcSlot;            DestPos.Module = destMod;            DestPos.Slot = destSlot;            Arm = arm;            WaferSize = ws;        }        public MoveParam(int p0, int p1, int p2, int p3, int arm, int ws)        {            SrcPos.Module = (ModuleName)p0;            SrcPos.Slot   = (byte)p1;            SrcPos.Module = (ModuleName)p2;            SrcPos.Slot   = (byte)p3;            Arm           = (Hand)arm;            WaferSize     = (WaferSize)ws;        }    }    class SwapParam    {        public Position SrcPos { get; } = new Position();        public Position DestPos { get; } = new Position();        public ModuleName SrcModule => SrcPos.Module;        public byte SrcSlot => SrcPos.Slot;        public ModuleName DestModule => DestPos.Module;        public byte DestSlot => DestPos.Slot;        public WaferSize WaferSize { get; set; }        public Hand Arm { get; }        public SwapParam(Position src, Position dest)        {            this.SrcPos = src; this.DestPos = dest;        }        public SwapParam(ModuleName srcMod, byte srcSlot, ModuleName destMod, byte destSlot, Hand arm, WaferSize ws)        {            SrcPos.Module = srcMod;            SrcPos.Slot = srcSlot;            DestPos.Module = destMod;            DestPos.Slot = destSlot;            Arm = arm;            WaferSize = ws;        }        public SwapParam(int p0, int p1, int p2, int p3, int arm, int ws)        {            SrcPos.Module = (ModuleName)p0;            SrcPos.Slot = (byte)p1;            SrcPos.Module = (ModuleName)p2;            SrcPos.Slot = (byte)p3;            Arm = (Hand)arm;            WaferSize = (WaferSize)ws;        }    }    class ExtendParam    {        public ModuleName Module { get; set; }        public ExtendPos Pos { get; set; }        public Hand Arm { get; set; } = Hand.Blade1;    }    static class Extension    {        public static MovePath Path(this MoveParam mp)        {            return MovePath.LPToPM;        }    }    enum MovePath    {        LPToPM,        PMToLP    }    public interface IHardwareMessage    {        string RawString { get; set; }    }    public enum GeneratorMFG    {        AdTec = 1,        Comet = 2    }    public enum MatchMFG    {        AdTec =1,        MKS = 2    }    public enum ChillerMFG    {        SMC = 1,        AIRSYS = 2,    }    public enum DryPumpMFG    {        SKY = 1,        Edwards = 2,        Kashiyama = 3    }    public enum MsgDirection    {        Unknown, To, From    }}
 |