mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-09-27 15:26:33 -04:00
Rename DaemonSrc to DaemonSource
This commit is contained in:
parent
9cfaf47a00
commit
3a32cf156c
@ -33,15 +33,15 @@
|
||||
#include "daemonsrcthread.h"
|
||||
#include "daemonsrc.h"
|
||||
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSrc::MsgSampleRateNotification, Message)
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSrc::MsgConfigureDaemonSrc, Message)
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSrc::MsgQueryStreamData, Message)
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSrc::MsgReportStreamData, Message)
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSource::MsgSampleRateNotification, Message)
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSource::MsgConfigureDaemonSource, Message)
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSource::MsgQueryStreamData, Message)
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSource::MsgReportStreamData, Message)
|
||||
|
||||
const QString DaemonSrc::m_channelIdURI = "sdrangel.channeltx.daemonsrc";
|
||||
const QString DaemonSrc::m_channelId ="DaemonSrc";
|
||||
const QString DaemonSource::m_channelIdURI = "sdrangel.channeltx.daemonsrc";
|
||||
const QString DaemonSource::m_channelId ="DaemonSource";
|
||||
|
||||
DaemonSrc::DaemonSrc(DeviceSinkAPI *deviceAPI) :
|
||||
DaemonSource::DaemonSource(DeviceSinkAPI *deviceAPI) :
|
||||
ChannelSourceAPI(m_channelIdURI),
|
||||
m_deviceAPI(deviceAPI),
|
||||
m_sourceThread(0),
|
||||
@ -62,7 +62,7 @@ DaemonSrc::DaemonSrc(DeviceSinkAPI *deviceAPI) :
|
||||
m_deviceAPI->addChannelAPI(this);
|
||||
}
|
||||
|
||||
DaemonSrc::~DaemonSrc()
|
||||
DaemonSource::~DaemonSource()
|
||||
{
|
||||
m_deviceAPI->removeChannelAPI(this);
|
||||
m_deviceAPI->removeThreadedSource(m_threadedChannelizer);
|
||||
@ -70,32 +70,32 @@ DaemonSrc::~DaemonSrc()
|
||||
delete m_channelizer;
|
||||
}
|
||||
|
||||
void DaemonSrc::pull(Sample& sample)
|
||||
void DaemonSource::pull(Sample& sample)
|
||||
{
|
||||
m_dataReadQueue.readSample(sample);
|
||||
}
|
||||
|
||||
void DaemonSrc::pullAudio(int nbSamples __attribute__((unused)))
|
||||
void DaemonSource::pullAudio(int nbSamples __attribute__((unused)))
|
||||
{
|
||||
}
|
||||
|
||||
void DaemonSrc::start()
|
||||
void DaemonSource::start()
|
||||
{
|
||||
qDebug("DaemonSrc::start");
|
||||
qDebug("DaemonSource::start");
|
||||
|
||||
if (m_running) {
|
||||
stop();
|
||||
}
|
||||
|
||||
m_sourceThread = new DaemonSrcThread(&m_dataQueue);
|
||||
m_sourceThread = new DaemonSourceThread(&m_dataQueue);
|
||||
m_sourceThread->startStop(true);
|
||||
m_sourceThread->dataBind(m_settings.m_dataAddress, m_settings.m_dataPort);
|
||||
m_running = true;
|
||||
}
|
||||
|
||||
void DaemonSrc::stop()
|
||||
void DaemonSource::stop()
|
||||
{
|
||||
qDebug("DaemonSrc::stop");
|
||||
qDebug("DaemonSource::stop");
|
||||
|
||||
if (m_sourceThread != 0)
|
||||
{
|
||||
@ -107,22 +107,22 @@ void DaemonSrc::stop()
|
||||
m_running = false;
|
||||
}
|
||||
|
||||
void DaemonSrc::setDataLink(const QString& dataAddress, uint16_t dataPort)
|
||||
void DaemonSource::setDataLink(const QString& dataAddress, uint16_t dataPort)
|
||||
{
|
||||
DaemonSrcSettings settings = m_settings;
|
||||
DaemonSourceSettings settings = m_settings;
|
||||
settings.m_dataAddress = dataAddress;
|
||||
settings.m_dataPort = dataPort;
|
||||
|
||||
MsgConfigureDaemonSrc *msg = MsgConfigureDaemonSrc::create(settings, false);
|
||||
MsgConfigureDaemonSource *msg = MsgConfigureDaemonSource::create(settings, false);
|
||||
m_inputMessageQueue.push(msg);
|
||||
}
|
||||
|
||||
bool DaemonSrc::handleMessage(const Message& cmd)
|
||||
bool DaemonSource::handleMessage(const Message& cmd)
|
||||
{
|
||||
if (UpChannelizer::MsgChannelizerNotification::match(cmd))
|
||||
{
|
||||
UpChannelizer::MsgChannelizerNotification& notif = (UpChannelizer::MsgChannelizerNotification&) cmd;
|
||||
qDebug() << "DaemonSrc::handleMessage: MsgChannelizerNotification:"
|
||||
qDebug() << "DaemonSource::handleMessage: MsgChannelizerNotification:"
|
||||
<< " basebandSampleRate: " << notif.getBasebandSampleRate()
|
||||
<< " outputSampleRate: " << notif.getSampleRate()
|
||||
<< " inputFrequencyOffset: " << notif.getFrequencyOffset();
|
||||
@ -135,10 +135,10 @@ bool DaemonSrc::handleMessage(const Message& cmd)
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (MsgConfigureDaemonSrc::match(cmd))
|
||||
else if (MsgConfigureDaemonSource::match(cmd))
|
||||
{
|
||||
MsgConfigureDaemonSrc& cfg = (MsgConfigureDaemonSrc&) cmd;
|
||||
qDebug() << "MsgConfigureDaemonSrc::handleMessage: MsgConfigureDaemonSrc";
|
||||
MsgConfigureDaemonSource& cfg = (MsgConfigureDaemonSource&) cmd;
|
||||
qDebug() << "MsgConfigureDaemonSource::handleMessage: MsgConfigureDaemonSource";
|
||||
applySettings(cfg.getSettings(), cfg.getForce());
|
||||
|
||||
return true;
|
||||
@ -170,31 +170,31 @@ bool DaemonSrc::handleMessage(const Message& cmd)
|
||||
return false;
|
||||
}
|
||||
|
||||
QByteArray DaemonSrc::serialize() const
|
||||
QByteArray DaemonSource::serialize() const
|
||||
{
|
||||
return m_settings.serialize();
|
||||
}
|
||||
|
||||
bool DaemonSrc::deserialize(const QByteArray& data __attribute__((unused)))
|
||||
bool DaemonSource::deserialize(const QByteArray& data __attribute__((unused)))
|
||||
{
|
||||
if (m_settings.deserialize(data))
|
||||
{
|
||||
MsgConfigureDaemonSrc *msg = MsgConfigureDaemonSrc::create(m_settings, true);
|
||||
MsgConfigureDaemonSource *msg = MsgConfigureDaemonSource::create(m_settings, true);
|
||||
m_inputMessageQueue.push(msg);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_settings.resetToDefaults();
|
||||
MsgConfigureDaemonSrc *msg = MsgConfigureDaemonSrc::create(m_settings, true);
|
||||
MsgConfigureDaemonSource *msg = MsgConfigureDaemonSource::create(m_settings, true);
|
||||
m_inputMessageQueue.push(msg);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void DaemonSrc::applySettings(const DaemonSrcSettings& settings, bool force)
|
||||
void DaemonSource::applySettings(const DaemonSourceSettings& settings, bool force)
|
||||
{
|
||||
qDebug() << "DaemonSrc::applySettings:"
|
||||
qDebug() << "DaemonSource::applySettings:"
|
||||
<< " m_dataAddress: " << settings.m_dataAddress
|
||||
<< " m_dataPort: " << settings.m_dataPort
|
||||
<< " force: " << force;
|
||||
@ -216,11 +216,11 @@ void DaemonSrc::applySettings(const DaemonSrcSettings& settings, bool force)
|
||||
m_settings = settings;
|
||||
}
|
||||
|
||||
void DaemonSrc::handleDataBlock(SDRDaemonDataBlock* dataBlock __attribute__((unused)))
|
||||
void DaemonSource::handleDataBlock(SDRDaemonDataBlock* dataBlock __attribute__((unused)))
|
||||
{
|
||||
if (dataBlock->m_rxControlBlock.m_blockCount < SDRDaemonNbOrginalBlocks)
|
||||
{
|
||||
qWarning("DaemonSrc::handleDataBlock: incomplete data block: not processing");
|
||||
qWarning("DaemonSource::handleDataBlock: incomplete data block: not processing");
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -242,12 +242,12 @@ void DaemonSrc::handleDataBlock(SDRDaemonDataBlock* dataBlock __attribute__((unu
|
||||
}
|
||||
}
|
||||
|
||||
//qDebug("DaemonSrc::handleDataBlock: frame: %u blocks: %d", dataBlock.m_rxControlBlock.m_frameIndex, blockCount);
|
||||
//qDebug("DaemonSource::handleDataBlock: frame: %u blocks: %d", dataBlock.m_rxControlBlock.m_frameIndex, blockCount);
|
||||
|
||||
// Need to use the CM256 recovery
|
||||
if (m_cm256p &&(dataBlock->m_rxControlBlock.m_originalCount < SDRDaemonNbOrginalBlocks))
|
||||
{
|
||||
qDebug("DaemonSrc::handleDataBlock: %d recovery blocks", dataBlock->m_rxControlBlock.m_recoveryCount);
|
||||
qDebug("DaemonSource::handleDataBlock: %d recovery blocks", dataBlock->m_rxControlBlock.m_recoveryCount);
|
||||
CM256::cm256_encoder_params paramsCM256;
|
||||
paramsCM256.BlockBytes = sizeof(SDRDaemonProtectedBlock); // never changes
|
||||
paramsCM256.OriginalCount = SDRDaemonNbOrginalBlocks; // never changes
|
||||
@ -267,7 +267,7 @@ void DaemonSrc::handleDataBlock(SDRDaemonDataBlock* dataBlock __attribute__((unu
|
||||
|
||||
if (m_cm256.cm256_decode(paramsCM256, m_cm256DescriptorBlocks)) // CM256 decode
|
||||
{
|
||||
qWarning() << "DaemonSrc::handleDataBlock: decode CM256 error:"
|
||||
qWarning() << "DaemonSource::handleDataBlock: decode CM256 error:"
|
||||
<< " m_originalCount: " << dataBlock->m_rxControlBlock.m_originalCount
|
||||
<< " m_recoveryCount: " << dataBlock->m_rxControlBlock.m_recoveryCount;
|
||||
}
|
||||
@ -298,7 +298,7 @@ void DaemonSrc::handleDataBlock(SDRDaemonDataBlock* dataBlock __attribute__((unu
|
||||
{
|
||||
if (!(m_currentMeta == *metaData))
|
||||
{
|
||||
printMeta("DaemonSrc::handleDataBlock", metaData);
|
||||
printMeta("DaemonSource::handleDataBlock", metaData);
|
||||
|
||||
if (m_currentMeta.m_sampleRate != metaData->m_sampleRate)
|
||||
{
|
||||
@ -311,7 +311,7 @@ void DaemonSrc::handleDataBlock(SDRDaemonDataBlock* dataBlock __attribute__((unu
|
||||
}
|
||||
else
|
||||
{
|
||||
qWarning() << "DaemonSrc::handleDataBlock: recovered meta: invalid CRC32";
|
||||
qWarning() << "DaemonSource::handleDataBlock: recovered meta: invalid CRC32";
|
||||
}
|
||||
}
|
||||
|
||||
@ -319,7 +319,7 @@ void DaemonSrc::handleDataBlock(SDRDaemonDataBlock* dataBlock __attribute__((unu
|
||||
}
|
||||
}
|
||||
|
||||
void DaemonSrc::handleData()
|
||||
void DaemonSource::handleData()
|
||||
{
|
||||
SDRDaemonDataBlock* dataBlock;
|
||||
|
||||
@ -328,7 +328,7 @@ void DaemonSrc::handleData()
|
||||
}
|
||||
}
|
||||
|
||||
void DaemonSrc::printMeta(const QString& header, SDRDaemonMetaDataFEC *metaData)
|
||||
void DaemonSource::printMeta(const QString& header, SDRDaemonMetaDataFEC *metaData)
|
||||
{
|
||||
qDebug().noquote() << header << ": "
|
||||
<< "|" << metaData->m_centerFrequency
|
||||
@ -342,16 +342,16 @@ void DaemonSrc::printMeta(const QString& header, SDRDaemonMetaDataFEC *metaData)
|
||||
<< "|";
|
||||
}
|
||||
|
||||
uint32_t DaemonSrc::calculateDataReadQueueSize(int sampleRate)
|
||||
uint32_t DaemonSource::calculateDataReadQueueSize(int sampleRate)
|
||||
{
|
||||
// scale for 20 blocks at 48 kS/s. Take next even number.
|
||||
uint32_t maxSize = sampleRate / 2400;
|
||||
maxSize = (maxSize % 2 == 0) ? maxSize : maxSize + 1;
|
||||
qDebug("DaemonSrc::calculateDataReadQueueSize: set max queue size to %u blocks", maxSize);
|
||||
qDebug("DaemonSource::calculateDataReadQueueSize: set max queue size to %u blocks", maxSize);
|
||||
return maxSize;
|
||||
}
|
||||
|
||||
int DaemonSrc::webapiSettingsGet(
|
||||
int DaemonSource::webapiSettingsGet(
|
||||
SWGSDRangel::SWGChannelSettings& response,
|
||||
QString& errorMessage __attribute__((unused)))
|
||||
{
|
||||
@ -361,13 +361,13 @@ int DaemonSrc::webapiSettingsGet(
|
||||
return 200;
|
||||
}
|
||||
|
||||
int DaemonSrc::webapiSettingsPutPatch(
|
||||
int DaemonSource::webapiSettingsPutPatch(
|
||||
bool force,
|
||||
const QStringList& channelSettingsKeys,
|
||||
SWGSDRangel::SWGChannelSettings& response,
|
||||
QString& errorMessage __attribute__((unused)))
|
||||
{
|
||||
DaemonSrcSettings settings = m_settings;
|
||||
DaemonSourceSettings settings = m_settings;
|
||||
|
||||
if (channelSettingsKeys.contains("dataAddress")) {
|
||||
settings.m_dataAddress = *response.getDaemonSourceSettings()->getDataAddress();
|
||||
@ -389,13 +389,13 @@ int DaemonSrc::webapiSettingsPutPatch(
|
||||
settings.m_title = *response.getDaemonSourceSettings()->getTitle();
|
||||
}
|
||||
|
||||
MsgConfigureDaemonSrc *msg = MsgConfigureDaemonSrc::create(settings, force);
|
||||
MsgConfigureDaemonSource *msg = MsgConfigureDaemonSource::create(settings, force);
|
||||
m_inputMessageQueue.push(msg);
|
||||
|
||||
qDebug("DaemonSrc::webapiSettingsPutPatch: forward to GUI: %p", m_guiMessageQueue);
|
||||
qDebug("DaemonSource::webapiSettingsPutPatch: forward to GUI: %p", m_guiMessageQueue);
|
||||
if (m_guiMessageQueue) // forward to GUI if any
|
||||
{
|
||||
MsgConfigureDaemonSrc *msgToGUI = MsgConfigureDaemonSrc::create(settings, force);
|
||||
MsgConfigureDaemonSource *msgToGUI = MsgConfigureDaemonSource::create(settings, force);
|
||||
m_guiMessageQueue->push(msgToGUI);
|
||||
}
|
||||
|
||||
@ -404,7 +404,7 @@ int DaemonSrc::webapiSettingsPutPatch(
|
||||
return 200;
|
||||
}
|
||||
|
||||
int DaemonSrc::webapiReportGet(
|
||||
int DaemonSource::webapiReportGet(
|
||||
SWGSDRangel::SWGChannelReport& response,
|
||||
QString& errorMessage __attribute__((unused)))
|
||||
{
|
||||
@ -414,7 +414,7 @@ int DaemonSrc::webapiReportGet(
|
||||
return 200;
|
||||
}
|
||||
|
||||
void DaemonSrc::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& response, const DaemonSrcSettings& settings)
|
||||
void DaemonSource::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& response, const DaemonSourceSettings& settings)
|
||||
{
|
||||
if (response.getDaemonSourceSettings()->getDataAddress()) {
|
||||
*response.getDaemonSourceSettings()->getDataAddress() = settings.m_dataAddress;
|
||||
@ -432,7 +432,7 @@ void DaemonSrc::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& res
|
||||
}
|
||||
}
|
||||
|
||||
void DaemonSrc::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response)
|
||||
void DaemonSource::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response)
|
||||
{
|
||||
struct timeval tv;
|
||||
gettimeofday(&tv, 0);
|
||||
|
@ -33,30 +33,30 @@
|
||||
class ThreadedBasebandSampleSource;
|
||||
class UpChannelizer;
|
||||
class DeviceSinkAPI;
|
||||
class DaemonSrcThread;
|
||||
class DaemonSourceThread;
|
||||
class SDRDaemonDataBlock;
|
||||
|
||||
class DaemonSrc : public BasebandSampleSource, public ChannelSourceAPI {
|
||||
class DaemonSource : public BasebandSampleSource, public ChannelSourceAPI {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
class MsgConfigureDaemonSrc : public Message {
|
||||
class MsgConfigureDaemonSource : public Message {
|
||||
MESSAGE_CLASS_DECLARATION
|
||||
|
||||
public:
|
||||
const DaemonSrcSettings& getSettings() const { return m_settings; }
|
||||
const DaemonSourceSettings& getSettings() const { return m_settings; }
|
||||
bool getForce() const { return m_force; }
|
||||
|
||||
static MsgConfigureDaemonSrc* create(const DaemonSrcSettings& settings, bool force)
|
||||
static MsgConfigureDaemonSource* create(const DaemonSourceSettings& settings, bool force)
|
||||
{
|
||||
return new MsgConfigureDaemonSrc(settings, force);
|
||||
return new MsgConfigureDaemonSource(settings, force);
|
||||
}
|
||||
|
||||
private:
|
||||
DaemonSrcSettings m_settings;
|
||||
DaemonSourceSettings m_settings;
|
||||
bool m_force;
|
||||
|
||||
MsgConfigureDaemonSrc(const DaemonSrcSettings& settings, bool force) :
|
||||
MsgConfigureDaemonSource(const DaemonSourceSettings& settings, bool force) :
|
||||
Message(),
|
||||
m_settings(settings),
|
||||
m_force(force)
|
||||
@ -176,8 +176,8 @@ public:
|
||||
{ }
|
||||
};
|
||||
|
||||
DaemonSrc(DeviceSinkAPI *deviceAPI);
|
||||
~DaemonSrc();
|
||||
DaemonSource(DeviceSinkAPI *deviceAPI);
|
||||
~DaemonSource();
|
||||
|
||||
virtual void destroy() { delete this; }
|
||||
|
||||
@ -218,12 +218,12 @@ private:
|
||||
ThreadedBasebandSampleSource* m_threadedChannelizer;
|
||||
UpChannelizer* m_channelizer;
|
||||
SDRDaemonDataQueue m_dataQueue;
|
||||
DaemonSrcThread *m_sourceThread;
|
||||
DaemonSourceThread *m_sourceThread;
|
||||
CM256 m_cm256;
|
||||
CM256 *m_cm256p;
|
||||
bool m_running;
|
||||
|
||||
DaemonSrcSettings m_settings;
|
||||
DaemonSourceSettings m_settings;
|
||||
|
||||
CM256::cm256_block m_cm256DescriptorBlocks[2*SDRDaemonNbOrginalBlocks]; //!< CM256 decoder descriptors (block addresses and block indexes)
|
||||
SDRDaemonMetaDataFEC m_currentMeta;
|
||||
@ -233,11 +233,11 @@ private:
|
||||
uint32_t m_nbCorrectableErrors; //!< count of correctable errors in number of blocks
|
||||
uint32_t m_nbUncorrectableErrors; //!< count of uncorrectable errors in number of blocks
|
||||
|
||||
void applySettings(const DaemonSrcSettings& settings, bool force = false);
|
||||
void applySettings(const DaemonSourceSettings& settings, bool force = false);
|
||||
void handleDataBlock(SDRDaemonDataBlock *dataBlock);
|
||||
void printMeta(const QString& header, SDRDaemonMetaDataFEC *metaData);
|
||||
uint32_t calculateDataReadQueueSize(int sampleRate);
|
||||
void webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& response, const DaemonSrcSettings& settings);
|
||||
void webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& response, const DaemonSourceSettings& settings);
|
||||
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
|
||||
|
||||
private slots:
|
||||
|
@ -23,48 +23,48 @@
|
||||
#include "ui_daemonsrcgui.h"
|
||||
#include "daemonsrcgui.h"
|
||||
|
||||
DaemonSrcGUI* DaemonSrcGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx)
|
||||
DaemonSourceGUI* DaemonSourceGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx)
|
||||
{
|
||||
DaemonSrcGUI* gui = new DaemonSrcGUI(pluginAPI, deviceUISet, channelTx);
|
||||
DaemonSourceGUI* gui = new DaemonSourceGUI(pluginAPI, deviceUISet, channelTx);
|
||||
return gui;
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::destroy()
|
||||
void DaemonSourceGUI::destroy()
|
||||
{
|
||||
delete this;
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::setName(const QString& name)
|
||||
void DaemonSourceGUI::setName(const QString& name)
|
||||
{
|
||||
setObjectName(name);
|
||||
}
|
||||
|
||||
QString DaemonSrcGUI::getName() const
|
||||
QString DaemonSourceGUI::getName() const
|
||||
{
|
||||
return objectName();
|
||||
}
|
||||
|
||||
qint64 DaemonSrcGUI::getCenterFrequency() const {
|
||||
qint64 DaemonSourceGUI::getCenterFrequency() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::setCenterFrequency(qint64 centerFrequency __attribute__((unused)))
|
||||
void DaemonSourceGUI::setCenterFrequency(qint64 centerFrequency __attribute__((unused)))
|
||||
{
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::resetToDefaults()
|
||||
void DaemonSourceGUI::resetToDefaults()
|
||||
{
|
||||
m_settings.resetToDefaults();
|
||||
displaySettings();
|
||||
applySettings(true);
|
||||
}
|
||||
|
||||
QByteArray DaemonSrcGUI::serialize() const
|
||||
QByteArray DaemonSourceGUI::serialize() const
|
||||
{
|
||||
return m_settings.serialize();
|
||||
}
|
||||
|
||||
bool DaemonSrcGUI::deserialize(const QByteArray& data)
|
||||
bool DaemonSourceGUI::deserialize(const QByteArray& data)
|
||||
{
|
||||
if(m_settings.deserialize(data)) {
|
||||
displaySettings();
|
||||
@ -76,26 +76,26 @@ bool DaemonSrcGUI::deserialize(const QByteArray& data)
|
||||
}
|
||||
}
|
||||
|
||||
bool DaemonSrcGUI::handleMessage(const Message& message)
|
||||
bool DaemonSourceGUI::handleMessage(const Message& message)
|
||||
{
|
||||
if (DaemonSrc::MsgSampleRateNotification::match(message))
|
||||
if (DaemonSource::MsgSampleRateNotification::match(message))
|
||||
{
|
||||
DaemonSrc::MsgSampleRateNotification& notif = (DaemonSrc::MsgSampleRateNotification&) message;
|
||||
DaemonSource::MsgSampleRateNotification& notif = (DaemonSource::MsgSampleRateNotification&) message;
|
||||
m_channelMarker.setBandwidth(notif.getSampleRate());
|
||||
return true;
|
||||
}
|
||||
else if (DaemonSrc::MsgConfigureDaemonSrc::match(message))
|
||||
else if (DaemonSource::MsgConfigureDaemonSource::match(message))
|
||||
{
|
||||
const DaemonSrc::MsgConfigureDaemonSrc& cfg = (DaemonSrc::MsgConfigureDaemonSrc&) message;
|
||||
const DaemonSource::MsgConfigureDaemonSource& cfg = (DaemonSource::MsgConfigureDaemonSource&) message;
|
||||
m_settings = cfg.getSettings();
|
||||
blockApplySettings(true);
|
||||
displaySettings();
|
||||
blockApplySettings(false);
|
||||
return true;
|
||||
}
|
||||
else if (DaemonSrc::MsgReportStreamData::match(message))
|
||||
else if (DaemonSource::MsgReportStreamData::match(message))
|
||||
{
|
||||
const DaemonSrc::MsgReportStreamData& report = (DaemonSrc::MsgReportStreamData&) message;
|
||||
const DaemonSource::MsgReportStreamData& report = (DaemonSource::MsgReportStreamData&) message;
|
||||
ui->sampleRate->setText(QString("%1").arg(report.get_sampleRate()));
|
||||
QString nominalNbBlocksText = QString("%1/%2")
|
||||
.arg(report.get_nbOriginalBlocks() + report.get_nbFECBlocks())
|
||||
@ -152,9 +152,9 @@ bool DaemonSrcGUI::handleMessage(const Message& message)
|
||||
}
|
||||
}
|
||||
|
||||
DaemonSrcGUI::DaemonSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx __attribute__((unused)), QWidget* parent) :
|
||||
DaemonSourceGUI::DaemonSourceGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx __attribute__((unused)), QWidget* parent) :
|
||||
RollupWidget(parent),
|
||||
ui(new Ui::DaemonSrcGUI),
|
||||
ui(new Ui::DaemonSourceGUI),
|
||||
m_pluginAPI(pluginAPI),
|
||||
m_deviceUISet(deviceUISet),
|
||||
m_countUnrecoverable(0),
|
||||
@ -171,7 +171,7 @@ DaemonSrcGUI::DaemonSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseb
|
||||
connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool)));
|
||||
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &)));
|
||||
|
||||
m_daemonSrc = (DaemonSrc*) channelTx;
|
||||
m_daemonSrc = (DaemonSource*) channelTx;
|
||||
m_daemonSrc->setMessageQueueToGUI(getInputMessageQueue());
|
||||
|
||||
connect(&(m_deviceUISet->m_deviceSinkAPI->getMasterTimer()), SIGNAL(timeout()), this, SLOT(tick()));
|
||||
@ -185,7 +185,7 @@ DaemonSrcGUI::DaemonSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseb
|
||||
|
||||
m_settings.setChannelMarker(&m_channelMarker);
|
||||
|
||||
m_deviceUISet->registerTxChannelInstance(DaemonSrc::m_channelIdURI, this);
|
||||
m_deviceUISet->registerTxChannelInstance(DaemonSource::m_channelIdURI, this);
|
||||
m_deviceUISet->addChannelMarker(&m_channelMarker);
|
||||
m_deviceUISet->addRollupWidget(this);
|
||||
|
||||
@ -198,30 +198,30 @@ DaemonSrcGUI::DaemonSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseb
|
||||
applySettings(true);
|
||||
}
|
||||
|
||||
DaemonSrcGUI::~DaemonSrcGUI()
|
||||
DaemonSourceGUI::~DaemonSourceGUI()
|
||||
{
|
||||
m_deviceUISet->removeTxChannelInstance(this);
|
||||
delete m_daemonSrc;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::blockApplySettings(bool block)
|
||||
void DaemonSourceGUI::blockApplySettings(bool block)
|
||||
{
|
||||
m_doApplySettings = !block;
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::applySettings(bool force)
|
||||
void DaemonSourceGUI::applySettings(bool force)
|
||||
{
|
||||
if (m_doApplySettings)
|
||||
{
|
||||
setTitleColor(m_channelMarker.getColor());
|
||||
|
||||
DaemonSrc::MsgConfigureDaemonSrc* message = DaemonSrc::MsgConfigureDaemonSrc::create(m_settings, force);
|
||||
DaemonSource::MsgConfigureDaemonSource* message = DaemonSource::MsgConfigureDaemonSource::create(m_settings, force);
|
||||
m_daemonSrc->getInputMessageQueue()->push(message);
|
||||
}
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::displaySettings()
|
||||
void DaemonSourceGUI::displaySettings()
|
||||
{
|
||||
m_channelMarker.blockSignals(true);
|
||||
m_channelMarker.setCenterFrequency(0);
|
||||
@ -239,17 +239,17 @@ void DaemonSrcGUI::displaySettings()
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::leaveEvent(QEvent*)
|
||||
void DaemonSourceGUI::leaveEvent(QEvent*)
|
||||
{
|
||||
m_channelMarker.setHighlighted(false);
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::enterEvent(QEvent*)
|
||||
void DaemonSourceGUI::enterEvent(QEvent*)
|
||||
{
|
||||
m_channelMarker.setHighlighted(true);
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::handleSourceMessages()
|
||||
void DaemonSourceGUI::handleSourceMessages()
|
||||
{
|
||||
Message* message;
|
||||
|
||||
@ -262,11 +262,11 @@ void DaemonSrcGUI::handleSourceMessages()
|
||||
}
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::onWidgetRolled(QWidget* widget __attribute__((unused)), bool rollDown __attribute__((unused)))
|
||||
void DaemonSourceGUI::onWidgetRolled(QWidget* widget __attribute__((unused)), bool rollDown __attribute__((unused)))
|
||||
{
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::onMenuDialogCalled(const QPoint &p)
|
||||
void DaemonSourceGUI::onMenuDialogCalled(const QPoint &p)
|
||||
{
|
||||
BasicChannelSettingsDialog dialog(&m_channelMarker, this);
|
||||
dialog.move(p);
|
||||
@ -281,13 +281,13 @@ void DaemonSrcGUI::onMenuDialogCalled(const QPoint &p)
|
||||
applySettings();
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::on_dataAddress_returnPressed()
|
||||
void DaemonSourceGUI::on_dataAddress_returnPressed()
|
||||
{
|
||||
m_settings.m_dataAddress = ui->dataAddress->text();
|
||||
applySettings();
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::on_dataPort_returnPressed()
|
||||
void DaemonSourceGUI::on_dataPort_returnPressed()
|
||||
{
|
||||
bool dataOk;
|
||||
int dataPort = ui->dataPort->text().toInt(&dataOk);
|
||||
@ -304,7 +304,7 @@ void DaemonSrcGUI::on_dataPort_returnPressed()
|
||||
applySettings();
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::on_dataApplyButton_clicked(bool checked __attribute__((unused)))
|
||||
void DaemonSourceGUI::on_dataApplyButton_clicked(bool checked __attribute__((unused)))
|
||||
{
|
||||
m_settings.m_dataAddress = ui->dataAddress->text();
|
||||
|
||||
@ -319,7 +319,7 @@ void DaemonSrcGUI::on_dataApplyButton_clicked(bool checked __attribute__((unused
|
||||
applySettings();
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::on_eventCountsReset_clicked(bool checked __attribute__((unused)))
|
||||
void DaemonSourceGUI::on_eventCountsReset_clicked(bool checked __attribute__((unused)))
|
||||
{
|
||||
m_countUnrecoverable = 0;
|
||||
m_countRecovered = 0;
|
||||
@ -328,7 +328,7 @@ void DaemonSrcGUI::on_eventCountsReset_clicked(bool checked __attribute__((unuse
|
||||
displayEventTimer();
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::displayEventCounts()
|
||||
void DaemonSourceGUI::displayEventCounts()
|
||||
{
|
||||
QString nstr = QString("%1").arg(m_countUnrecoverable, 3, 10, QChar('0'));
|
||||
ui->eventUnrecText->setText(nstr);
|
||||
@ -336,7 +336,7 @@ void DaemonSrcGUI::displayEventCounts()
|
||||
ui->eventRecText->setText(nstr);
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::displayEventStatus(int recoverableCount, int unrecoverableCount)
|
||||
void DaemonSourceGUI::displayEventStatus(int recoverableCount, int unrecoverableCount)
|
||||
{
|
||||
|
||||
if (unrecoverableCount == 0)
|
||||
@ -353,7 +353,7 @@ void DaemonSrcGUI::displayEventStatus(int recoverableCount, int unrecoverableCou
|
||||
}
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::displayEventTimer()
|
||||
void DaemonSourceGUI::displayEventTimer()
|
||||
{
|
||||
int elapsedTimeMillis = m_time.elapsed();
|
||||
QTime recordLength(0, 0, 0, 0);
|
||||
@ -362,11 +362,11 @@ void DaemonSrcGUI::displayEventTimer()
|
||||
ui->eventCountsTimeText->setText(s_time);
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::tick()
|
||||
void DaemonSourceGUI::tick()
|
||||
{
|
||||
if (++m_tickCount == 20) // once per second
|
||||
{
|
||||
DaemonSrc::MsgQueryStreamData *msg = DaemonSrc::MsgQueryStreamData::create();
|
||||
DaemonSource::MsgQueryStreamData *msg = DaemonSource::MsgQueryStreamData::create();
|
||||
m_daemonSrc->getInputMessageQueue()->push(msg);
|
||||
|
||||
displayEventTimer();
|
||||
@ -375,6 +375,6 @@ void DaemonSrcGUI::tick()
|
||||
}
|
||||
}
|
||||
|
||||
void DaemonSrcGUI::channelMarkerChangedByCursor()
|
||||
void DaemonSourceGUI::channelMarkerChangedByCursor()
|
||||
{
|
||||
}
|
||||
|
@ -29,17 +29,17 @@
|
||||
class PluginAPI;
|
||||
class DeviceUISet;
|
||||
class BasebandSampleSource;
|
||||
class DaemonSrc;
|
||||
class DaemonSource;
|
||||
|
||||
namespace Ui {
|
||||
class DaemonSrcGUI;
|
||||
class DaemonSourceGUI;
|
||||
}
|
||||
|
||||
class DaemonSrcGUI : public RollupWidget, public PluginInstanceGUI {
|
||||
class DaemonSourceGUI : public RollupWidget, public PluginInstanceGUI {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
static DaemonSrcGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx);
|
||||
static DaemonSourceGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx);
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
@ -57,14 +57,14 @@ public slots:
|
||||
void channelMarkerChangedByCursor();
|
||||
|
||||
private:
|
||||
Ui::DaemonSrcGUI* ui;
|
||||
Ui::DaemonSourceGUI* ui;
|
||||
PluginAPI* m_pluginAPI;
|
||||
DeviceUISet* m_deviceUISet;
|
||||
ChannelMarker m_channelMarker;
|
||||
DaemonSrcSettings m_settings;
|
||||
DaemonSourceSettings m_settings;
|
||||
bool m_doApplySettings;
|
||||
|
||||
DaemonSrc* m_daemonSrc;
|
||||
DaemonSource* m_daemonSrc;
|
||||
MessageQueue m_inputMessageQueue;
|
||||
|
||||
uint32_t m_countUnrecoverable;
|
||||
@ -77,8 +77,8 @@ private:
|
||||
QTime m_time;
|
||||
uint32_t m_tickCount;
|
||||
|
||||
explicit DaemonSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent = 0);
|
||||
virtual ~DaemonSrcGUI();
|
||||
explicit DaemonSourceGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent = 0);
|
||||
virtual ~DaemonSourceGUI();
|
||||
|
||||
void blockApplySettings(bool block);
|
||||
void applySettings(bool force = false);
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>DaemonSrcGUI</class>
|
||||
<widget class="RollupWidget" name="DaemonSrcGUI">
|
||||
<class>DaemonSourceGUI</class>
|
||||
<widget class="RollupWidget" name="DaemonSourceGUI">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "daemonsrc.h"
|
||||
#include "daemonsrcplugin.h"
|
||||
|
||||
const PluginDescriptor DaemonSrcPlugin::m_pluginDescriptor = {
|
||||
const PluginDescriptor DaemonSourcePlugin::m_pluginDescriptor = {
|
||||
QString("Daemon channel source"),
|
||||
QString("4.1.0"),
|
||||
QString("(c) Edouard Griffiths, F4EXB"),
|
||||
@ -32,47 +32,47 @@ const PluginDescriptor DaemonSrcPlugin::m_pluginDescriptor = {
|
||||
QString("https://github.com/f4exb/sdrangel")
|
||||
};
|
||||
|
||||
DaemonSrcPlugin::DaemonSrcPlugin(QObject* parent) :
|
||||
DaemonSourcePlugin::DaemonSourcePlugin(QObject* parent) :
|
||||
QObject(parent),
|
||||
m_pluginAPI(0)
|
||||
{
|
||||
}
|
||||
|
||||
const PluginDescriptor& DaemonSrcPlugin::getPluginDescriptor() const
|
||||
const PluginDescriptor& DaemonSourcePlugin::getPluginDescriptor() const
|
||||
{
|
||||
return m_pluginDescriptor;
|
||||
}
|
||||
|
||||
void DaemonSrcPlugin::initPlugin(PluginAPI* pluginAPI)
|
||||
void DaemonSourcePlugin::initPlugin(PluginAPI* pluginAPI)
|
||||
{
|
||||
m_pluginAPI = pluginAPI;
|
||||
|
||||
// register source
|
||||
m_pluginAPI->registerTxChannel(DaemonSrc::m_channelIdURI, DaemonSrc::m_channelId, this);
|
||||
m_pluginAPI->registerTxChannel(DaemonSource::m_channelIdURI, DaemonSource::m_channelId, this);
|
||||
}
|
||||
|
||||
#ifdef SERVER_MODE
|
||||
PluginInstanceGUI* DaemonSrcPlugin::createTxChannelGUI(
|
||||
PluginInstanceGUI* DaemonSourcePlugin::createTxChannelGUI(
|
||||
DeviceUISet *deviceUISet __attribute__((unused)),
|
||||
BasebandSampleSource *txChannel __attribute__((unused)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
PluginInstanceGUI* DaemonSrcPlugin::createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel)
|
||||
PluginInstanceGUI* DaemonSourcePlugin::createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel)
|
||||
{
|
||||
return DaemonSrcGUI::create(m_pluginAPI, deviceUISet, txChannel);
|
||||
return DaemonSourceGUI::create(m_pluginAPI, deviceUISet, txChannel);
|
||||
}
|
||||
#endif
|
||||
|
||||
BasebandSampleSource* DaemonSrcPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI)
|
||||
BasebandSampleSource* DaemonSourcePlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI)
|
||||
{
|
||||
return new DaemonSrc(deviceAPI);
|
||||
return new DaemonSource(deviceAPI);
|
||||
}
|
||||
|
||||
ChannelSourceAPI* DaemonSrcPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI)
|
||||
ChannelSourceAPI* DaemonSourcePlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI)
|
||||
{
|
||||
return new DaemonSrc(deviceAPI);
|
||||
return new DaemonSource(deviceAPI);
|
||||
}
|
||||
|
||||
|
||||
|
@ -23,13 +23,13 @@
|
||||
class DeviceUISet;
|
||||
class BasebandSampleSource;
|
||||
|
||||
class DaemonSrcPlugin : public QObject, PluginInterface {
|
||||
class DaemonSourcePlugin : public QObject, PluginInterface {
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(PluginInterface)
|
||||
Q_PLUGIN_METADATA(IID "sdrangel.channeltx.daemonsrc")
|
||||
|
||||
public:
|
||||
explicit DaemonSrcPlugin(QObject* parent = 0);
|
||||
explicit DaemonSourcePlugin(QObject* parent = 0);
|
||||
|
||||
const PluginDescriptor& getPluginDescriptor() const;
|
||||
void initPlugin(PluginAPI* pluginAPI);
|
||||
|
@ -22,12 +22,12 @@
|
||||
#include "settings/serializable.h"
|
||||
#include "daemonsrcsettings.h"
|
||||
|
||||
DaemonSrcSettings::DaemonSrcSettings()
|
||||
DaemonSourceSettings::DaemonSourceSettings()
|
||||
{
|
||||
resetToDefaults();
|
||||
}
|
||||
|
||||
void DaemonSrcSettings::resetToDefaults()
|
||||
void DaemonSourceSettings::resetToDefaults()
|
||||
{
|
||||
m_dataAddress = "127.0.0.1";
|
||||
m_dataPort = 9090;
|
||||
@ -35,7 +35,7 @@ void DaemonSrcSettings::resetToDefaults()
|
||||
m_title = "Daemon source";
|
||||
}
|
||||
|
||||
QByteArray DaemonSrcSettings::serialize() const
|
||||
QByteArray DaemonSourceSettings::serialize() const
|
||||
{
|
||||
SimpleSerializer s(1);
|
||||
s.writeString(1, m_dataAddress);
|
||||
@ -46,7 +46,7 @@ QByteArray DaemonSrcSettings::serialize() const
|
||||
return s.final();
|
||||
}
|
||||
|
||||
bool DaemonSrcSettings::deserialize(const QByteArray& data)
|
||||
bool DaemonSourceSettings::deserialize(const QByteArray& data)
|
||||
{
|
||||
SimpleDeserializer d(data);
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
class Serializable;
|
||||
|
||||
struct DaemonSrcSettings
|
||||
struct DaemonSourceSettings
|
||||
{
|
||||
QString m_dataAddress; //!< Listening (local) data address
|
||||
uint16_t m_dataPort; //!< Listening data port
|
||||
@ -31,7 +31,7 @@ struct DaemonSrcSettings
|
||||
|
||||
Serializable *m_channelMarker;
|
||||
|
||||
DaemonSrcSettings();
|
||||
DaemonSourceSettings();
|
||||
void resetToDefaults();
|
||||
void setChannelMarker(Serializable *channelMarker) { m_channelMarker = channelMarker; }
|
||||
QByteArray serialize() const;
|
||||
|
@ -24,10 +24,10 @@
|
||||
|
||||
#include "daemonsrcthread.h"
|
||||
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSrcThread::MsgStartStop, Message)
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSrcThread::MsgDataBind, Message)
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSourceThread::MsgStartStop, Message)
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSourceThread::MsgDataBind, Message)
|
||||
|
||||
DaemonSrcThread::DaemonSrcThread(SDRDaemonDataQueue *dataQueue, QObject* parent) :
|
||||
DaemonSourceThread::DaemonSourceThread(SDRDaemonDataQueue *dataQueue, QObject* parent) :
|
||||
QThread(parent),
|
||||
m_running(false),
|
||||
m_dataQueue(dataQueue),
|
||||
@ -38,26 +38,26 @@ DaemonSrcThread::DaemonSrcThread(SDRDaemonDataQueue *dataQueue, QObject* parent)
|
||||
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
DaemonSrcThread::~DaemonSrcThread()
|
||||
DaemonSourceThread::~DaemonSourceThread()
|
||||
{
|
||||
qDebug("DaemonSrcThread::~DaemonSrcThread");
|
||||
qDebug("DaemonSourceThread::~DaemonSourceThread");
|
||||
}
|
||||
|
||||
void DaemonSrcThread::startStop(bool start)
|
||||
void DaemonSourceThread::startStop(bool start)
|
||||
{
|
||||
MsgStartStop *msg = MsgStartStop::create(start);
|
||||
m_inputMessageQueue.push(msg);
|
||||
}
|
||||
|
||||
void DaemonSrcThread::dataBind(const QString& address, uint16_t port)
|
||||
void DaemonSourceThread::dataBind(const QString& address, uint16_t port)
|
||||
{
|
||||
MsgDataBind *msg = MsgDataBind::create(address, port);
|
||||
m_inputMessageQueue.push(msg);
|
||||
}
|
||||
|
||||
void DaemonSrcThread::startWork()
|
||||
void DaemonSourceThread::startWork()
|
||||
{
|
||||
qDebug("DaemonSrcThread::startWork");
|
||||
qDebug("DaemonSourceThread::startWork");
|
||||
m_startWaitMutex.lock();
|
||||
m_socket = new QUdpSocket(this);
|
||||
start();
|
||||
@ -66,18 +66,18 @@ void DaemonSrcThread::startWork()
|
||||
m_startWaitMutex.unlock();
|
||||
}
|
||||
|
||||
void DaemonSrcThread::stopWork()
|
||||
void DaemonSourceThread::stopWork()
|
||||
{
|
||||
qDebug("DaemonSrcThread::stopWork");
|
||||
qDebug("DaemonSourceThread::stopWork");
|
||||
delete m_socket;
|
||||
m_socket = 0;
|
||||
m_running = false;
|
||||
wait();
|
||||
}
|
||||
|
||||
void DaemonSrcThread::run()
|
||||
void DaemonSourceThread::run()
|
||||
{
|
||||
qDebug("DaemonSrcThread::run: begin");
|
||||
qDebug("DaemonSourceThread::run: begin");
|
||||
m_running = true;
|
||||
m_startWaiter.wakeAll();
|
||||
|
||||
@ -87,11 +87,11 @@ void DaemonSrcThread::run()
|
||||
}
|
||||
|
||||
m_running = false;
|
||||
qDebug("DaemonSrcThread::run: end");
|
||||
qDebug("DaemonSourceThread::run: end");
|
||||
}
|
||||
|
||||
|
||||
void DaemonSrcThread::handleInputMessages()
|
||||
void DaemonSourceThread::handleInputMessages()
|
||||
{
|
||||
Message* message;
|
||||
|
||||
@ -100,7 +100,7 @@ void DaemonSrcThread::handleInputMessages()
|
||||
if (MsgStartStop::match(*message))
|
||||
{
|
||||
MsgStartStop* notif = (MsgStartStop*) message;
|
||||
qDebug("DaemonSrcThread::handleInputMessages: MsgStartStop: %s", notif->getStartStop() ? "start" : "stop");
|
||||
qDebug("DaemonSourceThread::handleInputMessages: MsgStartStop: %s", notif->getStartStop() ? "start" : "stop");
|
||||
|
||||
if (notif->getStartStop()) {
|
||||
startWork();
|
||||
@ -113,7 +113,7 @@ void DaemonSrcThread::handleInputMessages()
|
||||
else if (MsgDataBind::match(*message))
|
||||
{
|
||||
MsgDataBind* notif = (MsgDataBind*) message;
|
||||
qDebug("DaemonSrcThread::handleInputMessages: MsgDataBind: %s:%d", qPrintable(notif->getAddress().toString()), notif->getPort());
|
||||
qDebug("DaemonSourceThread::handleInputMessages: MsgDataBind: %s:%d", qPrintable(notif->getAddress().toString()), notif->getPort());
|
||||
|
||||
if (m_socket)
|
||||
{
|
||||
@ -125,7 +125,7 @@ void DaemonSrcThread::handleInputMessages()
|
||||
}
|
||||
}
|
||||
|
||||
void DaemonSrcThread::readPendingDatagrams()
|
||||
void DaemonSourceThread::readPendingDatagrams()
|
||||
{
|
||||
SDRDaemonSuperBlock superBlock;
|
||||
qint64 size;
|
||||
@ -158,7 +158,7 @@ void DaemonSrcThread::readPendingDatagrams()
|
||||
|
||||
if (superBlock.m_header.m_frameIndex != frameIndex)
|
||||
{
|
||||
//qDebug("DaemonSrcThread::readPendingDatagrams: push frame %u", frameIndex);
|
||||
//qDebug("DaemonSourceThread::readPendingDatagrams: push frame %u", frameIndex);
|
||||
m_dataQueue->push(m_dataBlocks[dataBlockIndex]);
|
||||
m_dataBlocks[dataBlockIndex] = new SDRDaemonDataBlock();
|
||||
m_dataBlocks[dataBlockIndex]->m_rxControlBlock.m_frameIndex = superBlock.m_header.m_frameIndex;
|
||||
@ -181,7 +181,7 @@ void DaemonSrcThread::readPendingDatagrams()
|
||||
}
|
||||
else
|
||||
{
|
||||
qWarning("DaemonSrcThread::readPendingDatagrams: wrong super block size not processing");
|
||||
qWarning("DaemonSourceThread::readPendingDatagrams: wrong super block size not processing");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ class SDRDaemonDataQueue;
|
||||
class SDRDaemonDataBlock;
|
||||
class QUdpSocket;
|
||||
|
||||
class DaemonSrcThread : public QThread {
|
||||
class DaemonSourceThread : public QThread {
|
||||
Q_OBJECT
|
||||
public:
|
||||
class MsgStartStop : public Message {
|
||||
@ -74,8 +74,8 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
DaemonSrcThread(SDRDaemonDataQueue *dataQueue, QObject* parent = 0);
|
||||
~DaemonSrcThread();
|
||||
DaemonSourceThread(SDRDaemonDataQueue *dataQueue, QObject* parent = 0);
|
||||
~DaemonSourceThread();
|
||||
|
||||
void startStop(bool start);
|
||||
void dataBind(const QString& address, uint16_t port);
|
||||
|
@ -2159,7 +2159,7 @@ bool WebAPIRequestMapper::validateChannelSettings(
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (*channelType == "DaemonSrc")
|
||||
else if (*channelType == "DaemonSource")
|
||||
{
|
||||
if (channelSettings.getTx() != 0)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user