public override void Single() { if (GeneTestSetup.Instance.IsSimulated) { GeneSimulatedData(); } else { SA.ResetInterface(); SA.Span = 0; SA.CenterFreq = SignalFreq; SA.RefLevel = RefLevel; SA.SweepTime = SweepTime; SA.RBW = RecvBW; SA.DetType = SpecAnalyzerDetTypeEnum.POS; SA.VBW = RecvBW; SA.InitContEnable = false; (SA as InstruDriver).Wait(1000); SA.Init(); (SA as InstruDriver).Wait(1000 + (int)(SweepTime * 1000)); SA.MarkerMaxSearch(1); (SA as InstruDriver).Wait(1000); SignalPower = SA.GetMarkerY(1); foreach (HarmTestItem item in ItemList) { SA.CenterFreq = SignalFreq * item.nHarm; SA.Init(); (SA as InstruDriver).Wait(1000 + (int)(SweepTime * 1000)); SA.MarkerMaxSearch(1); (SA as InstruDriver).Wait(1000); double p = SA.GetMarkerY(1); if (item.nHarm == 1) { item.X = SignalFreq; item.Y = p; } else { item.X = SignalFreq; item.Y = p - SignalPower; } } } }