mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-09-05 14:47:50 -04:00
M17 mod: allow connection to Demod Analyzer
This commit is contained in:
parent
ba36df3c01
commit
8bc1a204c5
@ -55,8 +55,8 @@ M17ModSource::M17ModSource() :
|
|||||||
m_feedbackAudioBuffer.resize(1<<14);
|
m_feedbackAudioBuffer.resize(1<<14);
|
||||||
m_feedbackAudioBufferFill = 0;
|
m_feedbackAudioBufferFill = 0;
|
||||||
|
|
||||||
m_demodBuffer.resize(1<<12);
|
m_modBuffer.resize(1<<12);
|
||||||
m_demodBufferFill = 0;
|
m_modBufferFill = 0;
|
||||||
|
|
||||||
m_magsq = 0.0;
|
m_magsq = 0.0;
|
||||||
|
|
||||||
@ -193,10 +193,10 @@ void M17ModSource::modulateSample()
|
|||||||
m_modSample.imag(0.0f);
|
m_modSample.imag(0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_demodBuffer[m_demodBufferFill] = t1 * std::numeric_limits<int16_t>::max();
|
m_modBuffer[m_modBufferFill] = t1 * std::numeric_limits<int16_t>::max();
|
||||||
++m_demodBufferFill;
|
++m_modBufferFill;
|
||||||
|
|
||||||
if (m_demodBufferFill >= m_demodBuffer.size())
|
if (m_modBufferFill >= m_modBuffer.size())
|
||||||
{
|
{
|
||||||
QList<ObjectPipe*> dataPipes;
|
QList<ObjectPipe*> dataPipes;
|
||||||
MainCore::instance()->getDataPipes().getDataPipes(m_channel, "demod", dataPipes);
|
MainCore::instance()->getDataPipes().getDataPipes(m_channel, "demod", dataPipes);
|
||||||
@ -210,12 +210,12 @@ void M17ModSource::modulateSample()
|
|||||||
DataFifo *fifo = qobject_cast<DataFifo*>((*it)->m_element);
|
DataFifo *fifo = qobject_cast<DataFifo*>((*it)->m_element);
|
||||||
|
|
||||||
if (fifo) {
|
if (fifo) {
|
||||||
fifo->write((quint8*) &m_demodBuffer[0], m_demodBuffer.size() * sizeof(qint16), DataFifo::DataTypeI16);
|
fifo->write((quint8*) &m_modBuffer[0], m_modBuffer.size() * sizeof(qint16), DataFifo::DataTypeI16);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_demodBufferFill = 0;
|
m_modBufferFill = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,8 +93,8 @@ private:
|
|||||||
Real m_feedbackInterpolatorDistanceRemain;
|
Real m_feedbackInterpolatorDistanceRemain;
|
||||||
bool m_feedbackInterpolatorConsumed;
|
bool m_feedbackInterpolatorConsumed;
|
||||||
|
|
||||||
QVector<qint16> m_demodBuffer;
|
QVector<qint16> m_modBuffer;
|
||||||
int m_demodBufferFill;
|
int m_modBufferFill;
|
||||||
|
|
||||||
Lowpass<Real> m_lowpass;
|
Lowpass<Real> m_lowpass;
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@ const QStringList DemodAnalyzerSettings::m_channelTypes = {
|
|||||||
QStringLiteral("DABDemod"),
|
QStringLiteral("DABDemod"),
|
||||||
QStringLiteral("DSDDemod"),
|
QStringLiteral("DSDDemod"),
|
||||||
QStringLiteral("M17Demod"),
|
QStringLiteral("M17Demod"),
|
||||||
|
QStringLiteral("M17Mmod"),
|
||||||
QStringLiteral("NFMDemod"),
|
QStringLiteral("NFMDemod"),
|
||||||
QStringLiteral("NFMMod"),
|
QStringLiteral("NFMMod"),
|
||||||
QStringLiteral("PacketDemod"),
|
QStringLiteral("PacketDemod"),
|
||||||
@ -51,6 +52,7 @@ const QStringList DemodAnalyzerSettings::m_channelURIs = {
|
|||||||
QStringLiteral("sdrangel.channel.dabdemod"),
|
QStringLiteral("sdrangel.channel.dabdemod"),
|
||||||
QStringLiteral("sdrangel.channel.dsddemod"),
|
QStringLiteral("sdrangel.channel.dsddemod"),
|
||||||
QStringLiteral("sdrangel.channel.m17demod"),
|
QStringLiteral("sdrangel.channel.m17demod"),
|
||||||
|
QStringLiteral("sdrangel.channeltx.modm17"),
|
||||||
QStringLiteral("sdrangel.channel.nfmdemod"),
|
QStringLiteral("sdrangel.channel.nfmdemod"),
|
||||||
QStringLiteral("sdrangel.channeltx.modnfm"),
|
QStringLiteral("sdrangel.channeltx.modnfm"),
|
||||||
QStringLiteral("sdrangel.channel.packetdemod"),
|
QStringLiteral("sdrangel.channel.packetdemod"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user