mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-25 17:28:50 -05:00
Downgraded to version 3.6.2
This commit is contained in:
parent
f38e7704ad
commit
ceb304cb9f
4
debian/changelog
vendored
4
debian/changelog
vendored
@ -1,6 +1,6 @@
|
|||||||
sdrangel (3.7.0-1) unstable; urgency=medium
|
sdrangel (3.6.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
* PlutoSDR support
|
* PlutoSDR failed attempt at supporting
|
||||||
* GUI segregation: preliminary works
|
* GUI segregation: preliminary works
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 17 Sep 2017 23:14:18 +0200
|
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 17 Sep 2017 23:14:18 +0200
|
||||||
|
@ -19,13 +19,13 @@
|
|||||||
const uint64_t DevicePlutoSDR::loLowLimitFreq = 70000000UL; // 70 MHz: take AD9364 specs
|
const uint64_t DevicePlutoSDR::loLowLimitFreq = 70000000UL; // 70 MHz: take AD9364 specs
|
||||||
const uint64_t DevicePlutoSDR::loHighLimitFreq = 6000000000UL; // 6 GHz: take AD9364 specs
|
const uint64_t DevicePlutoSDR::loHighLimitFreq = 6000000000UL; // 6 GHz: take AD9364 specs
|
||||||
|
|
||||||
const uint32_t DevicePlutoSDR::srLowLimitFreq = 2100000; // 2.1 MS/s empirical
|
const uint32_t DevicePlutoSDR::srLowLimitFreq = 521000U; // 521 kS/s
|
||||||
const uint32_t DevicePlutoSDR::srHighLimitFreq = 20000000; // 20 MS/s: take AD9363 speces
|
const uint32_t DevicePlutoSDR::srHighLimitFreq = 20000000U; // 20 MS/s: take AD9363 speces
|
||||||
|
|
||||||
const uint32_t DevicePlutoSDR::bbLPRxLowLimitFreq = 200000; // 200 kHz
|
const uint32_t DevicePlutoSDR::bbLPRxLowLimitFreq = 200000U; // 200 kHz
|
||||||
const uint32_t DevicePlutoSDR::bbLPRxHighLimitFreq = 14000000; // 14 MHz
|
const uint32_t DevicePlutoSDR::bbLPRxHighLimitFreq = 14000000U; // 14 MHz
|
||||||
const uint32_t DevicePlutoSDR::bbLPTxLowLimitFreq = 625000; // 625 kHz
|
const uint32_t DevicePlutoSDR::bbLPTxLowLimitFreq = 625000U; // 625 kHz
|
||||||
const uint32_t DevicePlutoSDR::bbLPTxHighLimitFreq = 16000000; // 16 MHz
|
const uint32_t DevicePlutoSDR::bbLPTxHighLimitFreq = 16000000U; // 16 MHz
|
||||||
|
|
||||||
DevicePlutoSDR::DevicePlutoSDR()
|
DevicePlutoSDR::DevicePlutoSDR()
|
||||||
{
|
{
|
||||||
|
@ -408,12 +408,17 @@ bool DevicePlutoSDRBox::parseSampleRates(const std::string& rateStr, SampleRates
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
sampleRates.m_bbRate = boost::lexical_cast<uint32_t>(desc_match[1]);
|
sampleRates.m_bbRateHz = boost::lexical_cast<uint32_t>(desc_match[1]);
|
||||||
sampleRates.m_addaConnvRate = boost::lexical_cast<uint32_t>(desc_match[2]);
|
sampleRates.m_addaConnvRateBPS = boost::lexical_cast<uint32_t>(desc_match[2]);
|
||||||
sampleRates.m_hb3Rate = boost::lexical_cast<uint32_t>(desc_match[3]);
|
sampleRates.m_hb3RateBPS = boost::lexical_cast<uint32_t>(desc_match[3]);
|
||||||
sampleRates.m_hb2Rate = boost::lexical_cast<uint32_t>(desc_match[4]);
|
sampleRates.m_hb2RateBPS = boost::lexical_cast<uint32_t>(desc_match[4]);
|
||||||
sampleRates.m_hb1Rate = boost::lexical_cast<uint32_t>(desc_match[5]);
|
sampleRates.m_hb1RateBPS = boost::lexical_cast<uint32_t>(desc_match[5]);
|
||||||
sampleRates.m_firRate = boost::lexical_cast<uint32_t>(desc_match[6]);
|
sampleRates.m_firRateBPS = boost::lexical_cast<uint32_t>(desc_match[6]);
|
||||||
|
sampleRates.m_addaConnvRateSS = sampleRates.m_addaConnvRateBPS / 4;
|
||||||
|
sampleRates.m_hb3RateSS = sampleRates.m_hb3RateBPS / 4;
|
||||||
|
sampleRates.m_hb2RateSS = sampleRates.m_hb2RateBPS / 4;
|
||||||
|
sampleRates.m_hb1RateSS = sampleRates.m_hb1RateBPS / 4;
|
||||||
|
sampleRates.m_firRateSS = sampleRates.m_firRateBPS / 4;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (const boost::bad_lexical_cast &e)
|
catch (const boost::bad_lexical_cast &e)
|
||||||
@ -432,9 +437,9 @@ void DevicePlutoSDRBox::setSampleRate(uint32_t sampleRate)
|
|||||||
{
|
{
|
||||||
char buff[100];
|
char buff[100];
|
||||||
std::vector<std::string> params;
|
std::vector<std::string> params;
|
||||||
snprintf(buff, sizeof(buff), "in_voltage_sampling_frequency=%d", sampleRate);
|
snprintf(buff, sizeof(buff), "in_voltage_sampling_frequency=%d", sampleRate*4); // expressed in bytes per second
|
||||||
params.push_back(std::string(buff));
|
params.push_back(std::string(buff));
|
||||||
snprintf(buff, sizeof(buff), "out_voltage_sampling_frequency=%d", sampleRate);
|
snprintf(buff, sizeof(buff), "out_voltage_sampling_frequency=%d", sampleRate*4); // expressed in bytes per second
|
||||||
params.push_back(std::string(buff));
|
params.push_back(std::string(buff));
|
||||||
set_params(DEVICE_PHY, params); // set end point frequency first
|
set_params(DEVICE_PHY, params); // set end point frequency first
|
||||||
m_devSampleRate = sampleRate;
|
m_devSampleRate = sampleRate;
|
||||||
@ -466,10 +471,10 @@ void DevicePlutoSDRBox::setFIR(uint32_t log2IntDec, uint32_t bw, int gain)
|
|||||||
|
|
||||||
setFIREnable(false); // disable again
|
setFIREnable(false); // disable again
|
||||||
|
|
||||||
uint32_t nbGroups = sampleRates.m_addaConnvRate / 16;
|
uint32_t nbGroups = sampleRates.m_addaConnvRateBPS / 16;
|
||||||
nbTaps = nbGroups*8 > 128 ? 128 : nbGroups*8;
|
nbTaps = nbGroups*8 > 128 ? 128 : nbGroups*8;
|
||||||
nbTaps = intdec == 1 ? (nbTaps > 64 ? 64 : nbTaps) : nbTaps;
|
nbTaps = intdec == 1 ? (nbTaps > 64 ? 64 : nbTaps) : nbTaps;
|
||||||
normalizedBW = ((float) bw) / sampleRates.m_hb1Rate;
|
normalizedBW = ((float) bw) / sampleRates.m_hb1RateBPS;
|
||||||
normalizedBW = normalizedBW < 0.1 ? 0.1 : normalizedBW > 0.9 ? 0.9 : normalizedBW;
|
normalizedBW = normalizedBW < 0.1 ? 0.1 : normalizedBW > 0.9 ? 0.9 : normalizedBW;
|
||||||
|
|
||||||
qDebug("DevicePlutoSDRBox::setFIR: intdec: %u gain: %d nbTaps: %u BWin: %u BW: %f (%f)",
|
qDebug("DevicePlutoSDRBox::setFIR: intdec: %u gain: %d nbTaps: %u BWin: %u BW: %f (%f)",
|
||||||
@ -477,7 +482,7 @@ void DevicePlutoSDRBox::setFIR(uint32_t log2IntDec, uint32_t bw, int gain)
|
|||||||
gain,
|
gain,
|
||||||
nbTaps,
|
nbTaps,
|
||||||
bw,
|
bw,
|
||||||
normalizedBW*sampleRates.m_hb1Rate,
|
normalizedBW*sampleRates.m_hb1RateBPS,
|
||||||
normalizedBW);
|
normalizedBW);
|
||||||
|
|
||||||
// set the right filter
|
// set the right filter
|
||||||
|
@ -44,12 +44,19 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct SampleRates {
|
struct SampleRates {
|
||||||
uint32_t m_bbRate; //!< Baseband PLL rate (Hz) - used internally
|
uint32_t m_bbRateHz; //!< Baseband PLL rate (Hz) - used internally
|
||||||
uint32_t m_addaConnvRate; //!< A/D or D/A converter rate (Hz) - this is the HB3 working sample rate
|
// bytes per second
|
||||||
uint32_t m_hb3Rate; //!< Rate of the HB3/(DEC3 or INT3) filter (Rx: out, Tx: in) - this is the HB2 working sample rate
|
uint32_t m_addaConnvRateBPS; //!< A/D or D/A converter rat - this is the HB3 working sample rate
|
||||||
uint32_t m_hb2Rate; //!< Rate of the HB2 filter (Rx: out, Tx: in) - this is the HB1 working sample rate
|
uint32_t m_hb3RateBPS; //!< Rate of the HB3/(DEC3 or INT3) filter (Rx: out, Tx: in) - this is the HB2 working sample rate
|
||||||
uint32_t m_hb1Rate; //!< Rate of the HB1 filter (Rx: out, Tx: in) - this is the FIR working sample rate
|
uint32_t m_hb2RateBPS; //!< Rate of the HB2 filter (Rx: out, Tx: in) - this is the HB1 working sample rate
|
||||||
uint32_t m_firRate; //!< Rate of FIR filter (Rx: out, Tx: in) - this is the host/device communication sample rate
|
uint32_t m_hb1RateBPS; //!< Rate of the HB1 filter (Rx: out, Tx: in) - this is the FIR working sample rate
|
||||||
|
uint32_t m_firRateBPS; //!< Rate of FIR filter (Rx: out, Tx: in) - this is the host/device communication sample rate
|
||||||
|
// samples per second
|
||||||
|
uint32_t m_addaConnvRateSS; //!< A/D or D/A converter rat - this is the HB3 working sample rate
|
||||||
|
uint32_t m_hb3RateSS; //!< Rate of the HB3/(DEC3 or INT3) filter (Rx: out, Tx: in) - this is the HB2 working sample rate
|
||||||
|
uint32_t m_hb2RateSS; //!< Rate of the HB2 filter (Rx: out, Tx: in) - this is the HB1 working sample rate
|
||||||
|
uint32_t m_hb1RateSS; //!< Rate of the HB1 filter (Rx: out, Tx: in) - this is the FIR working sample rate
|
||||||
|
uint32_t m_firRateSS; //!< Rate of FIR filter (Rx: out, Tx: in) - this is the host/device communication sample rate
|
||||||
};
|
};
|
||||||
|
|
||||||
uint64_t m_devSampleRate; //!< Host interface sample rate
|
uint64_t m_devSampleRate; //!< Host interface sample rate
|
||||||
|
@ -327,12 +327,12 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo
|
|||||||
plutoBox->setFIREnable(settings.m_lpfFIREnable); // eventually enable/disable FIR
|
plutoBox->setFIREnable(settings.m_lpfFIREnable); // eventually enable/disable FIR
|
||||||
|
|
||||||
plutoBox->getRxSampleRates(m_deviceSampleRates); // pick up possible new rates
|
plutoBox->getRxSampleRates(m_deviceSampleRates); // pick up possible new rates
|
||||||
qDebug() << "PlutoSDRInput::applySettings: BBPLL: " << m_deviceSampleRates.m_bbRate
|
qDebug() << "PlutoSDRInput::applySettings: BBPLL(Hz): " << m_deviceSampleRates.m_bbRateHz
|
||||||
<< " ADC: " << m_deviceSampleRates.m_addaConnvRate
|
<< " ADC: " << m_deviceSampleRates.m_addaConnvRateSS
|
||||||
<< " -HB3-> " << m_deviceSampleRates.m_hb3Rate
|
<< " -HB3-> " << m_deviceSampleRates.m_hb3RateSS
|
||||||
<< " -HB2-> " << m_deviceSampleRates.m_hb2Rate
|
<< " -HB2-> " << m_deviceSampleRates.m_hb2RateSS
|
||||||
<< " -HB1-> " << m_deviceSampleRates.m_hb1Rate
|
<< " -HB1-> " << m_deviceSampleRates.m_hb1RateSS
|
||||||
<< " -FIR-> " << m_deviceSampleRates.m_firRate;
|
<< " -FIR-> " << m_deviceSampleRates.m_firRateSS;
|
||||||
|
|
||||||
forwardChangeOtherDSP = true;
|
forwardChangeOtherDSP = true;
|
||||||
forwardChangeOwnDSP = (m_settings.m_devSampleRate != settings.m_devSampleRate);
|
forwardChangeOwnDSP = (m_settings.m_devSampleRate != settings.m_devSampleRate);
|
||||||
|
@ -86,7 +86,7 @@ public:
|
|||||||
|
|
||||||
virtual bool handleMessage(const Message& message);
|
virtual bool handleMessage(const Message& message);
|
||||||
|
|
||||||
uint32_t getADCSampleRate() const { return m_deviceSampleRates.m_addaConnvRate; }
|
uint32_t getADCSampleRate() const { return m_deviceSampleRates.m_addaConnvRateSS; }
|
||||||
void getRSSI(std::string& rssiStr);
|
void getRSSI(std::string& rssiStr);
|
||||||
bool fetchTemperature();
|
bool fetchTemperature();
|
||||||
float getTemperature();
|
float getTemperature();
|
||||||
|
@ -240,6 +240,7 @@ void PlutoSDRInputGui::on_gainMode_currentIndexChanged(int index)
|
|||||||
|
|
||||||
void PlutoSDRInputGui::on_gain_valueChanged(int value)
|
void PlutoSDRInputGui::on_gain_valueChanged(int value)
|
||||||
{
|
{
|
||||||
|
ui->gainText->setText(tr("%1").arg(value));
|
||||||
m_settings.m_gain = value;
|
m_settings.m_gain = value;
|
||||||
sendSettings();
|
sendSettings();
|
||||||
}
|
}
|
||||||
|
@ -701,8 +701,11 @@
|
|||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Gain setting (dB)</string>
|
<string>Gain setting (dB)</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>70</number>
|
<number>77</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="pageStep">
|
<property name="pageStep">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
|
@ -27,7 +27,7 @@ class DeviceSourceAPI;
|
|||||||
|
|
||||||
const PluginDescriptor PlutoSDRInputPlugin::m_pluginDescriptor = {
|
const PluginDescriptor PlutoSDRInputPlugin::m_pluginDescriptor = {
|
||||||
QString("PlutoSDR Input"),
|
QString("PlutoSDR Input"),
|
||||||
QString("3.7.0"),
|
QString("3.6.2"),
|
||||||
QString("(c) Edouard Griffiths, F4EXB"),
|
QString("(c) Edouard Griffiths, F4EXB"),
|
||||||
QString("https://github.com/f4exb/sdrangel"),
|
QString("https://github.com/f4exb/sdrangel"),
|
||||||
true,
|
true,
|
||||||
|
@ -84,7 +84,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_2">
|
<widget class="QLabel" name="label_2">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string><html><head/><body><p>Version 3.7.0 - Copyright (C) 2015-2017 Edouard Griffiths, F4EXB. </p><p>Code at <a href="https://github.com/f4exb/sdrangel"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/f4exb/sdrangel</span></a></p><p>Many thanks to the original developers:</p><p>The osmocom developer team - especially horizon, Hoernchen &amp; tnt.</p><p>Christian Daniel from maintech GmbH.</p><p>John Greb (hexameron) for the contributions in <a href="https://github.com/hexameron/rtl-sdrangelove"><span style=" text-decoration: underline; color:#0000ff;">RTL-SDRangelove</span></a></p><p>The following rules apply to the SDRangel main application and libsdrbase:<br/>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a>.</p><p>For the license of installed plugins, look into the plugin list.</p></body></html></string>
|
<string><html><head/><body><p>Version 3.6.2 - Copyright (C) 2015-2017 Edouard Griffiths, F4EXB. </p><p>Code at <a href="https://github.com/f4exb/sdrangel"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/f4exb/sdrangel</span></a></p><p>Many thanks to the original developers:</p><p>The osmocom developer team - especially horizon, Hoernchen &amp; tnt.</p><p>Christian Daniel from maintech GmbH.</p><p>John Greb (hexameron) for the contributions in <a href="https://github.com/hexameron/rtl-sdrangelove"><span style=" text-decoration: underline; color:#0000ff;">RTL-SDRangelove</span></a></p><p>The following rules apply to the SDRangel main application and libsdrbase:<br/>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a>.</p><p>For the license of installed plugins, look into the plugin list.</p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
<property name="wordWrap">
|
<property name="wordWrap">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
|
@ -454,9 +454,9 @@ void MainWindow::createStatusBar()
|
|||||||
{
|
{
|
||||||
QString qtVersionStr = QString("Qt %1 ").arg(QT_VERSION_STR);
|
QString qtVersionStr = QString("Qt %1 ").arg(QT_VERSION_STR);
|
||||||
#if QT_VERSION >= 0x050400
|
#if QT_VERSION >= 0x050400
|
||||||
m_showSystemWidget = new QLabel("SDRangel v3.7.0 " + qtVersionStr + QSysInfo::prettyProductName(), this);
|
m_showSystemWidget = new QLabel("SDRangel v3.6.2 " + qtVersionStr + QSysInfo::prettyProductName(), this);
|
||||||
#else
|
#else
|
||||||
m_showSystemWidget = new QLabel("SDRangel v3.7.0 " + qtVersionStr, this);
|
m_showSystemWidget = new QLabel("SDRangel v3.6.2 " + qtVersionStr, this);
|
||||||
#endif
|
#endif
|
||||||
statusBar()->addPermanentWidget(m_showSystemWidget);
|
statusBar()->addPermanentWidget(m_showSystemWidget);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user