public void SetSyncOutputTriggering(ControlModule ctrlParameter) { IKtM941x VXT = VXT2; VXT.Source.Triggers.SynchronizationOutputTrigger.Type = Keysight.KtM941x.SynchronizationTriggerType.PerArb; VXT.Source.Triggers.SynchronizationOutputTrigger.DataMarker = Keysight.KtM941x.Marker.Marker1; VXT.Source.Triggers.SynchronizationOutputTrigger.Enabled = true; VXT.Source.Triggers.SynchronizationOutputTrigger.PulseWidth = 10e-6; VXT.Source.Triggers.SynchronizationOutputTrigger.Mode = Keysight.KtM941x.TriggerMode.Level; VXT.Source.Triggers.SynchronizationOutputTrigger.Polarity = Keysight.KtM941x.TriggerPolarity.Positive; VXT.Source.Triggers.SynchronizationOutputTrigger.Destination = ctrlParameter.SyncOutputTrg;// Keysight.KtM941x.Trigger.InternalTrigger; VXT.Source.Triggers.SynchronizationOutputTrigger2.Type = Keysight.KtM941x.SynchronizationTriggerType.PerArb; VXT.Source.Triggers.SynchronizationOutputTrigger2.DataMarker = Keysight.KtM941x.Marker.Marker1; VXT.Source.Triggers.SynchronizationOutputTrigger2.Enabled = true; VXT.Source.Triggers.SynchronizationOutputTrigger2.PulseWidth = 10e-6; VXT.Source.Triggers.SynchronizationOutputTrigger2.Mode = Keysight.KtM941x.TriggerMode.Level; VXT.Source.Triggers.SynchronizationOutputTrigger2.Polarity = Keysight.KtM941x.TriggerPolarity.Positive; VXT.Source.Triggers.SynchronizationOutputTrigger2.Destination = ctrlParameter.SyncOutputTrg2;// Keysight.KtM941x.Trigger.FrontPanelTrigger1; VXT.Source.Triggers.SynchronizationOutputTrigger3.Type = Keysight.KtM941x.SynchronizationTriggerType.PerArb; VXT.Source.Triggers.SynchronizationOutputTrigger3.DataMarker = Keysight.KtM941x.Marker.Marker1; VXT.Source.Triggers.SynchronizationOutputTrigger3.Enabled = true; VXT.Source.Triggers.SynchronizationOutputTrigger3.PulseWidth = 10e-6; VXT.Source.Triggers.SynchronizationOutputTrigger3.Mode = Keysight.KtM941x.TriggerMode.Level; VXT.Source.Triggers.SynchronizationOutputTrigger3.Polarity = Keysight.KtM941x.TriggerPolarity.Positive; VXT.Source.Triggers.SynchronizationOutputTrigger3.Destination = ctrlParameter.SyncOutputTrg3;// Keysight.KtM941x.Trigger.PXITrigger1; VXT.Source.Triggers.ExternalTrigger.Enabled = ctrlParameter.SourceExtlTrigEnabled;// true;// chkVXTExternalTrigger.Checked ? StartEvent.ExternalTrigger : StartEvent.Immediate; VXT.Source.Triggers.ExternalTrigger.Source = ctrlParameter.SourceExtTrig; VXT.Source.Modulation.StartPlaybackOn10MHzClock = true; VXT.Apply(); }
public void InitializeVXT2(ControlModule ctrlParameter) { try { options = "QueryInstrStatus = true, Simulate = false, DriverSetup=UseFileSystemBackingStore=0,AppStart=" + (ctrlParameter.RunXapp.ToString().ToLower());// "QueryInstrStatus=true, Simulate=false, DriverSetup= DisableLoadCorrection=true,ModuleDiagnostics=true,ShareAllVisaSessions=true"; //options = "QueryInstrStatus = true, Simulate = false, DriverSetup=AppStart=" + (ctrlParameter.RunXapp.ToString().ToLower() );// "QueryInstrStatus=true, Simulate=false, DriverSetup= DisableLoadCorrection=true,ModuleDiagnostics=true,ShareAllVisaSessions=true"; Log(options); VXT2 = new KtM941x(ctrlParameter.VXTVISAAddress, true, true, options); VXT2.Source.Triggers.ExternalTrigger.Delay = 0; VXT2.Source.RF.Level = 0; VXT2.Source.RF.Frequency = ctrlParameter.FrequencyInMhz * 1e6; VXT2.Source.Modulation.Enabled = true; //VXT.Source.Modulation.IQ.ArbEnabled = true; VXT2.Source.RF.OutputEnabled = true; VXT2.Apply(); IKtM941x VXT = VXT2; VXT.Source.Triggers.SynchronizationOutputTrigger.Type = Keysight.KtM941x.SynchronizationTriggerType.PerArb; VXT.Source.Triggers.SynchronizationOutputTrigger.DataMarker = Keysight.KtM941x.Marker.Marker1; VXT.Source.Triggers.SynchronizationOutputTrigger.Enabled = true; VXT.Source.Triggers.SynchronizationOutputTrigger.PulseWidth = 10e-6; VXT.Source.Triggers.SynchronizationOutputTrigger.Mode = Keysight.KtM941x.TriggerMode.Level; VXT.Source.Triggers.SynchronizationOutputTrigger.Polarity = Keysight.KtM941x.TriggerPolarity.Positive; VXT.Source.Triggers.SynchronizationOutputTrigger.Destination = ctrlParameter.SyncOutputTrg;// Keysight.KtM941x.Trigger.InternalTrigger; VXT.Source.Triggers.SynchronizationOutputTrigger2.Type = Keysight.KtM941x.SynchronizationTriggerType.PerArb; VXT.Source.Triggers.SynchronizationOutputTrigger2.DataMarker = Keysight.KtM941x.Marker.Marker1; VXT.Source.Triggers.SynchronizationOutputTrigger2.Enabled = true; VXT.Source.Triggers.SynchronizationOutputTrigger2.PulseWidth = 10e-6; VXT.Source.Triggers.SynchronizationOutputTrigger2.Mode = Keysight.KtM941x.TriggerMode.Level; VXT.Source.Triggers.SynchronizationOutputTrigger2.Polarity = Keysight.KtM941x.TriggerPolarity.Positive; VXT.Source.Triggers.SynchronizationOutputTrigger2.Destination = ctrlParameter.SyncOutputTrg2;// Keysight.KtM941x.Trigger.FrontPanelTrigger1; VXT.Source.Triggers.SynchronizationOutputTrigger3.Type = Keysight.KtM941x.SynchronizationTriggerType.PerArb; VXT.Source.Triggers.SynchronizationOutputTrigger3.DataMarker = Keysight.KtM941x.Marker.Marker1; VXT.Source.Triggers.SynchronizationOutputTrigger3.Enabled = true; VXT.Source.Triggers.SynchronizationOutputTrigger3.PulseWidth = 10e-6; VXT.Source.Triggers.SynchronizationOutputTrigger3.Mode = Keysight.KtM941x.TriggerMode.Level; VXT.Source.Triggers.SynchronizationOutputTrigger3.Polarity = Keysight.KtM941x.TriggerPolarity.Positive; VXT.Source.Triggers.SynchronizationOutputTrigger3.Destination = ctrlParameter.SyncOutputTrg3;// Keysight.KtM941x.Trigger.PXITrigger1; VXT.Source.Triggers.ExternalTrigger.Enabled = ctrlParameter.SourceExtlTrigEnabled;// true;// chkVXTExternalTrigger.Checked ? StartEvent.ExternalTrigger : StartEvent.Immediate; VXT.Source.Triggers.ExternalTrigger.Source = ctrlParameter.SourceExtTrig; VXT.Source.Modulation.StartPlaybackOn10MHzClock = true; // Added for ET VXT2.Service.SetValue("Source;UseSourceDspTrigger", "true"); VXT.Apply(); //Set PXI0 as input trigger for external triggering of RF output //NOTE: this code is moved here to try to solve the conflict w HVI trigger class //VXT2.Source.Triggers.ExternalTrigger.Source = Trigger.PXITrigger0; //VXT2.Source.Triggers.ExternalTrigger.Enabled = true; //chkVXTExternalTrigger.Checked; Log("VXT2 Initialize Done!"); } catch (Exception ex) { Log(ex.Message); throw ex; } }