diff --git a/devices/bladerf/devicebladerf.cpp b/devices/bladerf/devicebladerf.cpp
index 0494efb63..eed1623a1 100644
--- a/devices/bladerf/devicebladerf.cpp
+++ b/devices/bladerf/devicebladerf.cpp
@@ -25,7 +25,7 @@ bool DeviceBladeRF::open_bladerf(struct bladerf **dev, const char *serial)
if ((*dev = open_bladerf_from_serial(0)) == 0)
{
- fprintf(stderr, "DeviceBladeRF::open_bladerf: could not open BladeRF");
+ fprintf(stderr, "DeviceBladeRF::open_bladerf: could not open BladeRF\n");
return false;
}
@@ -33,13 +33,13 @@ bool DeviceBladeRF::open_bladerf(struct bladerf **dev, const char *serial)
if (fpga_loaded < 0)
{
- fprintf(stderr, "DeviceBladeRF::open_bladerf: failed to check FPGA state: %s",
+ fprintf(stderr, "DeviceBladeRF::open_bladerf: failed to check FPGA state: %s\n",
bladerf_strerror(fpga_loaded));
return false;
}
else if (fpga_loaded == 0)
{
- fprintf(stderr, "BladerfOutput::start: the device's FPGA is not loaded.");
+ fprintf(stderr, "BladerfOutput::start: the device's FPGA is not loaded.\n");
return false;
}
diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp b/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp
index 55d178f44..3dc2dd2ca 100644
--- a/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp
+++ b/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp
@@ -219,9 +219,9 @@ void BladerfOutputGui::on_bandwidth_currentIndexChanged(int index)
sendSettings();
}
-void BladerfOutputGui::on_decim_currentIndexChanged(int index)
+void BladerfOutputGui::on_interp_currentIndexChanged(int index)
{
- if ((index <0) || (index > 5))
+ if ((index <0) || (index > 6))
return;
m_settings.m_log2Interp = index;
sendSettings();
@@ -229,7 +229,7 @@ void BladerfOutputGui::on_decim_currentIndexChanged(int index)
void BladerfOutputGui::on_vga1_valueChanged(int value)
{
- if ((value < BLADERF_RXVGA1_GAIN_MIN) || (value > BLADERF_RXVGA1_GAIN_MAX))
+ if ((value < BLADERF_TXVGA1_GAIN_MIN) || (value > BLADERF_TXVGA1_GAIN_MAX))
return;
ui->vga1Text->setText(tr("%1dB").arg(value));
@@ -239,7 +239,7 @@ void BladerfOutputGui::on_vga1_valueChanged(int value)
void BladerfOutputGui::on_vga2_valueChanged(int value)
{
- if ((value < BLADERF_RXVGA2_GAIN_MIN) || (value > BLADERF_RXVGA2_GAIN_MAX))
+ if ((value < BLADERF_TXVGA2_GAIN_MIN) || (value > BLADERF_TXVGA2_GAIN_MAX))
return;
ui->vga2Text->setText(tr("%1dB").arg(value));
diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputgui.h b/plugins/samplesink/bladerfoutput/bladerfoutputgui.h
index a0db818c3..169b243a3 100644
--- a/plugins/samplesink/bladerfoutput/bladerfoutputgui.h
+++ b/plugins/samplesink/bladerfoutput/bladerfoutputgui.h
@@ -71,7 +71,7 @@ private slots:
void on_centerFrequency_changed(quint64 value);
void on_samplerate_currentIndexChanged(int index);
void on_bandwidth_currentIndexChanged(int index);
- void on_decim_currentIndexChanged(int index);
+ void on_interp_currentIndexChanged(int index);
void on_vga1_valueChanged(int value);
void on_vga2_valueChanged(int value);
void on_xb200_currentIndexChanged(int index);
diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputgui.ui b/plugins/samplesink/bladerfoutput/bladerfoutputgui.ui
index 06feb7dcd..877f21e60 100644
--- a/plugins/samplesink/bladerfoutput/bladerfoutputgui.ui
+++ b/plugins/samplesink/bladerfoutput/bladerfoutputgui.ui
@@ -265,7 +265,7 @@
Interpolation factor
- 3
+ 0
-
@@ -425,16 +425,16 @@
Amplifier before filtering gain (dB)
- 5
+ -35
- 30
+ -4
1
- 20
+ -20
Qt::Horizontal
@@ -450,7 +450,7 @@
- 20
+ -20
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
@@ -491,16 +491,16 @@
Amplifier before ADC gain (dB)
- 30
+ 25
- 3
+ 1
- 3
+ 1
- 9
+ 20
Qt::Horizontal
@@ -516,7 +516,7 @@
- 9
+ 20
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputsettings.cpp b/plugins/samplesink/bladerfoutput/bladerfoutputsettings.cpp
index e106e0658..768659fd6 100644
--- a/plugins/samplesink/bladerfoutput/bladerfoutputsettings.cpp
+++ b/plugins/samplesink/bladerfoutput/bladerfoutputsettings.cpp
@@ -28,8 +28,8 @@ void BladeRFOutputSettings::resetToDefaults()
{
m_centerFrequency = 435000*1000;
m_devSampleRate = 3072000;
- m_vga1 = 20;
- m_vga2 = 9;
+ m_vga1 = -20;
+ m_vga2 = 20;
m_bandwidth = 1500000;
m_log2Interp = 0;
m_xb200 = false;
diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputthread.cpp b/plugins/samplesink/bladerfoutput/bladerfoutputthread.cpp
index d006f8825..ed0f81df5 100644
--- a/plugins/samplesink/bladerfoutput/bladerfoutputthread.cpp
+++ b/plugins/samplesink/bladerfoutput/bladerfoutputthread.cpp
@@ -28,7 +28,7 @@ BladerfOutputThread::BladerfOutputThread(struct bladerf* dev, SampleSourceFifo*
m_log2Interp(0),
m_fcPos(0)
{
- m_sampleFifo->resize(BLADERFOUTPUT_BLOCKSIZE);
+ m_sampleFifo->resize(16*BLADERFOUTPUT_BLOCKSIZE);
}
BladerfOutputThread::~BladerfOutputThread()
@@ -81,34 +81,34 @@ void BladerfOutputThread::run()
void BladerfOutputThread::callback(qint16* buf, qint32 len)
{
SampleVector::iterator beginRead;
- m_sampleFifo->readAdvance(beginRead, len);
+ m_sampleFifo->readAdvance(beginRead, len/(1<m_deviceSourceEngine) // it is a source device
{
- if ((deviceUI->m_deviceSourceAPI->getHardwareId() == (*it)->m_deviceSourceAPI->getHardwareId()) &&
- (deviceUI->m_deviceSourceAPI->getSampleSourceSerial() == (*it)->m_deviceSourceAPI->getSampleSourceSerial()))
+ if ((deviceUI->m_deviceSinkAPI->getHardwareId() == (*it)->m_deviceSourceAPI->getHardwareId()) &&
+ (deviceUI->m_deviceSinkAPI->getSampleSinkSerial() == (*it)->m_deviceSourceAPI->getSampleSourceSerial()))
{
(*it)->m_deviceSourceAPI->addSinkBuddy(deviceUI->m_deviceSinkAPI);
}
@@ -864,8 +864,8 @@ void MainWindow::on_sampleSink_confirmClicked(bool checked)
if ((*it)->m_deviceSinkEngine) // it is a sink device
{
- if ((deviceUI->m_deviceSourceAPI->getHardwareId() == (*it)->m_deviceSinkAPI->getHardwareId()) &&
- (deviceUI->m_deviceSourceAPI->getSampleSourceSerial() == (*it)->m_deviceSinkAPI->getSampleSinkSerial()))
+ if ((deviceUI->m_deviceSinkAPI->getHardwareId() == (*it)->m_deviceSinkAPI->getHardwareId()) &&
+ (deviceUI->m_deviceSinkAPI->getSampleSinkSerial() == (*it)->m_deviceSinkAPI->getSampleSinkSerial()))
{
(*it)->m_deviceSinkAPI->addSinkBuddy(deviceUI->m_deviceSinkAPI);
}