1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-05-24 11:12:27 -04:00

SDRdaemonSink: control communication (1)

This commit is contained in:
f4exb 2017-05-22 00:04:54 +02:00
parent 3d691ab416
commit d3d8871b7c
6 changed files with 37 additions and 22 deletions

View File

@ -45,6 +45,7 @@ target_link_libraries(outputsdrdaemonsink
${QT_LIBRARIES} ${QT_LIBRARIES}
sdrbase sdrbase
${CM256CC_LIBRARIES} ${CM256CC_LIBRARIES}
${LIBNANOMSG_LIBRARIES}
) )
qt5_use_modules(outputsdrdaemonsink Core Widgets) qt5_use_modules(outputsdrdaemonsink Core Widgets)

View File

@ -170,12 +170,12 @@ void SDRdaemonSinkGui::handleDSPMessages()
while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0) while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0)
{ {
qDebug("FileSinkGui::handleDSPMessages: message: %s", message->getIdentifier()); qDebug("SDRdaemonSinkGui::handleDSPMessages: message: %s", message->getIdentifier());
if (DSPSignalNotification::match(*message)) if (DSPSignalNotification::match(*message))
{ {
DSPSignalNotification* notif = (DSPSignalNotification*) message; DSPSignalNotification* notif = (DSPSignalNotification*) message;
qDebug("FileSinkGui::handleDSPMessages: SampleRate:%d, CenterFrequency:%llu", notif->getSampleRate(), notif->getCenterFrequency()); qDebug("SDRdaemonSinkGui::handleDSPMessages: SampleRate:%d, CenterFrequency:%llu", notif->getSampleRate(), notif->getCenterFrequency());
m_sampleRate = notif->getSampleRate(); m_sampleRate = notif->getSampleRate();
m_deviceCenterFrequency = notif->getCenterFrequency(); m_deviceCenterFrequency = notif->getCenterFrequency();
updateSampleRateAndFrequency(); updateSampleRateAndFrequency();
@ -296,12 +296,17 @@ void SDRdaemonSinkGui::sendControl(bool force)
if (rc != config_size) if (rc != config_size)
{ {
QMessageBox::information(this, tr("Message"), tr("Cannot send message to remote control port")); //QMessageBox::information(this, tr("Message"), tr("Cannot send message to remote control port"));
qDebug() << "SDRdaemonSinkGui::sendControl: Cannot send message to remote control port."
<< " remoteAddress: " << m_settings.m_address
<< " remotePort: " << m_settings.m_controlPort
<< " message: " << os.str().c_str();
} }
else else
{ {
qDebug() << "SDRdaemonSinkGui::sendControl:" qDebug() << "SDRdaemonSinkGui::sendControl:"
<< "remoteAddress:" << m_settings.m_address << "remoteAddress:" << m_settings.m_address
<< "remotePort:" << m_settings.m_controlPort
<< "message:" << os.str().c_str(); << "message:" << os.str().c_str();
} }
} }
@ -323,7 +328,7 @@ void SDRdaemonSinkGui::sendSettings()
void SDRdaemonSinkGui::updateHardware() void SDRdaemonSinkGui::updateHardware()
{ {
qDebug() << "FileSinkGui::updateHardware"; qDebug() << "SDRdaemonSinkGui::updateHardware";
SDRdaemonSinkOutput::MsgConfigureSDRdaemonSink* message = SDRdaemonSinkOutput::MsgConfigureSDRdaemonSink::create(m_settings); SDRdaemonSinkOutput::MsgConfigureSDRdaemonSink* message = SDRdaemonSinkOutput::MsgConfigureSDRdaemonSink::create(m_settings);
m_deviceSampleSink->getInputMessageQueue()->push(message); m_deviceSampleSink->getInputMessageQueue()->push(message);
m_updateTimer.stop(); m_updateTimer.stop();
@ -401,14 +406,14 @@ void SDRdaemonSinkGui::on_nbFECBlocks_valueChanged(int value)
sendSettings(); sendSettings();
} }
void SDRdaemonSinkGui::on_address_textEdited(const QString& arg1) void SDRdaemonSinkGui::on_address_returnPressed()
{ {
m_settings.m_address = ui->address->text(); m_settings.m_address = ui->address->text();
sendControl(); sendControl();
sendSettings(); sendSettings();
} }
void SDRdaemonSinkGui::on_dataPort_textEdited(const QString& arg1) void SDRdaemonSinkGui::on_dataPort_returnPressed()
{ {
bool dataOk; bool dataOk;
int udpDataPort = ui->dataPort->text().toInt(&dataOk); int udpDataPort = ui->dataPort->text().toInt(&dataOk);
@ -425,10 +430,10 @@ void SDRdaemonSinkGui::on_dataPort_textEdited(const QString& arg1)
sendSettings(); sendSettings();
} }
void SDRdaemonSinkGui::on_controlPort_textEdited(const QString& arg1) void SDRdaemonSinkGui::on_controlPort_returnPressed()
{ {
bool ctlOk; bool ctlOk;
int udpCtlPort = ui->dataPort->text().toInt(&ctlOk); int udpCtlPort = ui->controlPort->text().toInt(&ctlOk);
if((!ctlOk) || (udpCtlPort < 1024) || (udpCtlPort > 65535)) if((!ctlOk) || (udpCtlPort < 1024) || (udpCtlPort > 65535))
{ {
@ -442,7 +447,7 @@ void SDRdaemonSinkGui::on_controlPort_textEdited(const QString& arg1)
sendControl(); sendControl();
} }
void SDRdaemonSinkGui::on_specificParms_textEdited(const QString& arg1) void SDRdaemonSinkGui::on_specificParms_returnPressed()
{ {
m_settings.m_specificParameters = ui->specificParms->text(); m_settings.m_specificParameters = ui->specificParms->text();
sendControl(); sendControl();
@ -464,7 +469,7 @@ void SDRdaemonSinkGui::on_startStop_toggled(bool checked)
{ {
if (!m_deviceAPI->startGeneration()) if (!m_deviceAPI->startGeneration())
{ {
qDebug("FileSinkGui::on_startStop_toggled: device start failed"); qDebug("SDRdaemonSinkGui::on_startStop_toggled: device start failed");
} }
DSPEngine::instance()->startAudioInput(); DSPEngine::instance()->startAudioInput();

View File

@ -83,10 +83,10 @@ private slots:
void on_interp_currentIndexChanged(int index); void on_interp_currentIndexChanged(int index);
void on_txDelay_valueChanged(int value); void on_txDelay_valueChanged(int value);
void on_nbFECBlocks_valueChanged(int value); void on_nbFECBlocks_valueChanged(int value);
void on_address_textEdited(const QString& arg1); void on_address_returnPressed();
void on_dataPort_textEdited(const QString& arg1); void on_dataPort_returnPressed();
void on_controlPort_textEdited(const QString& arg1); void on_controlPort_returnPressed();
void on_specificParms_textEdited(const QString& arg1); void on_specificParms_returnPressed();
void on_applyButton_clicked(bool checked); void on_applyButton_clicked(bool checked);
void on_sendButton_clicked(bool checked); void on_sendButton_clicked(bool checked);
void on_startStop_toggled(bool checked); void on_startStop_toggled(bool checked);

View File

@ -435,9 +435,12 @@
<property name="toolTip"> <property name="toolTip">
<string>Remote data connection IP address</string> <string>Remote data connection IP address</string>
</property> </property>
<property name="text"> <property name="inputMask">
<string>000.000.000.000</string> <string>000.000.000.000</string>
</property> </property>
<property name="text">
<string>0...</string>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -452,8 +455,11 @@
<property name="toolTip"> <property name="toolTip">
<string>Remote data connection port</string> <string>Remote data connection port</string>
</property> </property>
<property name="inputMask">
<string>00000</string>
</property>
<property name="text"> <property name="text">
<string>0000</string> <string>0</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@ -472,9 +478,12 @@
<property name="toolTip"> <property name="toolTip">
<string>Remote control port</string> <string>Remote control port</string>
</property> </property>
<property name="text"> <property name="inputMask">
<string>00000</string> <string>00000</string>
</property> </property>
<property name="text">
<string>0</string>
</property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property> </property>

View File

@ -109,7 +109,7 @@ bool SDRdaemonSinkOutput::handleMessage(const Message& message)
{ {
if (MsgConfigureSDRdaemonSink::match(message)) if (MsgConfigureSDRdaemonSink::match(message))
{ {
qDebug() << "FileSinkOutput::handleMessage: MsgConfigureFileSink"; qDebug() << "SDRdaemonSinkOutput::handleMessage: MsgConfigureFileSink";
MsgConfigureSDRdaemonSink& conf = (MsgConfigureSDRdaemonSink&) message; MsgConfigureSDRdaemonSink& conf = (MsgConfigureSDRdaemonSink&) message;
applySettings(conf.getSettings(), false); applySettings(conf.getSettings(), false);
return true; return true;
@ -219,7 +219,7 @@ void SDRdaemonSinkOutput::applySettings(const SDRdaemonSinkSettings& settings, b
mutexLocker.unlock(); mutexLocker.unlock();
qDebug("FileSinkOutput::applySettings: %s m_centerFrequency: %llu m_sampleRate: %llu m_log2Interp: %d m_txDelay: %d m_nbFECBlocks: %d", qDebug("SDRdaemonSinkOutput::applySettings: %s m_centerFrequency: %llu m_sampleRate: %llu m_log2Interp: %d m_txDelay: %d m_nbFECBlocks: %d",
forwardChange ? "forward change" : "", forwardChange ? "forward change" : "",
m_settings.m_centerFrequency, m_settings.m_centerFrequency,
m_settings.m_sampleRate, m_settings.m_sampleRate,

View File

@ -31,7 +31,7 @@ void SDRdaemonSinkSettings::resetToDefaults()
m_nbFECBlocks = 0; m_nbFECBlocks = 0;
m_address = "127.0.0.1"; m_address = "127.0.0.1";
m_dataPort = 9090; m_dataPort = 9090;
m_controlPort = 9090; m_controlPort = 9091;
m_specificParameters = ""; m_specificParameters = "";
} }