mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-04-06 03:29:12 -04:00
Added ChirpChat demod (2)
This commit is contained in:
parent
00885a48c9
commit
b9395219d4
plugins/channelrx/demodchirpchat
sdrbase/dsp
sdrgui/gui
@ -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,
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user