void cmdStartTransfer_Click(object sender, RoutedEventArgs e) { (measurementInterface as FET_IV).expTransfer_FET_Chart.Children.RemoveAll(typeof(LineGraph)); (measurementInterface as FET_IV).expTransfer_FET_Chart.Legend.Visibility = System.Windows.Visibility.Visible; expStartInfo = (measurementInterface as FET_IV).DataContext; var settings = expStartInfo as FET_IVModel; if (driver != null) { driver.Dispose(); } if (measureDevice != null) { measureDevice.Dispose(); } driver = new VisaDevice(settings.KeithleyRscName); measureDevice = new Keithley26xxB <Keithley2602B>(driver); var DrainSourceSMU = measureDevice[settings.TransferVdsChannel]; var GateSMU = measureDevice[settings.TransferVgChannel]; experiment = new FET_Transfer_Experiment(DrainSourceSMU, GateSMU) as IExperiment; experiment.ExpStarted += onExperimentStarted; experiment.DataArrived += expTransfer_FET_dataArrived; experiment.Progress += experimentProgress; experiment.Status += experimentStatus; experiment.Start(expStartInfo); }
void cmdStartIV_at_defR_Click(object sender, RoutedEventArgs e) { // Has to be implemented in another section of code var smuDriver = new VisaDevice("GPIB0::26::INSTR") as IDeviceIO; var keithley = new Keithley26xxB <Keithley2602B>(smuDriver); var smu = keithley[Keithley26xxB_Channels.Channel_A]; var motorDriver = new SerialDevice("COM1", 115200, Parity.None, 8, StopBits.One); var motor = new SA_2036U012V(motorDriver) as IMotionController1D; experiment = new IV_DefinedResistance(smu, motor) as IExperiment; experiment.DataArrived += experimentIV_at_def_R_DataArrived; experiment.Status += experimentStatus; experiment.Progress += experimentProgress; if (measurementInterface != null) { if (measurementInterface is IV_at_DefinedResistance) { experiment.Start(((measurementInterface as IV_at_DefinedResistance).DataContext as IV_DefinedResistanceModel).ExperimentSettigns); } } }