public void VXT2QueueWaveform(double[] IQData, ControlModule ctrlParameter) { try { ErrorQueryResult result; do { //NOTE: it is necessary to create driver variable to read the error queue Ivi.Driver.IIviDriver driver = (Ivi.Driver.IIviDriver)VXT2; result = driver.Utility.ErrorQuery(); Log("ErrorQuery:" + result.Code.ToString() + " " + result.Message); } while (result.Code != 0); byte[] Marker; VXT2.Source.Modulation.Stop(); //Log("Load RF waveform."); Thread.Sleep(100); RemoveARB(refRFWaveformName); Marker = new byte[IQData.Length / 2]; for (int i = 0; i < 15; i++) { Marker[i] = 1; } Keysight.KtM941x.Marker rfBlankingMarker = Keysight.KtM941x.Marker.None; //VXT2.Source.Modulation.IQ.UploadArbDoubles(refRFWaveformName, dIQData, SamplingRateToSet, rmsPower, scaleFactor); //SamplingRate in Sa/s VXT2.Source.Modulation.IQ.UploadArbDoublesWithMarkers(refRFWaveformName, IQData, Marker, ctrlParameter.RFSamplingRateInMhz * 1e6, 2.5, 0.9, rfBlankingMarker); Log("Load Waveform Done!"); } catch (Exception ex) { Log(ex.Message); throw ex; } }
public void VXT2Close() { if (VXT2 != null) { Log("Close VXT2.."); Ivi.Driver.IIviDriver driver = (Ivi.Driver.IIviDriver)VXT2; driver.Close(); } }