Exemplo n.º 1
0
 private void radioAcqOff_CheckedChanged(object sender, EventArgs e)
 {
     if (radioAcqOff.Checked)
     {
         SampleSource.Flush();
         TransferMode = eTransferMode.Stopped;
     }
 }
Exemplo n.º 2
0
        public bool ReadBlock()
        {
            bool success;

            do
            {
                /* will loop every 100ms (timeout set up in SharedMem object) */
                success = SampleSource.Read();
            } while (success && SampleSource.SamplesRead == 0);

            /* collect as many samples as the current read block size has */
            if (success)
            {
                SamplesThisBlock += SampleSource.SamplesPerBlock;
            }

            if (SamplesThisBlock >= SamplesPerBlock)
            {
                //RX_FFT.Components.GDI.Log.AddMessage("ShmemSampleSource", "Full block");
                SamplesThisBlock = 0;
                SampleSource.Flush();

                /* transfer done, if needed start next one */
                if (success)
                {
                    if (TransferMode == eTransferMode.Block)
                    {
                        USBRX.ReadBlockReceived();
                    }
                }
                else
                {
                    if (USBRX.DeviceLost)
                    {
                        RX_FFT.Components.GDI.Log.AddMessage("USBRX -> DeviceLost");
                        if (DeviceDisappeared != null)
                        {
                            DeviceDisappeared(this, null);
                        }
                    }
                }
            }

            return(success);
        }
Exemplo n.º 3
0
        public bool ReadBlock()
        {
            bool ret;

            ret = SampleSource.Read();
            if (SampleSource.SamplesAvailable > SamplesPerBlock * 50)
            {
                FlushData = true;
            }

            if (FlushData)
            {
                SampleSource.Flush();
                FlushData = false;
            }

            return(ret);
        }