19 #ifndef INCLUDE_NFMDEMOD_H 20 #define INCLUDE_NFMDEMOD_H 25 #include <QNetworkRequest> 44 class QNetworkAccessManager;
94 m_sampleRate(sampleRate),
95 m_centerFrequency(centerFrequency)
123 virtual void feed(
const SampleVector::const_iterator& begin,
const SampleVector::const_iterator& end,
bool po);
124 virtual void start();
141 (void) sinkElseSource;
147 QString& errorMessage);
151 const QStringList& channelSettingsKeys,
153 QString& errorMessage);
157 QString& errorMessage);
274 #endif // INCLUDE_NFMDEMOD_H Real m_interpolatorDistanceRemain
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
double m_magsq
displayed averaged value
QNetworkRequest m_networkRequest
void getMagSqLevels(double &avg, double &peak, int &nbSamples)
std::vector< AudioSample > AudioVector
float m_discriCompensation
compensation factor that depends on audio rate (1 for 48 kS/s)
PhaseDiscriminators m_phaseDiscri
const Real * getCtcssToneSet(int &nbTones) const
const Real * getToneSet() const
void processOneSample(Complex &ci)
MovingAverageUtil< Real, double, 32 > m_movingAverage
bool getSquelchOpen() const
uint32_t m_audioSampleRate
ThreadedBasebandSampleSink * m_threadedChannelizer
virtual QByteArray serialize() const
virtual qint64 getCenterFrequency() const
Applies to a default stream.
void setSelectedCtcssIndex(int selectedCtcssIndex)
virtual int webapiSettingsPutPatch(bool force, const QStringList &channelSettingsKeys, SWGSDRangel::SWGChannelSettings &response, QString &errorMessage)
virtual void feed(const SampleVector::const_iterator &begin, const SampleVector::const_iterator &end, bool po)
Interpolator m_interpolator
Real getFrequency() const
static const QString m_channelIdURI
#define MESSAGE_CLASS_DECLARATION
MagSqLevelsStore m_magSqLevelStore
static const int m_udpBlockSize
MsgReportCTCSSFreq(Real freq)
Real m_interpolatorDistance
Lowpass< Real > m_lowpass
virtual void getIdentifier(QString &id)
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport &response)
QNetworkAccessManager * m_networkManager
void webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings &response, const NFMDemodSettings &settings)
Lowpass< Real > m_ctcssLowpass
void applyAudioSampleRate(int sampleRate)
void applySettings(const NFMDemodSettings &settings, bool force=false)
virtual bool handleMessage(const Message &cmd)
Processing of a message. Returns true if message has actually been processed.
virtual void getTitle(QString &title)
virtual int getNbSinkStreams() const
void networkManagerFinished(QNetworkReply *reply)
NFMDemodSettings m_settings
virtual int getNbSourceStreams() const
DownChannelizer * m_channelizer
virtual int webapiReportGet(SWGSDRangel::SWGChannelReport &response, QString &errorMessage)
int32_t m_inputFrequencyOffset
AudioVector m_audioBuffer
void webapiReverseSendSettings(QList< QString > &channelSettingsKeys, const NFMDemodSettings &settings, bool force)
virtual int webapiSettingsGet(SWGSDRangel::SWGChannelSettings &response, QString &errorMessage)
std::complex< Real > Complex
virtual bool deserialize(const QByteArray &data)
NFMDemod(DeviceAPI *deviceAPI)
CTCSSDetector m_ctcssDetector
Bandpass< Real > m_bandpass
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force=false)
static const QString m_channelId
DoubleBufferFIFO< Real > m_squelchDelayLine
int m_inputFrequencyOffset
static MsgReportCTCSSFreq * create(Real freq)