A class to control the PatternList generator using DAQMx. This class is not horrible, doesn't suffer from huge memory leaks, and doesn't frequently crash the computer. W00t.
Inheritance: PatternGenerator
        public override void AcquisitionStarting()
        {
            // any plugin specific initialisation goes here
            DoAcquisitionStarting();

            // get hold of the pattern generator
            pg = new DAQMxPatternGenerator((string)Environs.Hardware.GetInfo("PatternGeneratorBoard"));

            // build a flashlamp pattern
            flashlampPatternBuilder = new FlashlampPatternBuilder();

            // configure the pattern generator
            patternLength = (int)settings["flashlampPulseInterval"] * (int)settings["sequenceLength"]
                * ((int)settings["padShots"] + 1);

             			pg.Configure(
                (int)settings["clockFrequency"],
                true,
                (bool)settings["fullWidth"],
                (bool)settings["lowGroup"],
                patternLength,
                (bool)settings["internalClock"],
                (bool)settings["triggered"]
                );

             loadFlashlampPattern();
        }
        public override void AcquisitionStarting()
        {
            scanPatternBuilder = new DualValvePatternBuilder();

            // get hold of the pattern generator
            pg = new DAQMxPatternGenerator((string)Environs.Hardware.Boards["pg"]);

            // configure the pattern generator
            patternLength = (int)settings["sequenceInterval"] * (int)settings["sequenceLength"]
                * ((int)settings["padShots"] + 1);

            pg.Configure(
                (int)settings["clockFrequency"],
                true,
                (bool)settings["fullWidth"],
                (bool)settings["lowGroup"],
                patternLength,
                (bool)settings["internalClock"],
                false
                );
        }
Esempio n. 3
0
        public void StartApplication()
        {
            controllerWindow = new ControllerWindow();
            controllerWindow.controller = this;

            pg = new DAQMxPatternGenerator((string)Environs.Hardware.Boards["multiDAQ"]);
            apg = new DAQMxAnalogPatternGenerator();

            camera = (CameraControllable)Activator.GetObject(typeof(CameraControllable),
                "tcp://localhost:1172/controller.rem");

            tstage = (TranslationStageControllable)Activator.GetObject(typeof(CameraControllable),
                "tcp://localhost:1172/controller.rem");

            experimentReporter = (ExperimentReportable)Activator.GetObject(typeof(ExperimentReportable),
                "tcp://localhost:1172/controller.rem");

            ioHelper = new MMDataIOHelper(motMasterDataPath,
                    (string)Environs.Hardware.GetInfo("Element"));

            ScriptLookupAndDisplay();

            Application.Run(controllerWindow);
        }