Added ChirpChat demod (2)

pull/698/head
f4exb 2020-11-09 17:14:17 +01:00
rodzic 00885a48c9
commit b9395219d4
6 zmienionych plików z 22 dodań i 3 usunięć

Wyświetl plik

@ -27,7 +27,7 @@
const PluginDescriptor ChirpChatPlugin::m_pluginDescriptor = {
ChirpChatDemod::m_channelId,
QString("ChirpChat Demodulator"),
QString("5.13.0"),
QString("6.0.0"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,

Wyświetl plik

@ -15,7 +15,7 @@ Transmissions from the RN2483 module with the Distance Enhancement feature (spre
Modulation characteristics from LoRa have been augmented with more bandwidths and FFT bin collations (DE factor). Plain TTY and ASCII have also been added and there are plans to add some more complex typically amateur radio MFSK based modes like JT65.
Note: this plugin is available in version 5 only (since 5.2.0).
Note: this plugin is officially supported since version 6.
<h2>Interface</h2>

Wyświetl plik

@ -41,6 +41,12 @@ public:
virtual void setMessageQueueToGUI(MessageQueue *queue) { m_guiMessageQueue = queue; }
MessageQueue *getMessageQueueToGUI() { return m_guiMessageQueue; }
virtual void feed(const Complex *begin, unsigned int length) //!< Special feed directly with complex array
{
(void) begin;
(void) length;
}
protected:
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
MessageQueue *m_guiMessageQueue; //!< Input message queue to the GUI

Wyświetl plik

@ -50,6 +50,8 @@ void GLSpectrumSettings::resetToDefaults()
m_averagingMode = AvgModeNone;
m_averagingIndex = 0;
m_linear = false;
m_ssb = false;
m_usb = true;
}
QByteArray GLSpectrumSettings::serialize() const
@ -77,6 +79,8 @@ QByteArray GLSpectrumSettings::serialize() const
s.writeS32(19, (int) m_averagingMode);
s.writeS32(20, (qint32) getAveragingValue(m_averagingIndex, m_averagingMode));
s.writeBool(21, m_linear);
s.writeBool(24, m_ssb);
s.writeBool(25, m_usb);
return s.final();
}
@ -119,6 +123,8 @@ bool GLSpectrumSettings::deserialize(const QByteArray& data)
m_averagingIndex = getAveragingIndex(tmp, m_averagingMode);
m_averagingNb = getAveragingValue(m_averagingIndex, m_averagingMode);
d.readBool(21, &m_linear, false);
d.readBool(24, &m_ssb, false);
d.readBool(25, &m_usb, true);
return true;
}
@ -189,4 +195,4 @@ int GLSpectrumSettings::getAveragingIndex(int averagingValue, AveragingMode aver
}
return 3*getAveragingMaxScale(averagingMode) + 3;
}
}

Wyświetl plik

@ -58,6 +58,8 @@ public:
int m_averagingIndex;
unsigned int m_averagingNb;
bool m_linear; //!< linear else logarithmic scale
bool m_ssb; //!< SSB display with spectrum center at start of array or display - else spectrum center is on center
bool m_usb; //!< USB display with increasing frequencies towads the right - else decreasing frequencies
GLSpectrumSettings();
virtual ~GLSpectrumSettings();

Wyświetl plik

@ -486,6 +486,11 @@ void GLSpectrumGUI::setAveragingToolitp()
}
}
void GLSpectrumGUI::setFFTSize(int log2FFTSize)
{
ui->fftSize->setCurrentIndex(log2FFTSize < 7 ? 0 : log2FFTSize > 12 ? 5 : log2FFTSize - 7); // 128 to 4096 in powers of 2
}
bool GLSpectrumGUI::handleMessage(const Message& message)
{
if (GLSpectrum::MsgReportSampleRate::match(message))