Пример #1
0
        // this function creates a default BlockConfig that is sufficient to
        // get BlockHead running. The recommended way of making a new config
        // is to use BlockHead to save this config and then modify it.
        private void MakeDefaultBlockConfig()
        {
            const int CODE_LENGTH = 12;

            config = new BlockConfig();

            DigitalModulation dm = new DigitalModulation();

            dm.Name          = "E";
            dm.Waveform      = new Waveform("E Modulation", CODE_LENGTH);
            dm.Waveform.Code = new bool[] { true, true, false, false, false, false, false, false, false, false, false, false };
            config.DigitalModulations.Add(dm);

            DigitalModulation pi = new DigitalModulation();

            pi.Name          = "PI";
            pi.Waveform      = new Waveform("Pi Modulation", CODE_LENGTH);
            pi.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, false, true };
            config.DigitalModulations.Add(pi);

            AnalogModulation b = new AnalogModulation();

            b.Name             = "B";
            b.Waveform         = new Waveform("B Modulation", CODE_LENGTH);
            b.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, false, true };
            b.DelayAfterSwitch = 5;
            b.Centre           = 0;
            b.Step             = 0.46;
            config.AnalogModulations.Add(b);

            AnalogModulation db = new AnalogModulation();

            db.Name             = "DB";
            db.Waveform         = new Waveform("DB Modulation", CODE_LENGTH);
            db.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            db.DelayAfterSwitch = 5;
            db.Centre           = 0;
            db.Step             = 0.1;
            config.AnalogModulations.Add(db);

            AnalogModulation rf1A = new AnalogModulation();

            rf1A.Name             = "RF1A";
            rf1A.Waveform         = new Waveform("rf1 Amplitude modulation", CODE_LENGTH);
            rf1A.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf1A.DelayAfterSwitch = 0;
            rf1A.Centre           = 1.5;
            rf1A.Step             = 0.1;
            config.AnalogModulations.Add(rf1A);

            AnalogModulation rf2A = new AnalogModulation();

            rf2A.Name             = "RF2A";
            rf2A.Waveform         = new Waveform("rf2 Amplitude modulation", CODE_LENGTH);
            rf2A.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf2A.DelayAfterSwitch = 0;
            rf2A.Centre           = 2.5;
            rf2A.Step             = 0.1;
            config.AnalogModulations.Add(rf2A);

            AnalogModulation rf1F = new AnalogModulation();

            rf1F.Name             = "RF1F";
            rf1F.Waveform         = new Waveform("rf1 frequency modulation", CODE_LENGTH);
            rf1F.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf1F.DelayAfterSwitch = 0;
            rf1F.Centre           = 2.5;
            rf1F.Step             = 0.1;
            config.AnalogModulations.Add(rf1F);

            AnalogModulation rf2F = new AnalogModulation();

            rf2F.Name             = "RF2F";
            rf2F.Waveform         = new Waveform("rf2 frequency modulation", CODE_LENGTH);
            rf2F.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf2F.DelayAfterSwitch = 0;
            rf2F.Centre           = 2.5;
            rf2F.Step             = 0.1;
            config.AnalogModulations.Add(rf2F);

            AnalogModulation lf1 = new AnalogModulation();

            lf1.Name             = "LF1";
            lf1.Waveform         = new Waveform("laser frequency 1 modulation", CODE_LENGTH);
            lf1.Waveform.Code    = new bool[] { false, true, false, true, false, false, false, false, false, false, false, false };
            lf1.DelayAfterSwitch = 0;
            lf1.Centre           = 2.5;
            lf1.Step             = 0.05;
            config.AnalogModulations.Add(lf1);

            AnalogModulation lf2 = new AnalogModulation();

            lf2.Name             = "LF2";
            lf2.Waveform         = new Waveform("laser frequency 2 modulation", CODE_LENGTH);
            lf2.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            lf2.DelayAfterSwitch = 0;
            lf2.Centre           = 1.0;
            lf2.Step             = 0.01;
            config.AnalogModulations.Add(lf2);

            config.Settings["codeLength"]        = CODE_LENGTH;
            config.Settings["numberOfPoints"]    = 4096;
            config.Settings["pgClockFrequency"]  = 1000000;
            config.Settings["eDischargeTime"]    = 1000;
            config.Settings["eBleedTime"]        = 1000;
            config.Settings["eSwitchTime"]       = 500;
            config.Settings["eChargeTime"]       = 1000;
            config.Settings["magnetCalibration"] = 16.5;

            config.Settings["eState"]  = true;
            config.Settings["bState"]  = true;
            config.Settings["rfState"] = true;
            config.Settings["ePlus"]   = 8.0;
            config.Settings["eMinus"]  = -8.0;
            config.Settings["gtPlus"]  = 1.6;
            config.Settings["gtMinus"] = -1.6;
            config.Settings["gbPlus"]  = 1.6;
            config.Settings["gbMinus"] = -1.6;
        }
Пример #2
0
        // this function creates a default BlockConfig that is sufficient to
        // get BlockHead running. The recommended way of making a new config
        // is to use BlockHead to save this config and then modify it.
        private void MakeDefaultBlockConfig()
        {
            const int CODE_LENGTH = 12;

            config = new BlockConfig();

            DigitalModulation dm = new DigitalModulation();

            dm.Name          = "E";
            dm.Waveform      = new Waveform("E Modulation", CODE_LENGTH);
            dm.Waveform.Code = new bool[] { true, true, true, true, false, false, false, false, false, false, false, false };
            config.DigitalModulations.Add(dm);

            DigitalModulation mw = new DigitalModulation();

            mw.Name          = "MW";
            mw.Waveform      = new Waveform("Mw Modulation", CODE_LENGTH);
            mw.Waveform.Code = new bool[] { false, true, false, true, true, true, false, true, false, false, false, false };
            config.DigitalModulations.Add(mw);

            DigitalModulation pi = new DigitalModulation();

            pi.Name          = "PI";
            pi.Waveform      = new Waveform("Pi Modulation", CODE_LENGTH);
            pi.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, false, true };
            config.DigitalModulations.Add(pi);

            AnalogModulation b = new AnalogModulation();

            b.Name             = "B";
            b.Waveform         = new Waveform("B Modulation", CODE_LENGTH);
            b.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, false, true };
            b.DelayAfterSwitch = 5;
            b.Centre           = 0;
            b.Step             = 0.46;
            config.AnalogModulations.Add(b);

            AnalogModulation db = new AnalogModulation();

            db.Name             = "DB";
            db.Waveform         = new Waveform("DB Modulation", CODE_LENGTH);
            db.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            db.DelayAfterSwitch = 5;
            db.Centre           = 0;
            db.Step             = 0.1;
            config.AnalogModulations.Add(db);

            AnalogModulation rf1A = new AnalogModulation();

            rf1A.Name             = "RF1A";
            rf1A.Waveform         = new Waveform("rf1 Amplitude modulation", CODE_LENGTH);
            rf1A.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf1A.DelayAfterSwitch = 0;
            rf1A.Centre           = 1.5;
            rf1A.Step             = 0.1;
            config.AnalogModulations.Add(rf1A);

            AnalogModulation rf2A = new AnalogModulation();

            rf2A.Name             = "RF2A";
            rf2A.Waveform         = new Waveform("rf2 Amplitude modulation", CODE_LENGTH);
            rf2A.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf2A.DelayAfterSwitch = 0;
            rf2A.Centre           = 2.5;
            rf2A.Step             = 0.1;
            config.AnalogModulations.Add(rf2A);

            AnalogModulation rf1F = new AnalogModulation();

            rf1F.Name             = "RF1F";
            rf1F.Waveform         = new Waveform("rf1 frequency modulation", CODE_LENGTH);
            rf1F.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf1F.DelayAfterSwitch = 0;
            rf1F.Centre           = 2.5;
            rf1F.Step             = 0.1;
            config.AnalogModulations.Add(rf1F);

            AnalogModulation rf2F = new AnalogModulation();

            rf2F.Name             = "RF2F";
            rf2F.Waveform         = new Waveform("rf2 frequency modulation", CODE_LENGTH);
            rf2F.Waveform.Code    = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf2F.DelayAfterSwitch = 0;
            rf2F.Centre           = 2.5;
            rf2F.Step             = 0.1;
            config.AnalogModulations.Add(rf2F);

            //AnalogModulation lf1 = new AnalogModulation();
            //lf1.Name = "LF1";
            //lf1.Waveform = new Waveform("laser frequency 1 modulation", CODE_LENGTH);
            //lf1.Waveform.Code = new bool[] { false, true, false, true, false, false, false, false, false, false, false, false };
            //lf1.DelayAfterSwitch = 0;
            //lf1.Centre = 2.5;
            //lf1.Step = 0.05;
            //config.AnalogModulations.Add(lf1);

            //AnalogModulation lf2 = new AnalogModulation();
            //lf2.Name = "LF2";
            //lf2.Waveform = new Waveform("laser frequency 2 modulation", CODE_LENGTH);
            //lf2.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            //lf2.DelayAfterSwitch = 0;
            //lf2.Centre = 1.0;
            //lf2.Step = 0.01;
            //config.AnalogModulations.Add(lf2);

            config.Settings["codeLength"]        = CODE_LENGTH;
            config.Settings["numberOfPoints"]    = 4096;
            config.Settings["pgClockFrequency"]  = 1000000;
            config.Settings["eDischargeTime"]    = 1000;
            config.Settings["eBleedTime"]        = 1000;
            config.Settings["eSwitchTime"]       = 500;
            config.Settings["eChargeTime"]       = 1000;
            config.Settings["eRampDownDeay"]     = 10;
            config.Settings["eRampDownTime"]     = 10;
            config.Settings["eRampUpTime"]       = 10;
            config.Settings["eDischargeTime"]    = 10;
            config.Settings["greenDCMF"]         = 10;
            config.Settings["magnetCalibration"] = 16.9;
            config.Settings["dummy"]             = "jack";
            config.Settings["cluster"]           = "28May1701";
            config.Settings["phaseScramblerV"]   = 1.0;

            config.Settings["eState"]  = true;
            config.Settings["bState"]  = true;
            config.Settings["rfState"] = true;
            config.Settings["mwState"] = true;
            config.Settings["ePlus"]   = 8.0;
            config.Settings["eMinus"]  = -8.0;

            config.Settings["greenAmp"]     = 16.5;
            config.Settings["greenFreq"]    = 16.5;
            config.Settings["clusterIndex"] = 1;
            config.Settings["E0PlusBoost"]  = 0.1;
            config.Settings["bBiasV"]       = 0.1;

            config.Settings["maximumNumberOfTimesToStepTarget"] = 1000;
            config.Settings["minimumSignalToRun"]         = 300.0;
            config.Settings["targetStepperGateStartTime"] = 2340.0;
            config.Settings["targetStepperGateEndTime"]   = 2540.0;
        }
Пример #3
0
        // this function creates a default BlockConfig that is sufficient to
        // get BlockHead running. The recommended way of making a new config
        // is to use BlockHead to save this config and then modify it.
        private void MakeDefaultBlockConfig()
        {
            const int CODE_LENGTH = 12;
            config = new BlockConfig();

            DigitalModulation dm = new DigitalModulation();
            dm.Name = "E";
            dm.Waveform = new Waveform("E Modulation", CODE_LENGTH);
            dm.Waveform.Code = new bool[] { true, true, false, false, false, false, false, false, false, false, false, false };
            config.DigitalModulations.Add(dm);

            DigitalModulation pi = new DigitalModulation();
            pi.Name = "PI";
            pi.Waveform = new Waveform("Pi Modulation", CODE_LENGTH);
            pi.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, false, true };
            config.DigitalModulations.Add(pi);

            AnalogModulation b = new AnalogModulation();
            b.Name = "B";
            b.Waveform = new Waveform("B Modulation", CODE_LENGTH);
            b.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, false, true };
            b.DelayAfterSwitch = 5;
            b.Centre = 0;
            b.Step = 0.46;
            config.AnalogModulations.Add(b);

            AnalogModulation db = new AnalogModulation();
            db.Name = "DB";
            db.Waveform = new Waveform("DB Modulation", CODE_LENGTH);
            db.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            db.DelayAfterSwitch = 5;
            db.Centre = 0;
            db.Step = 0.1;
            config.AnalogModulations.Add(db);

            AnalogModulation rf1A = new AnalogModulation();
            rf1A.Name = "RF1A";
            rf1A.Waveform = new Waveform("rf1 Amplitude modulation", CODE_LENGTH);
            rf1A.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf1A.DelayAfterSwitch = 0;
            rf1A.Centre = 1.5;
            rf1A.Step = 0.1;
            config.AnalogModulations.Add(rf1A);

            AnalogModulation rf2A = new AnalogModulation();
            rf2A.Name = "RF2A";
            rf2A.Waveform = new Waveform("rf2 Amplitude modulation", CODE_LENGTH);
            rf2A.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf2A.DelayAfterSwitch = 0;
            rf2A.Centre = 2.5;
            rf2A.Step = 0.1;
            config.AnalogModulations.Add(rf2A);

            AnalogModulation rf1F = new AnalogModulation();
            rf1F.Name = "RF1F";
            rf1F.Waveform = new Waveform("rf1 frequency modulation", CODE_LENGTH);
            rf1F.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf1F.DelayAfterSwitch = 0;
            rf1F.Centre = 2.5;
            rf1F.Step = 0.1;
            config.AnalogModulations.Add(rf1F);

            AnalogModulation rf2F = new AnalogModulation();
            rf2F.Name = "RF2F";
            rf2F.Waveform = new Waveform("rf2 frequency modulation", CODE_LENGTH);
            rf2F.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            rf2F.DelayAfterSwitch = 0;
            rf2F.Centre = 2.5;
            rf2F.Step = 0.1;
            config.AnalogModulations.Add(rf2F);

            AnalogModulation lf1 = new AnalogModulation();
            lf1.Name = "LF1";
            lf1.Waveform = new Waveform("laser frequency 1 modulation", CODE_LENGTH);
            lf1.Waveform.Code = new bool[] { false, true, false, true, false, false, false, false, false, false, false, false };
            lf1.DelayAfterSwitch = 0;
            lf1.Centre = 2.5;
            lf1.Step = 0.05;
            config.AnalogModulations.Add(lf1);

            AnalogModulation lf2 = new AnalogModulation();
            lf2.Name = "LF2";
            lf2.Waveform = new Waveform("laser frequency 2 modulation", CODE_LENGTH);
            lf2.Waveform.Code = new bool[] { false, false, false, false, false, false, false, false, false, false, true, false };
            lf2.DelayAfterSwitch = 0;
            lf2.Centre = 1.0;
            lf2.Step = 0.01;
            config.AnalogModulations.Add(lf2);

            config.Settings["codeLength"] = CODE_LENGTH;
            config.Settings["numberOfPoints"] = 4096;
            config.Settings["pgClockFrequency"] = 1000000;
            config.Settings["eDischargeTime"] = 1000;
            config.Settings["eBleedTime"] = 1000;
            config.Settings["eSwitchTime"] = 500;
            config.Settings["eChargeTime"] = 1000;
            config.Settings["magnetCalibration"] = 16.5;

            config.Settings["eState"] = true;
            config.Settings["bState"] = true;
            config.Settings["rfState"] = true;
            config.Settings["ePlus"] = 8.0;
            config.Settings["eMinus"] = -8.0;
            config.Settings["gtPlus"] = 1.6;
            config.Settings["gtMinus"] = -1.6;
            config.Settings["gbPlus"] = 1.6;
            config.Settings["gbMinus"] = -1.6;
        }