Exemple #1
0
        public void DisengageMasterLock(string cavityName)
        {
            MasterLaser laser = Cavities[cavityName].Master;

            laser.DisengageLock();
            ui.UpdateMasterUIState(cavityName, laser.lState);
        }
Exemple #2
0
 public Cavity(TCLSingleCavityConfig config)
 {
     Name   = config.Name;
     Master = new MasterLaser(config.RampOffset, config.MasterLaser, this);
     if (config.DefaultGains.ContainsKey("Master"))
     {
         Master.Gain = config.DefaultGains["Master"];
     }
     else
     {
         Master.Gain = 1.0;
     }
     SlaveLasers = new Dictionary <string, SlaveLaser>();
     foreach (KeyValuePair <string, string> entry in config.SlaveLasers)
     {
         string     laser = entry.Key;
         SlaveLaser slave = new SlaveLaser(laser, entry.Value, this);
         slave.FSRCalibration = config.FSRCalibrations[entry.Key];
         if (config.DefaultGains.ContainsKey(laser))
         {
             slave.Gain = config.DefaultGains[laser];
         }
         else
         {
             slave.Gain = 0.0;
         }
         if (config.BlockChannels.ContainsKey(laser))
         {
             slave.BlockChannel = config.BlockChannels[laser];
         }
         SlaveLasers.Add(laser, slave);
     }
 }
Exemple #3
0
 private void updateGUIForMasterLaser(MasterLaser laser, double[] rampData)
 {
     double[] laserScanData = laser.LatestScanData;
     if (laser.Fit != null)
     {
         double[] fitPoints = CavityScanFitHelper.CreatePointsFromFit(rampData, laser.Fit);
         ui.DisplayMasterData(laser.ParentCavity.Name, rampData, laserScanData, fitPoints);
         if (laser.IsLocked)
         {
             double summedVoltage = laser.CurrentVoltage;
             ui.SetSummedVoltageTextBox(laser.ParentCavity.Name, summedVoltage);
             ui.SetVoltageIntoCavityTextBox(laser.ParentCavity.Name, summedVoltage + laser.Fit.Centre);
         }
     }
     else
     {
         ui.DisplayMasterData(laser.ParentCavity.Name, rampData, laserScanData);
     }
 }
Exemple #4
0
        public void Start()
        {
            ui            = new MainForm(config.Name);
            ui.controller = this;

            Dictionary <string, string> analogs = new Dictionary <string, string>();

            foreach (string key in config.Lasers.Keys)
            {
                analogs.Add(key, config.Lasers[key]);
            }
            analogs.Add("master", config.MasterLaser);
            analogs.Add("cavity", config.Cavity);

            MasterLaser = new MasterLaser();
            initializeSlaveLaserControl(config.Lasers.Keys);
            initializeAIs(analogs.Values);

            defaultScanPoints = config.DefaultScanPoints;
            defaultMasterGain = config.DefaultGains["Master"];

            TCLState = ControllerState.STOPPED;
            Application.Run(ui);
        }