19 #ifndef INCLUDE_LoRaDEMOD_H 20 #define INCLUDE_LoRaDEMOD_H 35 #define SAMPLEBITS (DATA_BITS + 2) 36 #define SPREADFACTOR (1 << SAMPLEBITS) 37 #define LORA_SFFT_LEN (SPREADFACTOR / 2) 38 #define LORA_SQUELCH (3) 87 m_sampleRate(sampleRate),
88 m_centerFrequency(centerFrequency)
97 virtual void feed(
const SampleVector::const_iterator& begin,
const SampleVector::const_iterator& end,
bool pO);
115 (void) sinkElseSource;
125 short synch (
short bin);
128 void hamming6(
char* inout,
int size);
129 void prng6(
char* inout,
int size);
163 #endif // INCLUDE_LoRaDEMOD_H
std::vector< Sample > SampleVector
virtual qint64 getCenterFrequency() const
Applies to a default stream.
int detect(Complex sample, Complex angle)
virtual bool deserialize(const QByteArray &data)
void prng6(char *inout, int size)
Real m_sampleDistanceRemain
virtual void getIdentifier(QString &id)
DownChannelizer * m_channelizer
static const QString m_channelId
BasebandSampleSink * m_sampleSink
#define MESSAGE_CLASS_DECLARATION
Interpolator m_interpolator
virtual void getTitle(QString &title)
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
void setSpectrumSink(BasebandSampleSink *sampleSink)
LoRaDemod(DeviceAPI *deviceAPI)
ThreadedBasebandSampleSink * m_threadedChannelizer
void interleave6(char *inout, int size)
virtual int getNbSinkStreams() const
virtual bool handleMessage(const Message &cmd)
Processing of a message. Returns true if message has actually been processed.
LoRaDemodSettings m_settings
virtual void feed(const SampleVector::const_iterator &begin, const SampleVector::const_iterator &end, bool pO)
static const QString m_channelIdURI
virtual int getNbSourceStreams() const
virtual QByteArray serialize() const
std::complex< Real > Complex
SampleVector m_sampleBuffer
void hamming6(char *inout, int size)