SDRAngel
4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
|
#include <lorademod.h>
Classes | |
class | MsgConfigureChannelizer |
class | MsgConfigureLoRaDemod |
Public Member Functions | |
LoRaDemod (DeviceAPI *deviceAPI) | |
virtual | ~LoRaDemod () |
virtual void | destroy () |
void | setSpectrumSink (BasebandSampleSink *sampleSink) |
virtual void | feed (const SampleVector::const_iterator &begin, const SampleVector::const_iterator &end, bool pO) |
virtual void | start () |
virtual void | stop () |
virtual bool | handleMessage (const Message &cmd) |
Processing of a message. Returns true if message has actually been processed. More... | |
virtual void | getIdentifier (QString &id) |
virtual void | getTitle (QString &title) |
virtual qint64 | getCenterFrequency () const |
Applies to a default stream. More... | |
virtual QByteArray | serialize () const |
virtual bool | deserialize (const QByteArray &data) |
virtual int | getNbSinkStreams () const |
virtual int | getNbSourceStreams () const |
virtual qint64 | getStreamCenterFrequency (int streamIndex, bool sinkElseSource) const |
Public Member Functions inherited from BasebandSampleSink | |
BasebandSampleSink () | |
virtual | ~BasebandSampleSink () |
MessageQueue * | getInputMessageQueue () |
Get the queue for asynchronous inbound communication. More... | |
virtual void | setMessageQueueToGUI (MessageQueue *queue) |
MessageQueue * | getMessageQueueToGUI () |
Public Member Functions inherited from ChannelAPI | |
ChannelAPI (const QString &name, StreamType streamType) | |
virtual | ~ChannelAPI () |
virtual void | setName (const QString &name) |
virtual const QString & | getName () const |
virtual int | webapiSettingsGet (SWGSDRangel::SWGChannelSettings &response, QString &errorMessage) |
virtual int | webapiSettingsPutPatch (bool force, const QStringList &channelSettingsKeys, SWGSDRangel::SWGChannelSettings &response, QString &errorMessage) |
virtual int | webapiReportGet (SWGSDRangel::SWGChannelReport &response, QString &errorMessage) |
int | getIndexInDeviceSet () const |
void | setIndexInDeviceSet (int indexInDeviceSet) |
int | getDeviceSetIndex () const |
void | setDeviceSetIndex (int deviceSetIndex) |
DeviceAPI * | getDeviceAPI () |
void | setDeviceAPI (DeviceAPI *deviceAPI) |
uint64_t | getUID () const |
StreamType | getStreamType () const |
Static Public Attributes | |
static const QString | m_channelIdURI = "sdrangel.channel.lorademod" |
static const QString | m_channelId = "LoRaDemod" |
Private Member Functions | |
int | detect (Complex sample, Complex angle) |
void | dumpRaw (void) |
short | synch (short bin) |
short | toGray (short bin) |
void | interleave6 (char *inout, int size) |
void | hamming6 (char *inout, int size) |
void | prng6 (char *inout, int size) |
Private Attributes | |
DeviceAPI * | m_deviceAPI |
ThreadedBasebandSampleSink * | m_threadedChannelizer |
DownChannelizer * | m_channelizer |
LoRaDemodSettings | m_settings |
Real | m_Bandwidth |
int | m_sampleRate |
int | m_frequency |
int | m_chirp |
int | m_angle |
int | m_bin |
int | m_result |
int | m_count |
int | m_header |
int | m_time |
short | m_tune |
sfft * | loraFilter |
sfft * | negaFilter |
float * | mov |
short * | history |
short * | finetune |
NCO | m_nco |
Interpolator | m_interpolator |
Real | m_sampleDistanceRemain |
BasebandSampleSink * | m_sampleSink |
SampleVector | m_sampleBuffer |
QMutex | m_settingsMutex |
Additional Inherited Members | |
Public Types inherited from ChannelAPI | |
enum | StreamType { StreamSingleSink, StreamSingleSource, StreamMIMO } |
< This is the same enum as in PluginInterface More... | |
Protected Slots inherited from BasebandSampleSink | |
void | handleInputMessages () |
Protected Attributes inherited from BasebandSampleSink | |
MessageQueue | m_inputMessageQueue |
Queue for asynchronous inbound communication. More... | |
MessageQueue * | m_guiMessageQueue |
Input message queue to the GUI. More... | |
Definition at line 44 of file lorademod.h.
LoRaDemod::LoRaDemod | ( | DeviceAPI * | deviceAPI | ) |
Definition at line 39 of file lorademod.cpp.
References DeviceAPI::addChannelSink(), DeviceAPI::addChannelSinkAPI(), LoRaDemodSettings::bandwidths, Interpolator::create(), finetune, history, LORA_SFFT_LEN, loraFilter, m_angle, m_Bandwidth, m_bin, m_channelId, m_channelizer, m_chirp, m_count, m_deviceAPI, m_frequency, m_header, m_interpolator, m_nco, m_result, m_sampleDistanceRemain, m_sampleRate, m_threadedChannelizer, m_time, m_tune, mov, negaFilter, and NCO::setFreq().
Referenced by LoRaDemod::MsgConfigureChannelizer::MsgConfigureChannelizer().
|
virtual |
Definition at line 76 of file lorademod.cpp.
References finetune, history, loraFilter, m_channelizer, m_deviceAPI, m_threadedChannelizer, mov, negaFilter, DeviceAPI::removeChannelSink(), and DeviceAPI::removeChannelSinkAPI().
Referenced by LoRaDemod::MsgConfigureChannelizer::MsgConfigureChannelizer().
|
virtual |
Implements ChannelAPI.
Definition at line 375 of file lorademod.cpp.
References LoRaDemod::MsgConfigureLoRaDemod::create(), LoRaDemodSettings::deserialize(), BasebandSampleSink::m_inputMessageQueue, m_settings, MessageQueue::push(), and LoRaDemodSettings::resetToDefaults().
Referenced by getCenterFrequency().
|
inlinevirtual |
Definition at line 192 of file lorademod.cpp.
References DATA_BITS, sfft::fetch(), finetune, i, LORA_SFFT_LEN, LORA_SQUELCH, loraFilter, m_count, m_result, m_time, mov, negaFilter, sfft::run(), and synch().
Referenced by feed().
|
private |
Definition at line 95 of file lorademod.cpp.
References hamming6(), history, interleave6(), LORA_SFFT_LEN, m_time, m_tune, leansdr::max(), prng6(), and toGray().
Referenced by synch().
|
virtual |
Implements BasebandSampleSink.
Definition at line 255 of file lorademod.cpp.
References cos(), Interpolator::decimate(), detect(), BasebandSampleSink::feed(), LORA_SFFT_LEN, m_angle, m_Bandwidth, m_bin, m_chirp, m_interpolator, m_nco, M_PI, m_sampleBuffer, m_sampleDistanceRemain, m_sampleRate, m_sampleSink, m_settingsMutex, NCO::nextIQ(), SDR_RX_SCALEF, sin(), and SPREADFACTOR.
Referenced by setSpectrumSink().
|
inlinevirtual |
Applies to a default stream.
Implements ChannelAPI.
Definition at line 104 of file lorademod.h.
References deserialize(), and serialize().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Implements ChannelAPI.
Definition at line 112 of file lorademod.h.
|
inlinevirtual |
Implements ChannelAPI.
Definition at line 103 of file lorademod.h.
References LoRaDemod::MsgConfigureLoRaDemod::m_settings, and LoRaDemodSettings::m_title.
|
private |
Definition at line 42 of file lorabits.h.
References i.
Referenced by dumpRaw().
|
virtual |
Processing of a message. Returns true if message has actually been processed.
Implements BasebandSampleSink.
Definition at line 300 of file lorademod.cpp.
References LoRaDemodSettings::bandwidths, DownChannelizer::configure(), Interpolator::create(), LoRaDemod::MsgConfigureChannelizer::getCenterFrequency(), DownChannelizer::MsgChannelizerNotification::getFrequencyOffset(), BasebandSampleSink::getInputMessageQueue(), DownChannelizer::MsgChannelizerNotification::getSampleRate(), LoRaDemod::MsgConfigureChannelizer::getSampleRate(), LoRaDemod::MsgConfigureLoRaDemod::getSettings(), BasebandSampleSink::handleMessage(), m_Bandwidth, LoRaDemodSettings::m_bandwidthIndex, m_channelizer, m_interpolator, m_nco, m_sampleDistanceRemain, m_sampleRate, m_sampleSink, m_settings, m_settingsMutex, Message::match(), and NCO::setFreq().
Referenced by setSpectrumSink().
|
private |
Definition at line 14 of file lorabits.h.
References i.
Referenced by dumpRaw().
|
private |
Definition at line 63 of file lorabits.h.
References i.
Referenced by dumpRaw().
|
virtual |
Implements ChannelAPI.
Definition at line 370 of file lorademod.cpp.
References m_settings, and LoRaDemodSettings::serialize().
Referenced by getCenterFrequency().
|
inline |
Definition at line 95 of file lorademod.h.
References feed(), handleMessage(), m_sampleSink, start(), and stop().
Referenced by LoRaDemodGUI::LoRaDemodGUI().
|
virtual |
Implements BasebandSampleSink.
Definition at line 292 of file lorademod.cpp.
Referenced by setSpectrumSink().
|
virtual |
Implements BasebandSampleSink.
Definition at line 296 of file lorademod.cpp.
Referenced by setSpectrumSink().
|
private |
Definition at line 138 of file lorademod.cpp.
References dumpRaw(), finetune, history, i, LORA_SFFT_LEN, m_time, and m_tune.
Referenced by detect().
|
private |
Definition at line 36 of file lorabits.h.
Referenced by dumpRaw().
|
private |
Definition at line 152 of file lorademod.h.
Referenced by detect(), LoRaDemod(), synch(), and ~LoRaDemod().
|
private |
Definition at line 151 of file lorademod.h.
Referenced by dumpRaw(), LoRaDemod(), synch(), and ~LoRaDemod().
|
private |
Definition at line 148 of file lorademod.h.
Referenced by detect(), LoRaDemod(), and ~LoRaDemod().
|
private |
Definition at line 140 of file lorademod.h.
Referenced by feed(), and LoRaDemod().
|
private |
Definition at line 136 of file lorademod.h.
Referenced by feed(), handleMessage(), and LoRaDemod().
|
private |
Definition at line 141 of file lorademod.h.
Referenced by feed(), and LoRaDemod().
|
static |
Definition at line 120 of file lorademod.h.
Referenced by LoRaPlugin::initPlugin(), and LoRaDemod().
|
static |
Definition at line 119 of file lorademod.h.
Referenced by LoRaPlugin::initPlugin(), and LoRaDemodGUI::LoRaDemodGUI().
|
private |
Definition at line 133 of file lorademod.h.
Referenced by handleMessage(), LoRaDemod(), and ~LoRaDemod().
|
private |
Definition at line 139 of file lorademod.h.
Referenced by feed(), and LoRaDemod().
|
private |
Definition at line 143 of file lorademod.h.
Referenced by detect(), and LoRaDemod().
|
private |
Definition at line 131 of file lorademod.h.
Referenced by LoRaDemod(), and ~LoRaDemod().
|
private |
Definition at line 138 of file lorademod.h.
Referenced by LoRaDemod().
|
private |
Definition at line 144 of file lorademod.h.
Referenced by LoRaDemod().
|
private |
Definition at line 155 of file lorademod.h.
Referenced by feed(), handleMessage(), and LoRaDemod().
|
private |
Definition at line 154 of file lorademod.h.
Referenced by feed(), handleMessage(), and LoRaDemod().
|
private |
Definition at line 142 of file lorademod.h.
Referenced by detect(), and LoRaDemod().
|
private |
Definition at line 159 of file lorademod.h.
Referenced by feed().
|
private |
Definition at line 156 of file lorademod.h.
Referenced by feed(), handleMessage(), and LoRaDemod().
|
private |
Definition at line 137 of file lorademod.h.
Referenced by feed(), LoRaDemod::MsgConfigureChannelizer::getSampleRate(), handleMessage(), and LoRaDemod().
|
private |
Definition at line 158 of file lorademod.h.
Referenced by feed(), handleMessage(), and setSpectrumSink().
|
private |
Definition at line 134 of file lorademod.h.
Referenced by deserialize(), handleMessage(), and serialize().
|
private |
Definition at line 160 of file lorademod.h.
Referenced by feed(), and handleMessage().
|
private |
Definition at line 132 of file lorademod.h.
Referenced by LoRaDemod(), and ~LoRaDemod().
|
private |
Definition at line 145 of file lorademod.h.
Referenced by detect(), dumpRaw(), LoRaDemod(), and synch().
|
private |
Definition at line 146 of file lorademod.h.
Referenced by dumpRaw(), LoRaDemod(), and synch().
|
private |
Definition at line 150 of file lorademod.h.
Referenced by detect(), LoRaDemod(), and ~LoRaDemod().
|
private |
Definition at line 149 of file lorademod.h.
Referenced by detect(), LoRaDemod(), and ~LoRaDemod().