예제 #1
0
        private void UpdateSysConfig()
        {
            m_config.SetGalvResponseTime((double)nudResponseTime.Value);
            m_config.SetScanFieldSize((double)nudFieldSize.Value);

            m_sysConfig.SetXGalvoAoChannel(cbxXGalvo.SelectedItem.ToString());
            m_sysConfig.SetYGalvoAoChannel(cbxYGalvo.SelectedItem.ToString());
            m_sysConfig.SetY2GalvoAoChannel(cbxY2Galvo.SelectedItem.ToString());

            ACQ_DEVICE acqDevice = rbtnApd.Checked ? ACQ_DEVICE.APD : ACQ_DEVICE.PMT;

            m_sysConfig.SetAcqDevice(acqDevice);

            m_sysConfig.SetAcqTriggerDoLine(cbxAcqTrigger.SelectedItem.ToString());
            m_sysConfig.SetStartSyncSignal(cbxStartSync.SelectedItem.ToString());

            m_sysConfig.SetPmtAiChannel(CHAN_ID.WAVELENGTH_405_NM, cbxPmt405Ai.SelectedItem.ToString());
            m_sysConfig.SetPmtAiChannel(CHAN_ID.WAVELENGTH_488_NM, cbxPmt488Ai.SelectedItem.ToString());
            m_sysConfig.SetPmtAiChannel(CHAN_ID.WAVELENGTH_561_NM, cbxPmt561Ai.SelectedItem.ToString());
            m_sysConfig.SetPmtAiChannel(CHAN_ID.WAVELENGTH_640_NM, cbxPmt640Ai.SelectedItem.ToString());

            m_sysConfig.SetPmtTriggerInPfi(cbxPmtTriggerIn.SelectedItem.ToString());

            m_sysConfig.SetApdCiChannel(CHAN_ID.WAVELENGTH_405_NM, cbxApd405Ci.SelectedItem.ToString());
            m_sysConfig.SetApdCiChannel(CHAN_ID.WAVELENGTH_488_NM, cbxApd488Ci.SelectedItem.ToString());
            m_sysConfig.SetApdCiChannel(CHAN_ID.WAVELENGTH_561_NM, cbxApd561Ci.SelectedItem.ToString());
            m_sysConfig.SetApdCiChannel(CHAN_ID.WAVELENGTH_640_NM, cbxApd640Ci.SelectedItem.ToString());

            m_sysConfig.SetApdCiSrcPfi(CHAN_ID.WAVELENGTH_405_NM, cbxApd405CiSrc.SelectedItem.ToString());
            m_sysConfig.SetApdCiSrcPfi(CHAN_ID.WAVELENGTH_488_NM, cbxApd488CiSrc.SelectedItem.ToString());
            m_sysConfig.SetApdCiSrcPfi(CHAN_ID.WAVELENGTH_561_NM, cbxApd561CiSrc.SelectedItem.ToString());
            m_sysConfig.SetApdCiSrcPfi(CHAN_ID.WAVELENGTH_640_NM, cbxApd640CiSrc.SelectedItem.ToString());

            m_sysConfig.SetApdTriggerInPfi(cbxApdTriggerIn.SelectedItem.ToString());
        }
예제 #2
0
        private SysConfig()
        {
            m_acqBoard  = ACQ_BOARD.NICARD;
            m_acqDevice = ACQ_DEVICE.PMT;

            string[] devices    = GetDeviceNames();
            string   deviceName = devices.Length > 0 ? devices[0] : "Dev1";

            string[] aoChannels = GetAoChannels();
            m_xGalvoAoChannel  = string.Concat(deviceName, "/ao0");
            m_yGalvoAoChannel  = string.Concat(deviceName, "/ao1");
            m_y2GalvoAoChannel = string.Concat(deviceName, "/ao2");

            m_acqTriggerDoLine   = string.Concat(deviceName, "/port0/line0");
            m_acqStartSyncSignal = string.Concat("/", deviceName, "/ao/StartTrigger");

            string[] aiChannels = GetAiChannels();
            m_pmtAiChannels = new string[] {
                string.Concat(deviceName, "/ai0"),
                string.Concat(deviceName, "/ai1"),
                string.Concat(deviceName, "/ai2"),
                string.Concat(deviceName, "/ai3"),
            };

            m_pmtTriggerInPfi = string.Concat("/", deviceName, "/PFI10");

            string[] ciChannels = GetCiChannels();
            m_apdCiChannels = new string[] {
                string.Concat(deviceName, "/ctr0"),
                string.Concat(deviceName, "/ctr1"),
                string.Concat(deviceName, "/ctr2"),
                string.Concat(deviceName, "/ctr3"),
            };

            m_apdCiSrcPfis = new string[] {
                string.Concat("/", deviceName, "/PFI8"),
                string.Concat("/", deviceName, "/PFI3"),
                string.Concat("/", deviceName, "/PFI0"),
                string.Concat("/", deviceName, "/PFI5"),
            };

            m_apdTriggerInPfi = string.Concat("/", deviceName, "/PFI9");
        }
예제 #3
0
 public API_RETURN_CODE SetAcqDevice(ACQ_DEVICE acqDevice)
 {
     Logger.Info(string.Format("set acq device: [{0}].", acqDevice));
     m_acqDevice = acqDevice;
     return(API_RETURN_CODE.API_SUCCESS);
 }