예제 #1
0
 public TriggerNEdgeCommands(IProtocolCommand parent) : base(parent)
 {
     Source = new TriggerSourceCommand(this);
     Slope  = new TriggerSlopeCommand(this)
     {
         Options = new StringOptions {
             new StringOption("POSitive", "POS"),
             new StringOption("NEGative", "NEG"),
         }
     };
     Idle = new TriggerTimeCommand(this)
     {
         Name    = "IDLE",
         Term    = "IDLE",
         Options = new RealOptions
         {
             new RealOption(16 * SI.n, 10)
         }
     };
     Edge = new ProtocolCommand(this)
     {
         Name    = "EDGE",
         Term    = "EDGE",
         Options = new IntegerOptions {
             new IntegerOption(1, 65535)
         }
     };
     Level = new TriggerLevelCommand(this);
 }
예제 #2
0
        public TriggerWindowsCommands(IProtocolCommand parent) : base(parent)
        {
            Source = new TriggerSourceChannelCommand(this);

            Slope = new TriggerSlopeCommand(this);

            Time = new TriggerTimeCommand(this)
            {
                Options = new RealOptions(8 * SI.n, 10)
            };

            Position = new ProtocolCommand(this)
            {
                Name    = "POSition",
                Term    = "POS",
                Options = new StringOptions()
                {
                    new StringOption("EXIT", "EXIT"),
                    new StringOption("ENTER", "ENTER"),
                    new StringOption("TIMe", "TIM"),
                }
            };

            ALevel = new TriggerLevelCommand(this);

            BLevel = new TriggerLevelCommand(this);
        }
예제 #3
0
 public TriggerEdgeCommands(IProtocolCommand parent) : base(parent)
 {
     Source = new TriggerSourceCommand(this)
     {
         Description = "The trigger source in edge trigger",
     };
     Slope = new TriggerSlopeCommand(this);
     Level = new TriggerLevelCommand(this);
 }
예제 #4
0
        public TriggerTimeoutCommands(IProtocolCommand parent) : base(parent)
        {
            Source = new TriggerSourceCommand(this);

            Slope = new TriggerSlopeCommand(this);

            Time = new ProtocolCommand(this)
            {
                Name    = "TIMe",
                Term    = "TIM",
                Options = new RealOptions(16 * SI.n, 10),
            };
        }
예제 #5
0
        public TriggerSHoldCommands(IProtocolCommand parent) : base(parent)
        {
            DataSource = new TriggerSourceChannelCommand(this);

            ClockSource = new TriggerSourceChannelCommand(this);

            Slope = new TriggerSlopeCommand(this)
            {
                Options = new StringOptions
                {
                    new StringOption("POSitive", "POS"),
                    new StringOption("NEGative", "NEG"),
                }
            };

            Pattern = new TriggerPatternCommands(this)
            {
                Options = new StringOptions()
                {
                    new StringOption("H", "H"),
                    new StringOption("L", "L"),
                }
            };

            Type = new ProtocolCommand(this)
            {
                Name    = "TYP",
                Term    = "TYP",
                Options = new StringOptions
                {
                    new StringOption("SETup", "SET"),
                    new StringOption("HOLd", "HOL"),
                    new StringOption("SETHOLd", "SETHOL"),
                }
            };

            SetupTime = new TriggerTimeCommand(this)
            {
                Name    = "SHOLd",
                Term    = "SHOL",
                Options = new RealOptions(8 * SI.n, 1),
            };

            HoldTime = new TriggerTimeCommand(this)
            {
                Name    = "HTIMe",
                Term    = "HTIM",
                Options = new RealOptions(8 * SI.n, 1),
            };
        }
예제 #6
0
        public TriggerDelayCommands(IProtocolCommand parent) : base(parent)
        {
            SourceA = new TriggerSourceChannelCommand(this)
            {
                Name = "SourceA",
                Term = "SA",
            };

            SlopeA = new TriggerSlopeCommand(this)
            {
                Name = "SLOPeA",
                Term = "SLOPA",
            };

            SourceB = new TriggerSourceChannelCommand(this)
            {
                Name = "SourceB",
                Term = "SB",
            };

            SlopeB = new TriggerSlopeCommand(this)
            {
                Name = "SLOPeB",
                Term = "SLOPB",
            };

            Type = new TriggerTypeCommand(this);

            TUpper = new TriggerTimeCommand(this)
            {
                Name    = "TUPPer",
                Term    = "TUPP",
                Options = new RealOptions()
                {
                    new RealOption(16 * SI.n, 10)
                }
            };

            TLower = new TriggerTimeCommand(this)
            {
                Name    = "TLOWer",
                Term    = "TLOW",
                Options = new RealOptions()
                {
                    new RealOption(8 * SI.n, 10)
                }
            };
        }