Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        public void PauseStreams()
        {
            LiveAudio.Stop();
            LiveIf.Stop();

            RecordAudio.Stop();
            RecordIf.Stop();

            RecordMp3Audio.Stop();
            RecordMp3If.Stop();

            FftAnalyzer.Stop();
        }