public RelayBoxComponent(string port, string channelName)
 {
     control          = new DOTask(port, channelName);
     writer           = new DigitalSingleChannelWriter(control.Stream);
     this.channelName = channelName;
     writer.WriteSingleSampleSingleLine(true, true);
 }
Exemple #2
0
        /// <summary>
        /// Instantiate a new camera with the default or the current settings (not sure), avoid using this one
        /// </summary>
        /// <exception cref="NoCameraDetectedException">Thrown when their is no camera detected</exception>
        public NikonCamera()
        {
            triggerControl = new DOTask(System.Configuration.ConfigurationManager.AppSettings["NikonTrigger"], "NikonTrigger");
            writer         = new DigitalSingleChannelWriter(triggerControl.Stream);

            relayControl = new RelayBoxComponent(System.Configuration.ConfigurationManager.AppSettings["NikonRelay"], "Nikon Power");
            PowerOn();


            deviceManager = new CameraDeviceManager();
            deviceManager.PhotoCaptured      += DeviceManager_PhotoCaptured;
            deviceManager.CameraConnected    += DeviceManager_CameraConnected;
            deviceManager.CameraDisconnected += DeviceManager_CameraDisconnected;
            FolderForPhotos = "FlowVisualization";
            bool ok    = deviceManager.ConnectToCamera();
            int  count = 0;

            while (!ok && count < 10)
            {
                count++;
                Thread.Sleep(500);
                ok = deviceManager.ConnectToCamera();
            }
            if (!ok)
            {
                throw new NoCameraDetectedException {
                          Source = "Nikon"
                };
            }

            deviceManager.SelectedCameraDevice.CaptureInSdRam = true;
        }
Exemple #3
0
        private const double STEP = 250e-4; // in mm
        #endregion

        #region Constructors
        public Traverse()
        {
            dirTask   = new DOTask(ConfigurationManager.AppSettings["TravDir"], "dir");
            dirWriter = new DigitalSingleChannelWriter(dirTask.Stream);

            pulse       = new DOTask(ConfigurationManager.AppSettings["TravPulse"], "pulse");
            pulseWriter = new DigitalSingleChannelWriter(pulse.Stream);
            Direction   = Direction.Down;

            pulseWriter.WriteSingleSampleSingleLine(true, false);
            dirWriter.WriteSingleSampleSingleLine(true, false);
        }
Exemple #4
0
 public ComponentControl(string port, string channelName)
 {
     control          = new DOTask(port, channelName);
     writer           = new DigitalSingleChannelWriter(control.Stream);
     this.channelName = channelName;
 }