コード例 #1
0
        private void OnSamplesAvailable(object sender, SamplesAvailableEventArgs e)
        {
            if (this.activation == null)
            {
                return;
            }
            if (e.Available < FrameSize)
            {
                return;
            }

            byte[] samples = e.Provider.ReadSamples(FrameSize);
            ActivationLevel = this.activation.GetLevel(samples);
            IsActivating    = this.activation.IsTalking(samples);
        }
コード例 #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 =
            //}
        }
コード例 #3
0
 /// <summary>
 /// Ensure that registered delegates receive the SamplesAvailable event.
 /// </summary>
 /// <param name="e">Event argument.</param>
 private void OnSamplesAvailable(SamplesAvailableEventArgs e)
 {
     // If there are subscriber(s), raise event.
     SamplesAvailable?.Invoke(this, e);
 }