diff --git a/plugins/samplesource/fcd/fcdgui.cpp b/plugins/samplesource/fcd/fcdgui.cpp
index 243b6d4e7..8e7c86dd2 100644
--- a/plugins/samplesource/fcd/fcdgui.cpp
+++ b/plugins/samplesource/fcd/fcdgui.cpp
@@ -1,6 +1,7 @@
#include "fcdgui.h"
#include "ui_fcdgui.h"
#include "plugin/pluginapi.h"
+#include "gui/colormapper.h"
#include "dsp/dspengine.h"
FCDGui::FCDGui(PluginAPI* pluginAPI, QWidget* parent) :
@@ -11,7 +12,8 @@ FCDGui::FCDGui(PluginAPI* pluginAPI, QWidget* parent) :
m_sampleSource(NULL)
{
ui->setupUi(this);
- ui->centerFrequency->setValueRange(7, 420000U, 1900000U);
+ ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::ReverseGold));
+ ui->centerFrequency->setValueRange(7, 64000U, 1700000U);
connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(updateHardware()));
displaySettings();
@@ -100,7 +102,7 @@ void FCDGui::updateHardware()
void FCDGui::on_checkBoxR_stateChanged(int state)
{
- if (state == Qt::Checked)
+ if (state == Qt::Checked) // FIXME: this is for the Pro+ version only!
{
ui->centerFrequency->setValueRange(7, 150U, 240000U);
ui->centerFrequency->setValue(7000);
@@ -109,7 +111,7 @@ void FCDGui::on_checkBoxR_stateChanged(int state)
}
else
{
- ui->centerFrequency->setValueRange(7, 420000U, 1900000U);
+ ui->centerFrequency->setValueRange(7, 64000U, 1900000U);
ui->centerFrequency->setValue(435000);
m_settings.centerFrequency = 435000 * 1000;
m_settings.range = 0;
diff --git a/plugins/samplesource/fcd/fcdinput.cpp b/plugins/samplesource/fcd/fcdinput.cpp
index 52ed3abb2..a801162c2 100644
--- a/plugins/samplesource/fcd/fcdinput.cpp
+++ b/plugins/samplesource/fcd/fcdinput.cpp
@@ -15,6 +15,9 @@
// along with this program. If not, see . //
///////////////////////////////////////////////////////////////////////////////////
+// FIXME: FCD is handled very badly!
+
+#include
#include
#include
#include "fcdinput.h"
@@ -154,6 +157,7 @@ bool FCDInput::handleMessage(const Message& message)
{
if(MsgConfigureFCD::match(message))
{
+ qDebug() << "FCDInput::handleMessage: MsgConfigureFCD";
MsgConfigureFCD& conf = (MsgConfigureFCD&) message;
applySettings(conf.getSettings(), false);
return true;
@@ -166,22 +170,29 @@ bool FCDInput::handleMessage(const Message& message)
void FCDInput::applySettings(const Settings& settings, bool force)
{
- bool sampleSourcChange = false;
+ bool signalChange = false;
if ((m_settings.centerFrequency != settings.centerFrequency))
{
+ qDebug() << "FCDInput::applySettings: fc: " << settings.centerFrequency;
m_settings.centerFrequency = settings.centerFrequency;
set_center_freq((double) m_settings.centerFrequency);
- sampleSourcChange = true;
+ signalChange = true;
}
- if (!sampleSourcChange || force)
+ if ((m_settings.gain != settings.gain) || force)
{
set_lna_gain(settings.gain > 0);
+ m_settings.gain = settings.gain;
+ }
+
+ if ((m_settings.bias != settings.bias) || force)
+ {
set_bias_t(settings.bias > 0);
+ m_settings.bias = settings.bias;
}
- if (sampleSourcChange)
+ if (signalChange)
{
DSPSignalNotification *notif = new DSPSignalNotification(960000, m_settings.centerFrequency);
getOutputMessageQueue()->push(notif);
diff --git a/plugins/samplesource/fcd/fcdthread.cpp b/plugins/samplesource/fcd/fcdthread.cpp
index a808f2932..46167d6b3 100644
--- a/plugins/samplesource/fcd/fcdthread.cpp
+++ b/plugins/samplesource/fcd/fcdthread.cpp
@@ -42,7 +42,7 @@ void FCDThread::stopWork()
void FCDThread::run()
{
- if ( !OpenSource("hw:CARD=V20") )
+ if ( !OpenSource("hw:CARD=V10") ) // FIXME: original is V10 pro is V20. Make it an option
return;
// TODO: fallback to original fcd
diff --git a/plugins/samplesource/fcd/fcdthread.h b/plugins/samplesource/fcd/fcdthread.h
index 0594ac6ff..b993d2296 100644
--- a/plugins/samplesource/fcd/fcdthread.h
+++ b/plugins/samplesource/fcd/fcdthread.h
@@ -25,7 +25,7 @@
#include "dsp/inthalfbandfilter.h"
#include
-#define FCDPP_RATE 192000
+#define FCDPP_RATE 192000 // FIXME: The Pro / Pro+ switch should be handled better than this!
#define BLOCKSIZE 8192
class FCDThread : public QThread {
diff --git a/plugins/samplesource/fcd/qthid.h b/plugins/samplesource/fcd/qthid.h
index 3b1f8b54c..0da5074a0 100644
--- a/plugins/samplesource/fcd/qthid.h
+++ b/plugins/samplesource/fcd/qthid.h
@@ -34,7 +34,7 @@
typedef bool BOOL;
-#define FCDPP
+//#define FCDPP // FIXME: the Pro / Pro+ switch should be handled better than this!
const unsigned short _usVID=0x04D8; /*!< USB vendor ID. */
#ifdef FCDPP
const unsigned short _usPID=0xFB31; /*!< USB product ID. */