// 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; }
// 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; }