Beispiel #1
0
 // stop outputting the pattern started above
 public void StopPatternOutput()
 {
     if (patternRunning)
     {
         PatternPlugin pgPlugin  = profileManager.CurrentProfile.AcquisitorConfig.pgPlugin;
         YAGPlugin     yagPlugin = profileManager.CurrentProfile.AcquisitorConfig.yagPlugin;
         yagPlugin.AcquisitionFinished();
         pgPlugin.AcquisitionFinished();
         controllerWindow.EnableMenus();
         patternRunning = false;
     }
 }
Beispiel #2
0
 // outputs the pattern from the currently selected profile - used by BlockHead
 public void OutputPattern()
 {
     if (!patternRunning)
     {
         PatternPlugin pgPlugin  = profileManager.CurrentProfile.AcquisitorConfig.pgPlugin;
         YAGPlugin     yagPlugin = profileManager.CurrentProfile.AcquisitorConfig.yagPlugin;
         pgPlugin.AcquisitionStarting();
         yagPlugin.AcquisitionStarting();
         pgPlugin.ScanStarting();
         yagPlugin.ScanStarting();
         patternRunning = true;
     }
 }
 public void SetPatternPlugin(String type)
 {
     pgPlugin        = PluginRegistry.GetRegistry().GetPatternPlugin(type);
     pgPlugin.Config = this;
 }
        private void TweakMode(String command)
        {
            String[] bits = command.Split(new char[] { ' ' });
            if (bits.Length != 3)
            {
                manager.Window.WriteLine("Syntax error.");
                return;
            }
            // check if this is a valid parameter to tweak
            PatternPlugin plugin = manager.CurrentProfile.AcquisitorConfig.pgPlugin;

            if (!sr.HasField(plugin, bits[1]))
            {
                manager.Window.WriteLine("The current profile's pg plugin has no field named " + bits[1]);
                return;
            }
            // is the increment valid
            int increment = 0;

            try
            {
                increment = Convert.ToInt32(bits[2]);
            }
            catch (Exception)
            {
                manager.Window.WriteLine("Invalid increment");
                return;
            }

            manager.Window.WriteLine("Tweaking - i for increment, d for decrement, e for exit.");
            for (;;)
            {
                String s = manager.Window.GetNextLine();
                // check if the user wants to exit. Also check if acquisition has stopped.
                // This is not ideal but should stop anything terrible happening.
                if (s == "e" | Controller.GetController().appState != Controller.AppState.running)
                {
                    manager.Window.WriteLine("Exiting tweak mode");
                    return;
                }
                if (s == "i")
                {
                    manager.Window.WriteLine("Incrementing " + bits[1] + " by " + increment + ".");
                    int oldValue = (int)sr.GetField(plugin, bits[1]);
                    int newValue = oldValue + increment;
                    manager.Window.WriteLine("New value: " + newValue);
                    sr.SetField(plugin, bits[1], newValue.ToString());
                    manager.FireTweak(new TweakEventArgs(bits[1], newValue));
                    continue;
                }
                if (s == "d")
                {
                    manager.Window.WriteLine("Decrementing " + bits[1] + " by " + increment + ".");
                    int oldValue = (int)sr.GetField(plugin, bits[1]);
                    int newValue = oldValue - increment;
                    manager.Window.WriteLine("New value: " + newValue);
                    sr.SetField(plugin, bits[1], newValue.ToString());
                    manager.FireTweak(new TweakEventArgs(bits[1], newValue));
                    continue;
                }

                manager.Window.WriteLine("Syntax error");
            }
        }