1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-22 08:04:49 -05:00

Compare commits

...

3 Commits

26 changed files with 69 additions and 111 deletions

View File

@ -1,3 +1,23 @@
sdrangel (6.19.0-1) unstable; urgency=medium
* Map: added 3D to map feature. PR #1127
* APT demod: many updates see PR #1127
* ADS-B demod: many updates see PR #1127
* AIS: many updates see PR #1127
* AIS: remove vessels afer some idle time. Issue #1086. PR #1127
* Satellite tracker: many updates see PR #1127
* Satellite tracker: export data via API. Issue #1106. PR #1130.
* Spectrum calibration. Implements #1120
* SDRPlayV3: added transverter feature. Implemented #1125
* Spectrum markers: save .csv in Qt default writable location. Implements #1114
* Fixed removing all feature sets causing segfault. Fixes #1118
* BFM demod: added readme and link to help button.
* Fixed LIB_SUFFIX for Fedora and lib64 systems. PR #1115
* DATV Demod: Make AVCodecs cons. PR #1128
* Install debug symbols on Windows for debug builds. PR #1131
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mon, 07 Feb 2022 20:41:51 +0100
sdrangel (6.18.1-1) unstable; urgency=medium
* APRS: implemented Mic-E decoding. PR #1108

View File

@ -15,8 +15,8 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# configure version
set(sdrangel_VERSION_MAJOR "6")
set(sdrangel_VERSION_MINOR "18")
set(sdrangel_VERSION_PATCH "1")
set(sdrangel_VERSION_MINOR "19")
set(sdrangel_VERSION_PATCH "0")
set(sdrangel_VERSION_SUFFIX "")
# SDRAngel cmake options

20
debian/changelog vendored
View File

@ -1,3 +1,23 @@
sdrangel (6.19.0-1) unstable; urgency=medium
* Map: added 3D to map feature. PR #1127
* APT demod: many updates see PR #1127
* ADS-B demod: many updates see PR #1127
* AIS: many updates see PR #1127
* AIS: remove vessels afer some idle time. Issue #1086. PR #1127
* Satellite tracker: many updates see PR #1127
* Satellite tracker: export data via API. Issue #1106. PR #1130.
* Spectrum calibration. Implements #1120
* SDRPlayV3: added transverter feature. Implemented #1125
* Spectrum markers: save .csv in Qt default writable location. Implements #1114
* Fixed removing all feature sets causing segfault. Fixes #1118
* BFM demod: added readme and link to help button.
* Fixed LIB_SUFFIX for Fedora and lib64 systems. PR #1115
* DATV Demod: Make AVCodecs cons. PR #1128
* Install debug symbols on Windows for debug builds. PR #1131
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mon, 07 Feb 2022 20:41:51 +0100
sdrangel (6.18.1-1) unstable; urgency=medium
* APRS: implemented Mic-E decoding. PR #1108

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -30,7 +30,7 @@
const PluginDescriptor ADSBPlugin::m_pluginDescriptor = {
ADSBDemod::m_channelId,
QStringLiteral("ADS-B Demodulator"),
QStringLiteral("6.18.0"),
QStringLiteral("6.19.0"),
QStringLiteral("(c) Jon Beniston, M7RCE"),
QStringLiteral("https://github.com/f4exb/sdrangel"),
true,

View File

@ -29,7 +29,7 @@
const PluginDescriptor AISDemodPlugin::m_pluginDescriptor = {
AISDemod::m_channelId,
QStringLiteral("AIS Demodulator"),
QStringLiteral("6.18.0"),
QStringLiteral("6.19.0"),
QStringLiteral("(c) Jon Beniston, M7RCE"),
QStringLiteral("https://github.com/f4exb/sdrangel"),
true,

View File

@ -95,17 +95,6 @@ void AMDemodSink::feed(const SampleVector::const_iterator& begin, const SampleVe
}
}
}
if (m_audioBufferFill > 0)
{
uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill);
if (res != m_audioBufferFill) {
qDebug("AMDemodSink::feed: %u/%u tail samples written", res, m_audioBufferFill);
}
m_audioBufferFill = 0;
}
}
void AMDemodSink::processOneSample(Complex &ci)

View File

@ -29,7 +29,7 @@
const PluginDescriptor APTDemodPlugin::m_pluginDescriptor = {
APTDemod::m_channelId,
QStringLiteral("APT Demodulator"),
QStringLiteral("6.18.0"),
QStringLiteral("6.19.0"),
QStringLiteral("(c) Jon Beniston, M7RCE and Aptdec authors"),
QStringLiteral("https://github.com/f4exb/sdrangel"),
true,

View File

@ -72,7 +72,7 @@ BFMDemodSink::BFMDemodSink() :
m_deemphasisFilterY.configure(default_deemphasis * m_audioSampleRate * 1.0e-6);
m_phaseDiscri.setFMScaling(384000/m_fmExcursion);
m_audioBuffer.resize(16384);
m_audioBuffer.resize(1<<14);
m_audioBufferFill = 0;
applySettings(m_settings, true);
@ -229,22 +229,11 @@ void BFMDemodSink::feed(const SampleVector::const_iterator& begin, const SampleV
}
}
if (m_audioBufferFill > 0)
if (m_spectrumSink && (m_sampleBuffer.size() != 0))
{
uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill);
if (res != m_audioBufferFill) {
qDebug("BFMDemodSink::feed: %u/%u tail samples written", res, m_audioBufferFill);
}
m_audioBufferFill = 0;
}
if (m_spectrumSink) {
m_spectrumSink->feed(m_sampleBuffer.begin(), m_sampleBuffer.end(), true);
}
m_sampleBuffer.clear();
}
}
void BFMDemodSink::applyAudioSampleRate(int sampleRate)

View File

@ -31,7 +31,7 @@
const PluginDescriptor BFMPlugin::m_pluginDescriptor = {
BFMDemod::m_channelId,
QStringLiteral("Broadcast FM Demodulator"),
QStringLiteral("6.18.1"),
QStringLiteral("6.19.0"),
QStringLiteral("(c) Edouard Griffiths, F4EXB"),
QStringLiteral("https://github.com/f4exb/sdrangel"),
true,

View File

@ -30,7 +30,7 @@ const PluginDescriptor DATVDemodPlugin::m_ptrPluginDescriptor =
{
DATVDemod::m_channelId,
QString("DATV Demodulator"),
QString("6.18.0"),
QString("6.19.0"),
QString("(c) F4HKW for SDRAngel using LeanSDR framework (c) F4DAV"),
QString("https://github.com/f4exb/sdrangel"),
true,

View File

@ -211,21 +211,11 @@ void FreeDVDemodSink::feed(const SampleVector::const_iterator& begin, const Samp
}
}
uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill);
if (res != m_audioBufferFill)
{
qDebug("FreeDVDemod::feed: %u/%u tail samples written", res, m_audioBufferFill);
}
m_audioBufferFill = 0;
if (m_spectrumSink)
if (m_spectrumSink && (m_sampleBuffer.size() != 0))
{
m_spectrumSink->feed(m_sampleBuffer.begin(), m_sampleBuffer.end(), true);
}
m_sampleBuffer.clear();
}
}
void FreeDVDemodSink::processOneSample(Complex &ci)

View File

@ -65,7 +65,7 @@ NFMDemodSink::NFMDemodSink() :
m_squelchDelayLine(24000),
m_messageQueueToGUI(nullptr)
{
m_audioBuffer.resize(1<<16);
m_audioBuffer.resize(1<<14);
m_demodBuffer.resize(1<<12);
m_demodBufferFill = 0;
@ -110,17 +110,6 @@ void NFMDemodSink::feed(const SampleVector::const_iterator& begin, const SampleV
}
}
}
if (m_audioBufferFill > 0)
{
uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill);
if (res != m_audioBufferFill) {
qDebug("NFMDemodSink::feed: %u/%u tail samples written", res, m_audioBufferFill);
}
m_audioBufferFill = 0;
}
}
void NFMDemodSink::processOneSample(Complex &ci)

View File

@ -241,19 +241,11 @@ void SSBDemodSink::processOneSample(Complex &ci)
}
}
uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill);
if (res != m_audioBufferFill) {
qDebug("SSBDemodSink::feed: %u/%u tail samples written", res, m_audioBufferFill);
}
m_audioBufferFill = 0;
if (m_spectrumSink != 0) {
if (m_spectrumSink && (m_sampleBuffer.size() != 0))
{
m_spectrumSink->feed(m_sampleBuffer.begin(), m_sampleBuffer.end(), !m_dsb);
}
m_sampleBuffer.clear();
}
}
void SSBDemodSink::applyChannelSettings(int channelSampleRate, int channelFrequencyOffset, bool force)

View File

@ -100,17 +100,6 @@ void VORDemodSink::feed(const SampleVector::const_iterator& begin, const SampleV
}
}
}
if (m_audioBufferFill > 0)
{
uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill);
if (res != m_audioBufferFill) {
qDebug("VORDemodSink::feed: %u/%u tail samples written", res, m_audioBufferFill);
}
m_audioBufferFill = 0;
}
}
void VORDemodSink::processOneAudioSample(Complex &ci)

View File

@ -89,17 +89,6 @@ void VORDemodSCSink::feed(const SampleVector::const_iterator& begin, const Sampl
}
}
}
if (m_audioBufferFill > 0)
{
uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill);
if (res != m_audioBufferFill) {
qDebug("VORDemodSCSink::feed: %u/%u tail samples written", res, m_audioBufferFill);
}
m_audioBufferFill = 0;
}
}
void VORDemodSCSink::processOneAudioSample(Complex &ci)

View File

@ -49,7 +49,7 @@ WFMDemodSink::WFMDemodSink() :
m_rfFilter = new fftfilt(-50000.0 / 384000.0, 50000.0 / 384000.0, m_rfFilterFftLength);
m_phaseDiscri.setFMScaling(384000/75000);
m_audioBuffer.resize(16384);
m_audioBuffer.resize(1<<14);
m_audioBufferFill = 0;
m_demodBuffer.resize(1<<12);
@ -119,7 +119,6 @@ void WFMDemodSink::feed(const SampleVector::const_iterator& begin, const SampleV
if (m_interpolator.decimate(&m_interpolatorDistanceRemain, e, &ci))
{
qint16 sample = (qint16)(ci.real() * 3276.8f * m_settings.m_volume);
m_sampleBuffer.push_back(Sample(sample, sample));
m_audioBuffer[m_audioBufferFill].l = sample;
m_audioBuffer[m_audioBufferFill].r = sample;
@ -158,19 +157,6 @@ void WFMDemodSink::feed(const SampleVector::const_iterator& begin, const SampleV
}
}
}
if (m_audioBufferFill > 0)
{
uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill);
if (res != m_audioBufferFill) {
qDebug("WFMDemodSink::feed: %u/%u tail samples written", res, m_audioBufferFill);
}
m_audioBufferFill = 0;
}
m_sampleBuffer.clear();
}
void WFMDemodSink::applyAudioSampleRate(int sampleRate)

View File

@ -116,7 +116,6 @@ private:
uint m_audioBufferFill;
AudioFifo m_audioFifo;
SampleVector m_sampleBuffer;
PhaseDiscriminators m_phaseDiscri;
QVector<qint16> m_demodBuffer;

View File

@ -30,7 +30,7 @@
const PluginDescriptor AISPlugin::m_pluginDescriptor = {
AIS::m_featureId,
QStringLiteral("AIS"),
QStringLiteral("6.18.0"),
QStringLiteral("6.19.0"),
QStringLiteral("(c) Jon Beniston, M7RCE"),
QStringLiteral("https://github.com/f4exb/sdrangel"),
true,

View File

@ -30,7 +30,7 @@
const PluginDescriptor MapPlugin::m_pluginDescriptor = {
Map::m_featureId,
QStringLiteral("Map"),
QStringLiteral("6.18.0"),
QStringLiteral("6.19.0"),
QStringLiteral("(c) Jon Beniston, M7RCE"),
QStringLiteral("https://github.com/f4exb/sdrangel"),
true,

View File

@ -30,7 +30,7 @@
const PluginDescriptor SatelliteTrackerPlugin::m_pluginDescriptor = {
SatelliteTracker::m_featureId,
QStringLiteral("Satellite Tracker"),
QStringLiteral("6.18.0"),
QStringLiteral("6.19.0"),
QStringLiteral("(c) Jon Beniston, M7RCE and Daniel Warner (SGP4 library)"),
QStringLiteral("https://github.com/f4exb/sdrangel"),
true,

View File

@ -32,7 +32,7 @@
const PluginDescriptor SDRPlayV3Plugin::m_pluginDescriptor = {
QStringLiteral("SDRPlayV3"),
QStringLiteral("SDRPlayV3 Input"),
QStringLiteral("6.16.5"),
QStringLiteral("6.19.0"),
QStringLiteral("(c) Jon Beniston, M7RCE and Edouard Griffiths, F4EXB"),
QStringLiteral("https://github.com/f4exb/sdrangel"),
true,

View File

@ -369,7 +369,7 @@ Most devices will also present an interface to control automatic DC removal and
![Spectrum GUI](../doc/img/MainWindow_spectrum_gui.png)
These are the controls of the main spectrum display in (7). The same controls are found in the plugins that feature a spectrum display:
These are the controls of the main spectrum display in (7). The same controls are found in the plugins that feature a spectrum display. For example:
- Channel Analyzer
- Broadcast FM demodulator
- ChirpChat (LoRa) demodulator
@ -529,6 +529,12 @@ The server only sends data. Control including FFT details is done via the REST A
Opens the [spectrum markers dialog](spectrummarkers.md)
<h4>3B.8. Spectrum calibration</h4>
Use the toggle button to switch between relative and calibrated power readings.
Right click to open the [calibration management dialog](spectrumcalibration.md)
<h3>3C. Spectrum display control line 3</h3>
![Spectrum GUI C](../doc/img/MainWindow_spectrum_gui_C.png)