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 <remoteinput.h>
Classes | |
class | MsgConfigureRemoteInput |
class | MsgConfigureRemoteInputTiming |
class | MsgFileRecord |
class | MsgReportRemoteInputAcquisition |
class | MsgReportRemoteInputStreamData |
class | MsgReportRemoteInputStreamTiming |
class | MsgStartStop |
Public Member Functions | |
RemoteInput (DeviceAPI *deviceAPI) | |
virtual | ~RemoteInput () |
virtual void | destroy () |
virtual void | init () |
initializations to be done when all collaborating objects are created and possibly connected More... | |
virtual bool | start () |
virtual void | stop () |
virtual QByteArray | serialize () const |
virtual bool | deserialize (const QByteArray &data) |
virtual void | setMessageQueueToGUI (MessageQueue *queue) |
virtual const QString & | getDeviceDescription () const |
virtual int | getSampleRate () const |
Sample rate exposed by the source. More... | |
virtual void | setSampleRate (int sampleRate) |
For when the source sample rate is set externally. More... | |
virtual quint64 | getCenterFrequency () const |
Center frequency exposed by the source. More... | |
virtual void | setCenterFrequency (qint64 centerFrequency) |
std::time_t | getStartingTimeStamp () const |
bool | isStreaming () const |
virtual bool | handleMessage (const Message &message) |
virtual int | webapiSettingsGet (SWGSDRangel::SWGDeviceSettings &response, QString &errorMessage) |
virtual int | webapiSettingsPutPatch (bool force, const QStringList &deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings &response, QString &errorMessage) |
virtual int | webapiReportGet (SWGSDRangel::SWGDeviceReport &response, QString &errorMessage) |
virtual int | webapiRunGet (SWGSDRangel::SWGDeviceState &response, QString &errorMessage) |
virtual int | webapiRun (bool run, SWGSDRangel::SWGDeviceState &response, QString &errorMessage) |
Public Member Functions inherited from DeviceSampleSource | |
DeviceSampleSource () | |
virtual | ~DeviceSampleSource () |
MessageQueue * | getInputMessageQueue () |
MessageQueue * | getMessageQueueToGUI () |
SampleSinkFifo * | getSampleFifo () |
Private Slots | |
void | networkManagerFinished (QNetworkReply *reply) |
Private Member Functions | |
void | applySettings (const RemoteInputSettings &settings, bool force=false) |
void | webapiFormatDeviceSettings (SWGSDRangel::SWGDeviceSettings &response, const RemoteInputSettings &settings) |
void | webapiFormatDeviceReport (SWGSDRangel::SWGDeviceReport &response) |
void | webapiReverseSendSettings (QList< QString > &deviceSettingsKeys, const RemoteInputSettings &settings, bool force) |
void | webapiReverseSendStartStop (bool start) |
Private Attributes | |
DeviceAPI * | m_deviceAPI |
QMutex | m_mutex |
RemoteInputSettings | m_settings |
RemoteInputUDPHandler * | m_remoteInputUDPHandler |
QString | m_remoteAddress |
QString | m_deviceDescription |
std::time_t | m_startingTimeStamp |
FileRecord * | m_fileSink |
File sink to record device I/Q output. More... | |
QNetworkAccessManager * | m_networkManager |
QNetworkRequest | m_networkRequest |
Additional Inherited Members | |
Public Types inherited from DeviceSampleSource | |
enum | fcPos_t { FC_POS_INFRA = 0, FC_POS_SUPRA, FC_POS_CENTER } |
enum | FrequencyShiftScheme { FSHIFT_STD = 0, FSHIFT_TXSYNC } |
Static Public Member Functions inherited from DeviceSampleSource | |
static qint64 | calculateDeviceCenterFrequency (quint64 centerFrequency, qint64 transverterDeltaFrequency, int log2Decim, fcPos_t fcPos, quint32 devSampleRate, FrequencyShiftScheme frequencyShiftScheme, bool transverterMode=false) |
static qint64 | calculateCenterFrequency (quint64 deviceCenterFrequency, qint64 transverterDeltaFrequency, int log2Decim, fcPos_t fcPos, quint32 devSampleRate, FrequencyShiftScheme frequencyShiftScheme, bool transverterMode=false) |
static qint32 | calculateFrequencyShift (int log2Decim, fcPos_t fcPos, quint32 devSampleRate, FrequencyShiftScheme frequencyShiftScheme) |
Protected Slots inherited from DeviceSampleSource | |
void | handleInputMessages () |
Protected Attributes inherited from DeviceSampleSource | |
SampleSinkFifo | m_sampleFifo |
MessageQueue | m_inputMessageQueue |
Input queue to the source. More... | |
MessageQueue * | m_guiMessageQueue |
Input message queue to the GUI. More... | |
Definition at line 40 of file remoteinput.h.
RemoteInput::RemoteInput | ( | DeviceAPI * | deviceAPI | ) |
Definition at line 47 of file remoteinput.cpp.
References arg().
Referenced by RemoteInput::MsgStartStop::MsgStartStop().
|
virtual |
Definition at line 65 of file remoteinput.cpp.
References m_deviceAPI, m_fileSink, m_networkManager, m_remoteInputUDPHandler, networkManagerFinished(), DeviceAPI::removeAncillarySink(), and stop().
Referenced by RemoteInput::MsgStartStop::MsgStartStop().
|
private |
Definition at line 226 of file remoteinput.cpp.
References DeviceAPI::configureCorrections(), RemoteInputUDPHandler::configureUDPLink(), RemoteInputUDPHandler::getRemoteAddress(), RemoteInputSettings::m_apiAddress, RemoteInputSettings::m_apiPort, RemoteInputSettings::m_dataAddress, RemoteInputSettings::m_dataPort, RemoteInputSettings::m_dcBlock, m_deviceAPI, RemoteInputSettings::m_fileRecordName, RemoteInputSettings::m_iqCorrection, m_mutex, m_remoteAddress, m_remoteInputUDPHandler, RemoteInputSettings::m_reverseAPIAddress, RemoteInputSettings::m_reverseAPIDeviceIndex, RemoteInputSettings::m_reverseAPIPort, m_settings, RemoteInputSettings::m_useReverseAPI, and webapiReverseSendSettings().
Referenced by handleMessage(), and init().
|
virtual |
Implements DeviceSampleSource.
Definition at line 103 of file remoteinput.cpp.
References RemoteInput::MsgConfigureRemoteInput::create(), RemoteInputSettings::deserialize(), DeviceSampleSource::m_guiMessageQueue, DeviceSampleSource::m_inputMessageQueue, m_settings, MessageQueue::push(), and RemoteInputSettings::resetToDefaults().
Referenced by RemoteInput::MsgStartStop::MsgStartStop().
|
virtual |
Implements DeviceSampleSource.
Definition at line 75 of file remoteinput.cpp.
Referenced by RemoteInput::MsgStartStop::MsgStartStop().
|
virtual |
Center frequency exposed by the source.
Implements DeviceSampleSource.
Definition at line 141 of file remoteinput.cpp.
References RemoteInputUDPHandler::getCenterFrequency(), and m_remoteInputUDPHandler.
Referenced by setSampleRate().
|
virtual |
Implements DeviceSampleSource.
Definition at line 131 of file remoteinput.cpp.
References m_deviceDescription.
Referenced by RemoteInput::MsgStartStop::MsgStartStop().
|
virtual |
Sample rate exposed by the source.
Implements DeviceSampleSource.
Definition at line 136 of file remoteinput.cpp.
References RemoteInputUDPHandler::getSampleRate(), and m_remoteInputUDPHandler.
Referenced by RemoteInput::MsgStartStop::MsgStartStop().
std::time_t RemoteInput::getStartingTimeStamp | ( | ) | const |
Definition at line 151 of file remoteinput.cpp.
References m_startingTimeStamp.
Referenced by setSampleRate().
|
virtual |
Implements DeviceSampleSource.
Definition at line 161 of file remoteinput.cpp.
References applySettings(), FileRecord::genUniqueFileName(), DeviceAPI::getDeviceUID(), RemoteInput::MsgConfigureRemoteInput::getForce(), Message::getIdentifier(), RemoteInput::MsgConfigureRemoteInput::getSettings(), RemoteInput::MsgFileRecord::getStartStop(), RemoteInput::MsgStartStop::getStartStop(), FileRecord::handleMessage(), DeviceAPI::initDeviceEngine(), m_deviceAPI, RemoteInputSettings::m_fileRecordName, m_fileSink, m_settings, RemoteInputSettings::m_useReverseAPI, Message::match(), FileRecord::setFileName(), DeviceAPI::startDeviceEngine(), FileRecord::startRecording(), DeviceAPI::stopDeviceEngine(), FileRecord::stopRecording(), and webapiReverseSendStartStop().
Referenced by setSampleRate().
|
virtual |
initializations to be done when all collaborating objects are created and possibly connected
Implements DeviceSampleSource.
Definition at line 80 of file remoteinput.cpp.
References applySettings(), and m_settings.
Referenced by RemoteInput::MsgStartStop::MsgStartStop().
bool RemoteInput::isStreaming | ( | ) | const |
Definition at line 156 of file remoteinput.cpp.
References RemoteInputUDPHandler::isStreaming(), and m_remoteInputUDPHandler.
Referenced by setSampleRate(), and RemoteInputGui::updateStatus().
|
privateslot |
Definition at line 514 of file remoteinput.cpp.
Referenced by ~RemoteInput().
|
virtual |
Implements DeviceSampleSource.
Definition at line 98 of file remoteinput.cpp.
References m_settings, and RemoteInputSettings::serialize().
Referenced by RemoteInput::MsgStartStop::MsgStartStop().
|
virtual |
Implements DeviceSampleSource.
Definition at line 146 of file remoteinput.cpp.
Referenced by setSampleRate().
|
virtual |
Implements DeviceSampleSource.
Definition at line 125 of file remoteinput.cpp.
References DeviceSampleSource::m_guiMessageQueue, m_remoteInputUDPHandler, and RemoteInputUDPHandler::setMessageQueueToGUI().
Referenced by RemoteInput::MsgStartStop::MsgStartStop(), and RemoteInputGui::RemoteInputGui().
|
inlinevirtual |
For when the source sample rate is set externally.
Implements DeviceSampleSource.
Definition at line 285 of file remoteinput.h.
References getCenterFrequency(), getStartingTimeStamp(), handleMessage(), isStreaming(), setCenterFrequency(), webapiReportGet(), webapiRun(), webapiRunGet(), webapiSettingsGet(), and webapiSettingsPutPatch().
|
virtual |
Implements DeviceSampleSource.
Definition at line 85 of file remoteinput.cpp.
References m_remoteInputUDPHandler, and RemoteInputUDPHandler::start().
Referenced by RemoteInput::MsgStartStop::MsgStartStop().
|
virtual |
Implements DeviceSampleSource.
Definition at line 92 of file remoteinput.cpp.
References m_remoteInputUDPHandler, and RemoteInputUDPHandler::stop().
Referenced by RemoteInput::MsgStartStop::MsgStartStop(), and ~RemoteInput().
|
private |
Definition at line 422 of file remoteinput.cpp.
References RemoteInputUDPHandler::getBufferGauge(), RemoteInputUDPHandler::getCenterFrequency(), RemoteInputUDPHandler::getMaxNbRecovery(), RemoteInputUDPHandler::getMinNbBlocks(), SWGSDRangel::SWGDeviceReport::getRemoteInputReport(), RemoteInputUDPHandler::getSampleRate(), RemoteInputUDPHandler::getTVmSec(), m_remoteInputUDPHandler, SWGSDRangel::SWGRemoteInputReport::setBufferRwBalance(), SWGSDRangel::SWGRemoteInputReport::setCenterFrequency(), SWGSDRangel::SWGRemoteInputReport::setMaxNbRecovery(), SWGSDRangel::SWGRemoteInputReport::setMinNbBlocks(), SWGSDRangel::SWGRemoteInputReport::setRemoteTimestamp(), and SWGSDRangel::SWGRemoteInputReport::setSampleRate().
Referenced by webapiReportGet().
|
private |
Definition at line 384 of file remoteinput.cpp.
References SWGSDRangel::SWGRemoteInputSettings::getFileRecordName(), SWGSDRangel::SWGDeviceSettings::getRemoteInputSettings(), SWGSDRangel::SWGRemoteInputSettings::getReverseApiAddress(), RemoteInputSettings::m_apiAddress, RemoteInputSettings::m_apiPort, RemoteInputSettings::m_dataAddress, RemoteInputSettings::m_dataPort, RemoteInputSettings::m_dcBlock, RemoteInputSettings::m_fileRecordName, RemoteInputSettings::m_iqCorrection, RemoteInputSettings::m_reverseAPIAddress, RemoteInputSettings::m_reverseAPIDeviceIndex, RemoteInputSettings::m_reverseAPIPort, RemoteInputSettings::m_useReverseAPI, SWGSDRangel::SWGRemoteInputSettings::setApiAddress(), SWGSDRangel::SWGRemoteInputSettings::setApiPort(), SWGSDRangel::SWGRemoteInputSettings::setDataAddress(), SWGSDRangel::SWGRemoteInputSettings::setDataPort(), SWGSDRangel::SWGRemoteInputSettings::setDcBlock(), SWGSDRangel::SWGRemoteInputSettings::setFileRecordName(), SWGSDRangel::SWGRemoteInputSettings::setIqCorrection(), SWGSDRangel::SWGRemoteInputSettings::setReverseApiAddress(), SWGSDRangel::SWGRemoteInputSettings::setReverseApiDeviceIndex(), SWGSDRangel::SWGRemoteInputSettings::setReverseApiPort(), and SWGSDRangel::SWGRemoteInputSettings::setUseReverseApi().
Referenced by webapiSettingsGet(), and webapiSettingsPutPatch().
|
virtual |
Reimplemented from DeviceSampleSource.
Definition at line 411 of file remoteinput.cpp.
References SWGSDRangel::SWGDeviceReport::getRemoteInputReport(), SWGSDRangel::SWGRemoteInputReport::init(), SWGSDRangel::SWGDeviceReport::setRemoteInputReport(), and webapiFormatDeviceReport().
Referenced by setSampleRate().
|
private |
Definition at line 435 of file remoteinput.cpp.
References SWGSDRangel::SWGDeviceSettings::asJson(), DeviceAPI::getDeviceSetIndex(), SWGSDRangel::SWGDeviceSettings::getRemoteInputSettings(), RemoteInputSettings::m_apiAddress, RemoteInputSettings::m_apiPort, RemoteInputSettings::m_dataAddress, RemoteInputSettings::m_dataPort, RemoteInputSettings::m_dcBlock, m_deviceAPI, RemoteInputSettings::m_fileRecordName, RemoteInputSettings::m_iqCorrection, m_networkManager, m_networkRequest, RemoteInputSettings::m_reverseAPIAddress, RemoteInputSettings::m_reverseAPIDeviceIndex, RemoteInputSettings::m_reverseAPIPort, SWGSDRangel::SWGRemoteInputSettings::setApiAddress(), SWGSDRangel::SWGRemoteInputSettings::setApiPort(), SWGSDRangel::SWGRemoteInputSettings::setDataAddress(), SWGSDRangel::SWGRemoteInputSettings::setDataPort(), SWGSDRangel::SWGRemoteInputSettings::setDcBlock(), SWGSDRangel::SWGDeviceSettings::setDeviceHwType(), SWGSDRangel::SWGDeviceSettings::setDirection(), SWGSDRangel::SWGRemoteInputSettings::setFileRecordName(), SWGSDRangel::SWGRemoteInputSettings::setIqCorrection(), SWGSDRangel::SWGDeviceSettings::setOriginatorIndex(), and SWGSDRangel::SWGDeviceSettings::setRemoteInputSettings().
Referenced by applySettings().
|
private |
Definition at line 486 of file remoteinput.cpp.
References SWGSDRangel::SWGDeviceSettings::asJson(), DeviceAPI::getDeviceSetIndex(), m_deviceAPI, m_networkManager, m_networkRequest, RemoteInputSettings::m_reverseAPIAddress, RemoteInputSettings::m_reverseAPIDeviceIndex, RemoteInputSettings::m_reverseAPIPort, m_settings, SWGSDRangel::SWGDeviceSettings::setDeviceHwType(), SWGSDRangel::SWGDeviceSettings::setDirection(), and SWGSDRangel::SWGDeviceSettings::setOriginatorIndex().
Referenced by handleMessage().
|
virtual |
Reimplemented from DeviceSampleSource.
Definition at line 298 of file remoteinput.cpp.
References RemoteInput::MsgStartStop::create(), DeviceAPI::getDeviceEngineStateStr(), SWGSDRangel::SWGDeviceState::getState(), m_deviceAPI, DeviceSampleSource::m_guiMessageQueue, DeviceSampleSource::m_inputMessageQueue, and MessageQueue::push().
Referenced by setSampleRate().
|
virtual |
Reimplemented from DeviceSampleSource.
Definition at line 289 of file remoteinput.cpp.
References DeviceAPI::getDeviceEngineStateStr(), SWGSDRangel::SWGDeviceState::getState(), and m_deviceAPI.
Referenced by setSampleRate().
|
virtual |
Reimplemented from DeviceSampleSource.
Definition at line 317 of file remoteinput.cpp.
References SWGSDRangel::SWGDeviceSettings::getRemoteInputSettings(), SWGSDRangel::SWGRemoteInputSettings::init(), m_settings, SWGSDRangel::SWGDeviceSettings::setRemoteInputSettings(), and webapiFormatDeviceSettings().
Referenced by setSampleRate().
|
virtual |
Reimplemented from DeviceSampleSource.
Definition at line 328 of file remoteinput.cpp.
References RemoteInput::MsgConfigureRemoteInput::create(), SWGSDRangel::SWGRemoteInputSettings::getApiAddress(), SWGSDRangel::SWGRemoteInputSettings::getApiPort(), SWGSDRangel::SWGRemoteInputSettings::getDataAddress(), SWGSDRangel::SWGRemoteInputSettings::getDataPort(), SWGSDRangel::SWGRemoteInputSettings::getDcBlock(), SWGSDRangel::SWGRemoteInputSettings::getFileRecordName(), SWGSDRangel::SWGRemoteInputSettings::getIqCorrection(), SWGSDRangel::SWGDeviceSettings::getRemoteInputSettings(), SWGSDRangel::SWGRemoteInputSettings::getReverseApiAddress(), SWGSDRangel::SWGRemoteInputSettings::getReverseApiDeviceIndex(), SWGSDRangel::SWGRemoteInputSettings::getReverseApiPort(), SWGSDRangel::SWGRemoteInputSettings::getUseReverseApi(), RemoteInputSettings::m_apiAddress, RemoteInputSettings::m_apiPort, RemoteInputSettings::m_dataAddress, RemoteInputSettings::m_dataPort, RemoteInputSettings::m_dcBlock, RemoteInputSettings::m_fileRecordName, DeviceSampleSource::m_guiMessageQueue, DeviceSampleSource::m_inputMessageQueue, RemoteInputSettings::m_iqCorrection, RemoteInputSettings::m_reverseAPIAddress, RemoteInputSettings::m_reverseAPIDeviceIndex, RemoteInputSettings::m_reverseAPIPort, m_settings, RemoteInputSettings::m_useReverseAPI, MessageQueue::push(), and webapiFormatDeviceSettings().
Referenced by setSampleRate().
|
private |
Definition at line 317 of file remoteinput.h.
Referenced by applySettings(), handleMessage(), webapiReverseSendSettings(), webapiReverseSendStartStop(), webapiRun(), webapiRunGet(), and ~RemoteInput().
|
private |
Definition at line 322 of file remoteinput.h.
Referenced by getDeviceDescription().
|
private |
File sink to record device I/Q output.
Definition at line 324 of file remoteinput.h.
Referenced by handleMessage(), and ~RemoteInput().
|
private |
Definition at line 318 of file remoteinput.h.
Referenced by applySettings().
|
private |
Definition at line 325 of file remoteinput.h.
Referenced by webapiReverseSendSettings(), webapiReverseSendStartStop(), and ~RemoteInput().
|
private |
Definition at line 326 of file remoteinput.h.
Referenced by webapiReverseSendSettings(), and webapiReverseSendStartStop().
|
private |
Definition at line 321 of file remoteinput.h.
Referenced by applySettings().
|
private |
Definition at line 320 of file remoteinput.h.
Referenced by applySettings(), getCenterFrequency(), getSampleRate(), isStreaming(), setMessageQueueToGUI(), start(), stop(), webapiFormatDeviceReport(), and ~RemoteInput().
|
private |
Definition at line 319 of file remoteinput.h.
Referenced by applySettings(), deserialize(), handleMessage(), init(), serialize(), webapiReverseSendStartStop(), webapiSettingsGet(), and webapiSettingsPutPatch().
|
private |
Definition at line 323 of file remoteinput.h.
Referenced by getStartingTimeStamp().