mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-09-05 22:57:47 -04:00
Added ChirpChat demod (2)
This commit is contained in:
parent
00885a48c9
commit
b9395219d4
@ -27,7 +27,7 @@
|
|||||||
const PluginDescriptor ChirpChatPlugin::m_pluginDescriptor = {
|
const PluginDescriptor ChirpChatPlugin::m_pluginDescriptor = {
|
||||||
ChirpChatDemod::m_channelId,
|
ChirpChatDemod::m_channelId,
|
||||||
QString("ChirpChat Demodulator"),
|
QString("ChirpChat Demodulator"),
|
||||||
QString("5.13.0"),
|
QString("6.0.0"),
|
||||||
QString("(c) Edouard Griffiths, F4EXB"),
|
QString("(c) Edouard Griffiths, F4EXB"),
|
||||||
QString("https://github.com/f4exb/sdrangel"),
|
QString("https://github.com/f4exb/sdrangel"),
|
||||||
true,
|
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.
|
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>
|
<h2>Interface</h2>
|
||||||
|
|
||||||
|
@ -41,6 +41,12 @@ public:
|
|||||||
virtual void setMessageQueueToGUI(MessageQueue *queue) { m_guiMessageQueue = queue; }
|
virtual void setMessageQueueToGUI(MessageQueue *queue) { m_guiMessageQueue = queue; }
|
||||||
MessageQueue *getMessageQueueToGUI() { return m_guiMessageQueue; }
|
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:
|
protected:
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||||
MessageQueue *m_guiMessageQueue; //!< Input message queue to the GUI
|
MessageQueue *m_guiMessageQueue; //!< Input message queue to the GUI
|
||||||
|
@ -50,6 +50,8 @@ void GLSpectrumSettings::resetToDefaults()
|
|||||||
m_averagingMode = AvgModeNone;
|
m_averagingMode = AvgModeNone;
|
||||||
m_averagingIndex = 0;
|
m_averagingIndex = 0;
|
||||||
m_linear = false;
|
m_linear = false;
|
||||||
|
m_ssb = false;
|
||||||
|
m_usb = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray GLSpectrumSettings::serialize() const
|
QByteArray GLSpectrumSettings::serialize() const
|
||||||
@ -77,6 +79,8 @@ QByteArray GLSpectrumSettings::serialize() const
|
|||||||
s.writeS32(19, (int) m_averagingMode);
|
s.writeS32(19, (int) m_averagingMode);
|
||||||
s.writeS32(20, (qint32) getAveragingValue(m_averagingIndex, m_averagingMode));
|
s.writeS32(20, (qint32) getAveragingValue(m_averagingIndex, m_averagingMode));
|
||||||
s.writeBool(21, m_linear);
|
s.writeBool(21, m_linear);
|
||||||
|
s.writeBool(24, m_ssb);
|
||||||
|
s.writeBool(25, m_usb);
|
||||||
|
|
||||||
return s.final();
|
return s.final();
|
||||||
}
|
}
|
||||||
@ -119,6 +123,8 @@ bool GLSpectrumSettings::deserialize(const QByteArray& data)
|
|||||||
m_averagingIndex = getAveragingIndex(tmp, m_averagingMode);
|
m_averagingIndex = getAveragingIndex(tmp, m_averagingMode);
|
||||||
m_averagingNb = getAveragingValue(m_averagingIndex, m_averagingMode);
|
m_averagingNb = getAveragingValue(m_averagingIndex, m_averagingMode);
|
||||||
d.readBool(21, &m_linear, false);
|
d.readBool(21, &m_linear, false);
|
||||||
|
d.readBool(24, &m_ssb, false);
|
||||||
|
d.readBool(25, &m_usb, true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -58,6 +58,8 @@ public:
|
|||||||
int m_averagingIndex;
|
int m_averagingIndex;
|
||||||
unsigned int m_averagingNb;
|
unsigned int m_averagingNb;
|
||||||
bool m_linear; //!< linear else logarithmic scale
|
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();
|
GLSpectrumSettings();
|
||||||
virtual ~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)
|
bool GLSpectrumGUI::handleMessage(const Message& message)
|
||||||
{
|
{
|
||||||
if (GLSpectrum::MsgReportSampleRate::match(message))
|
if (GLSpectrum::MsgReportSampleRate::match(message))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user