public void DisengageMasterLock(string cavityName) { MasterLaser laser = Cavities[cavityName].Master; laser.DisengageLock(); ui.UpdateMasterUIState(cavityName, laser.lState); }
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); } }
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); } }
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); }