예제 #1
0
        private static unsafe void RTLSDR_SamplesAvailable(object sender, SDRSharp.RTLSDR.SamplesAvailableEventArgs inputbuffer)
        {
            if (_inputfifoBuffer == null)
            {
                _inputfifoBuffer = new ComplexFifoStream(BlockMode.None);
            }

            if (_inputfifoBuffer.Length < _SampleRate)
            {
                _inputfifoBuffer.Write(inputbuffer.Buffer, inputbuffer.Length);
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: zillant/RF
        private static void Controller_SamplesAvailable(object sender, SamplesAvailableEventArgs samps)
        {
            // IF RX Mode
            if (iqStream == null)
            {
                iqStream = new ComplexFifoStream(BlockMode.None);
            }


            if (iqStream.Length < SampleRate)
            {
                iqStream.Write(samps.Buffer, samps.Length);
            }
            else
            {
                _droppedBuffers++;
            }


            if (iqStream != null)
            {
                iqStream.Read(_rxBufferPtr, (int)SampleRate);

                for (int i = 0; i < SampleRate; i++)
                {
                    Console.WriteLine(String.Format("{0:0.000000}\t{1:0.000000}", _rxBufferPtr[i].Real, _rxBufferPtr[i].Imag));
                    //Console.WriteLine($"{_bufferPtr[i].Imag}           {_bufferPtr[i].Real}");
                }
            }

            // TO DO if TX Mode
            //if (TXmode)
            //{
            //    samps.Buffer =
            //}
        }