示例#1
0
        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;
            }
        }
示例#2
0
 public void VXT2Close()
 {
     if (VXT2 != null)
     {
         Log("Close VXT2..");
         Ivi.Driver.IIviDriver driver = (Ivi.Driver.IIviDriver)VXT2;
         driver.Close();
     }
 }