1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-26 09:48:45 -05:00

Deep redesign: Changed Funcube read block from 8192 to 2048 bytes to fix fluidity problem

This commit is contained in:
f4exb 2015-08-27 08:31:02 +02:00
parent 30b51b5888
commit f4f9a74269
8 changed files with 13 additions and 13 deletions

View File

@ -105,7 +105,7 @@ bool FCDInput::start(int device)
applySettings(m_settings, true);
if(!m_sampleFifo.setSize(4096*16))
if(!m_sampleFifo.setSize(96000*4))
{
qCritical("Could not allocate SampleFifo");
return false;

View File

@ -24,7 +24,7 @@ FCDThread::FCDThread(SampleFifo* sampleFifo, QObject* parent) :
QThread(parent),
fcd_handle(NULL),
m_running(false),
m_convertBuffer(BLOCKSIZE),
m_convertBuffer(FCD_BLOCKSIZE),
m_sampleFifo(sampleFifo)
{
start();
@ -48,7 +48,7 @@ void FCDThread::run()
m_running = true;
while(m_running) {
if ( work(BLOCKSIZE) < 0)
if ( work(FCD_BLOCKSIZE) < 0)
break;
}
CloseSource();

View File

@ -26,7 +26,7 @@
#include <alsa/asoundlib.h>
#define FCDPP_RATE 192000 // FIXME: The Pro / Pro+ switch should be handled better than this!
#define BLOCKSIZE 8192
#define FCD_BLOCKSIZE (1<<11)
class FCDThread : public QThread {
Q_OBJECT

View File

@ -20,13 +20,13 @@
#include "rtlsdrthread.h"
#include "dsp/samplefifo.h"
#define BLOCKSIZE 16384
#define FCD_BLOCKSIZE 16384
RTLSDRThread::RTLSDRThread(rtlsdr_dev_t* dev, SampleFifo* sampleFifo, QObject* parent) :
QThread(parent),
m_running(false),
m_dev(dev),
m_convertBuffer(BLOCKSIZE),
m_convertBuffer(FCD_BLOCKSIZE),
m_sampleFifo(sampleFifo),
m_samplerate(288000),
m_log2Decim(4)
@ -71,7 +71,7 @@ void RTLSDRThread::run()
m_startWaiter.wakeAll();
while(m_running) {
if((res = rtlsdr_read_async(m_dev, &RTLSDRThread::callbackHelper, this, 32, BLOCKSIZE)) < 0) {
if((res = rtlsdr_read_async(m_dev, &RTLSDRThread::callbackHelper, this, 32, FCD_BLOCKSIZE)) < 0) {
qCritical("RTLSDRThread: async error: %s", strerror(errno));
break;
}

View File

@ -23,7 +23,7 @@
V4LThread::V4LThread(SampleFifo* sampleFifo, double frequency, QObject* parent) :
QThread(parent),
m_running(false),
m_convertBuffer(BLOCKSIZE),
m_convertBuffer(FCD_BLOCKSIZE),
m_sampleFifo(sampleFifo)
{
centerFreq = frequency;
@ -48,7 +48,7 @@ void V4LThread::run()
return;
while(m_running) {
work(BLOCKSIZE);
work(FCD_BLOCKSIZE);
}
CloseSource();
}

View File

@ -27,7 +27,7 @@
// lowest samplerate in the kernel is 1.2M, but this works better
#define SAMPLERATE 1536000
#define IF_BANDWIDTH 300000
#define BLOCKSIZE 8192
#define FCD_BLOCKSIZE 8192
class V4LThread : public QThread {
Q_OBJECT

View File

@ -23,7 +23,7 @@
V4LThread::V4LThread(SampleFifo* sampleFifo, double frequency, QObject* parent) :
QThread(parent),
m_running(false),
m_convertBuffer(BLOCKSIZE),
m_convertBuffer(FCD_BLOCKSIZE),
m_sampleFifo(sampleFifo)
{
centerFreq = frequency;
@ -48,7 +48,7 @@ void V4LThread::run()
return;
while(m_running) {
work(BLOCKSIZE);
work(FCD_BLOCKSIZE);
}
CloseSource();
}

View File

@ -25,7 +25,7 @@
#include "dsp/inthalfbandfilter.h"
#define SAMPLERATE 1024000
#define BLOCKSIZE 4096
#define FCD_BLOCKSIZE 4096
class V4LThread : public QThread {
Q_OBJECT