private void Execute() { var fftLength = FftLength(); var garbage = 0; var fft = new LiveFftAnalyzer(new G313IfProvider(_radio), fftLength); fft.FftCalculated += (s, e) => { garbage++; if (garbage < _sweepParameters.FftWarmup) { return; } fft.Stop(); fft.Reset(); SweepBins(e); garbage = 0; _fftLock.Set(); }; var start = _sweepParameters.From + _sweepParameters.SweepSpan; var end = _sweepParameters.To - _sweepParameters.SweepSpan; for (var i = start; i < end; i += _sweepParameters.SweepSpan) { if (_stop) { //OnSweepFinished(); fft.Stop(); return; } _fftLock.Reset(); _radio.Frequency((uint)i); fft.Start(); _fftLock.WaitOne(); } //OnSweepFinished(); }
public void PauseStreams() { LiveAudio.Stop(); LiveIf.Stop(); RecordAudio.Stop(); RecordIf.Stop(); RecordMp3Audio.Stop(); RecordMp3If.Stop(); FftAnalyzer.Stop(); }