public SpectraCyberConfig(SpectraCyberModeTypeEnum mode, SpectraCyberIntegrationTimeEnum integration_time,
                           double offset_voltage, double if_gain, SpectraCyberDCGainEnum dc_gain, SpectraCyberBandwidthEnum bandwidth)
 {
     _Mode           = mode;
     IntegrationTime = integration_time;
     OffsetVoltage   = offset_voltage;
     IFGain          = if_gain;
     DCGain          = dc_gain;
     Bandwidth       = bandwidth;
 }
        private bool SetSomeIntegrationTime(SpectraCyberIntegrationTimeEnum time, char identifier)
        {
            string Command = "!" + identifier + "00" + SpectraCyberIntegrationTimeEnumHelper.GetValue(time);

            SpectraCyberRequest Request = new SpectraCyberRequest(
                SpectraCyberCommandTypeEnum.CHANGE_SETTING,
                Command,
                false,
                4
                );

            SpectraCyberResponse Response = new SpectraCyberResponse();

            SendCommand(Request, ref Response);

            return(Response.RequestSuccessful);
        }
        public static double GetDoubleValue(this SpectraCyberIntegrationTimeEnum time)
        {
            switch (time)
            {
            case SpectraCyberIntegrationTimeEnum.SHORT_TIME_SPAN:
                return(0.3);

            case SpectraCyberIntegrationTimeEnum.MID_TIME_SPAN:
                return(0.75);

            case SpectraCyberIntegrationTimeEnum.LONG_TIME_SPAN:
                return(1);

            default:
                return(0.3);
            }
        }
 public bool SetSpectralIntegrationTime(SpectraCyberIntegrationTimeEnum time)
 {
     if (time == SpectraCyberIntegrationTimeEnum.SHORT_TIME_SPAN)
     {
         configVals.integrationStep = 0.3;
         Schedule.ScanDelayMS       = 300;
     }
     else if (time == SpectraCyberIntegrationTimeEnum.MID_TIME_SPAN)
     {
         configVals.integrationStep = 0.5;
         Schedule.ScanDelayMS       = 500;
     }
     else if (time == SpectraCyberIntegrationTimeEnum.LONG_TIME_SPAN)
     {
         configVals.integrationStep = 1.0;
         Schedule.ScanDelayMS       = 1000;
     }
     return(SetSomeIntegrationTime(time, 'L'));
 }
Example #5
0
        public static char GetValue(this SpectraCyberIntegrationTimeEnum time)
        {
            switch (time)
            {
            case SpectraCyberIntegrationTimeEnum.SHORT_TIME_SPAN:
                return('0');

            case SpectraCyberIntegrationTimeEnum.MID_TIME_SPAN:
                return('1');

            case SpectraCyberIntegrationTimeEnum.LONG_TIME_SPAN:
                return('2');

            case SpectraCyberIntegrationTimeEnum.UNDEFINED:
                throw new System.Exception("UNDEFINED SpectraCyberIntegrationTimeEnum type");

            default:
                throw new System.Exception("Unexpected SpectraCyberIntegrationTimeEnum type");
            }
        }
Example #6
0
 public bool SetSpectralIntegrationTime(SpectraCyberIntegrationTimeEnum time)
 {
     return(SetSomeIntegrationTime(time, 'L'));
 }
Example #7
0
 public bool SetContinuumIntegrationTime(SpectraCyberIntegrationTimeEnum time)
 {
     return(SetSomeIntegrationTime(time, 'I'));
 }
Example #8
0
        private void finalizeSettings_Click(object sender, EventArgs e)
        {
            acceptSettings = !acceptSettings;
            if (acceptSettings)
            {
                this.finalizeSettingsButton.Text = "Edit Settings";
            }
            else
            {
                this.finalizeSettingsButton.Text = "Finalize Settings";
            }
            logger.Info(Utilities.GetTimeStamp() + ": [SpectraCyberController] Finalize settings button has been clicked");


            if (spectraEditActive)
            {
                scanTypeComboBox.BackColor     = System.Drawing.Color.DarkGray;
                scanTypeComboBox.Enabled       = false;
                integrationStepCombo.BackColor = System.Drawing.Color.DarkGray;
                integrationStepCombo.Enabled   = false;
                offsetVoltage.BackColor        = System.Drawing.Color.DarkGray;
                offsetVoltage.Enabled          = false;
                frequency.BackColor            = System.Drawing.Color.DarkGray;
                frequency.Enabled   = false;
                DCGain.BackColor    = System.Drawing.Color.DarkGray;
                DCGain.Enabled      = false;
                IFGainVal.BackColor = System.Drawing.Color.DarkGray;
                IFGainVal.Enabled   = false;

                startScanButton.BackColor = System.Drawing.Color.LimeGreen;
                startScanButton.Enabled   = true;

                spectraEditActive = false;

                int caseSwitch = DCGain.SelectedIndex;

                switch (caseSwitch)
                {
                case 1:
                    DCGainInput = SpectraCyberDCGainEnum.X1;
                    break;

                case 2:
                    DCGainInput = SpectraCyberDCGainEnum.X5;
                    break;

                case 3:
                    DCGainInput = SpectraCyberDCGainEnum.X10;
                    break;

                case 4:
                    DCGainInput = SpectraCyberDCGainEnum.X20;
                    break;

                case 5:
                    DCGainInput = SpectraCyberDCGainEnum.X50;
                    break;

                case 6:
                    DCGainInput = SpectraCyberDCGainEnum.X60;
                    break;
                }

                caseSwitch = integrationStepCombo.SelectedIndex;

                switch (caseSwitch)
                {
                case 1:
                    IntTimeInput = SpectraCyberIntegrationTimeEnum.SHORT_TIME_SPAN;
                    break;

                case 2:
                    IntTimeInput = SpectraCyberIntegrationTimeEnum.MID_TIME_SPAN;
                    break;

                case 3:
                    IntTimeInput = SpectraCyberIntegrationTimeEnum.LONG_TIME_SPAN;
                    break;
                }
            }
            else
            {
                scanTypeComboBox.BackColor     = System.Drawing.Color.White;
                scanTypeComboBox.Enabled       = true;
                integrationStepCombo.BackColor = System.Drawing.Color.White;
                integrationStepCombo.Enabled   = true;
                offsetVoltage.BackColor        = System.Drawing.Color.White;
                offsetVoltage.Enabled          = true;
                frequency.BackColor            = System.Drawing.Color.White;
                frequency.Enabled   = true;
                DCGain.BackColor    = System.Drawing.Color.White;
                DCGain.Enabled      = true;
                IFGainVal.BackColor = System.Drawing.Color.White;
                IFGainVal.Enabled   = true;

                startScanButton.BackColor = System.Drawing.Color.DarkGray;
                startScanButton.Enabled   = false;

                spectraEditActive = true;
            }
        }
Example #9
0
 public void BuildUp()
 {
     _time_1 = SpectraCyberIntegrationTimeEnum.SHORT_TIME_SPAN;
     _time_2 = SpectraCyberIntegrationTimeEnum.MID_TIME_SPAN;
     _time_3 = SpectraCyberIntegrationTimeEnum.LONG_TIME_SPAN;
 }