kopia lustrzana https://github.com/f4exb/sdrangel
SDRDaemonSink: fixes
rodzic
083f31aed4
commit
82cba84a50
|
@ -205,8 +205,6 @@ void SDRdaemonSinkGui::handleInputMessages()
|
||||||
|
|
||||||
while ((message = m_inputMessageQueue.pop()) != 0)
|
while ((message = m_inputMessageQueue.pop()) != 0)
|
||||||
{
|
{
|
||||||
qDebug("SDRdaemonSinkGui::handleInputMessages: message: %s", message->getIdentifier());
|
|
||||||
|
|
||||||
if (DSPSignalNotification::match(*message))
|
if (DSPSignalNotification::match(*message))
|
||||||
{
|
{
|
||||||
DSPSignalNotification* notif = (DSPSignalNotification*) message;
|
DSPSignalNotification* notif = (DSPSignalNotification*) message;
|
||||||
|
@ -418,6 +416,7 @@ void SDRdaemonSinkGui::on_interp_currentIndexChanged(int index)
|
||||||
m_settings.m_log2Interp = index;
|
m_settings.m_log2Interp = index;
|
||||||
updateSampleRateAndFrequency();
|
updateSampleRateAndFrequency();
|
||||||
sendControl();
|
sendControl();
|
||||||
|
sendSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SDRdaemonSinkGui::on_txDelay_valueChanged(int value)
|
void SDRdaemonSinkGui::on_txDelay_valueChanged(int value)
|
||||||
|
@ -506,6 +505,8 @@ void SDRdaemonSinkGui::on_applyButton_clicked(bool checked __attribute__((unused
|
||||||
{
|
{
|
||||||
m_settings.m_dataPort = udpDataPort;
|
m_settings.m_dataPort = udpDataPort;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sendSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SDRdaemonSinkGui::on_sendButton_clicked(bool checked __attribute__((unused)))
|
void SDRdaemonSinkGui::on_sendButton_clicked(bool checked __attribute__((unused)))
|
||||||
|
|
|
@ -248,22 +248,15 @@ void SDRdaemonSinkOutput::applySettings(const SDRdaemonSinkSettings& settings, b
|
||||||
|
|
||||||
if (force || (m_settings.m_address != settings.m_address) || (m_settings.m_dataPort != settings.m_dataPort))
|
if (force || (m_settings.m_address != settings.m_address) || (m_settings.m_dataPort != settings.m_dataPort))
|
||||||
{
|
{
|
||||||
m_settings.m_address = settings.m_address;
|
if (m_sdrDaemonSinkThread != 0) {
|
||||||
m_settings.m_dataPort = settings.m_dataPort;
|
m_sdrDaemonSinkThread->setRemoteAddress(settings.m_address, settings.m_dataPort);
|
||||||
|
|
||||||
if (m_sdrDaemonSinkThread != 0)
|
|
||||||
{
|
|
||||||
m_sdrDaemonSinkThread->setRemoteAddress(m_settings.m_address, m_settings.m_dataPort);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (force || (m_settings.m_centerFrequency != settings.m_centerFrequency))
|
if (force || (m_settings.m_centerFrequency != settings.m_centerFrequency))
|
||||||
{
|
{
|
||||||
m_settings.m_centerFrequency = settings.m_centerFrequency;
|
if (m_sdrDaemonSinkThread != 0) {
|
||||||
|
m_sdrDaemonSinkThread->setCenterFrequency(settings.m_centerFrequency);
|
||||||
if (m_sdrDaemonSinkThread != 0)
|
|
||||||
{
|
|
||||||
m_sdrDaemonSinkThread->setCenterFrequency(m_settings.m_centerFrequency);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
forwardChange = true;
|
forwardChange = true;
|
||||||
|
@ -271,11 +264,8 @@ void SDRdaemonSinkOutput::applySettings(const SDRdaemonSinkSettings& settings, b
|
||||||
|
|
||||||
if (force || (m_settings.m_sampleRate != settings.m_sampleRate))
|
if (force || (m_settings.m_sampleRate != settings.m_sampleRate))
|
||||||
{
|
{
|
||||||
m_settings.m_sampleRate = settings.m_sampleRate;
|
if (m_sdrDaemonSinkThread != 0) {
|
||||||
|
m_sdrDaemonSinkThread->setSamplerate(settings.m_sampleRate);
|
||||||
if (m_sdrDaemonSinkThread != 0)
|
|
||||||
{
|
|
||||||
m_sdrDaemonSinkThread->setSamplerate(m_settings.m_sampleRate);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
forwardChange = true;
|
forwardChange = true;
|
||||||
|
@ -284,17 +274,13 @@ void SDRdaemonSinkOutput::applySettings(const SDRdaemonSinkSettings& settings, b
|
||||||
|
|
||||||
if (force || (m_settings.m_log2Interp != settings.m_log2Interp))
|
if (force || (m_settings.m_log2Interp != settings.m_log2Interp))
|
||||||
{
|
{
|
||||||
m_settings.m_log2Interp = settings.m_log2Interp;
|
|
||||||
forwardChange = true;
|
forwardChange = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (force || (m_settings.m_nbFECBlocks != settings.m_nbFECBlocks))
|
if (force || (m_settings.m_nbFECBlocks != settings.m_nbFECBlocks))
|
||||||
{
|
{
|
||||||
m_settings.m_nbFECBlocks = settings.m_nbFECBlocks;
|
if (m_sdrDaemonSinkThread != 0) {
|
||||||
|
m_sdrDaemonSinkThread->setNbBlocksFEC(settings.m_nbFECBlocks);
|
||||||
if (m_sdrDaemonSinkThread != 0)
|
|
||||||
{
|
|
||||||
m_sdrDaemonSinkThread->setNbBlocksFEC(m_settings.m_nbFECBlocks);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
changeTxDelay = true;
|
changeTxDelay = true;
|
||||||
|
@ -302,13 +288,12 @@ void SDRdaemonSinkOutput::applySettings(const SDRdaemonSinkSettings& settings, b
|
||||||
|
|
||||||
if (force || (m_settings.m_txDelay != settings.m_txDelay))
|
if (force || (m_settings.m_txDelay != settings.m_txDelay))
|
||||||
{
|
{
|
||||||
m_settings.m_txDelay = settings.m_txDelay;
|
|
||||||
changeTxDelay = true;
|
changeTxDelay = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changeTxDelay)
|
if (changeTxDelay)
|
||||||
{
|
{
|
||||||
double delay = ((127*127*m_settings.m_txDelay) / m_settings.m_sampleRate)/(128 + m_settings.m_nbFECBlocks);
|
double delay = ((127*127*settings.m_txDelay) / settings.m_sampleRate)/(128 + settings.m_nbFECBlocks);
|
||||||
qDebug("SDRdaemonSinkOutput::applySettings: Tx delay: %f us", delay*1e6);
|
qDebug("SDRdaemonSinkOutput::applySettings: Tx delay: %f us", delay*1e6);
|
||||||
|
|
||||||
if (m_sdrDaemonSinkThread != 0)
|
if (m_sdrDaemonSinkThread != 0)
|
||||||
|
@ -323,19 +308,22 @@ void SDRdaemonSinkOutput::applySettings(const SDRdaemonSinkSettings& settings, b
|
||||||
|
|
||||||
mutexLocker.unlock();
|
mutexLocker.unlock();
|
||||||
|
|
||||||
qDebug("SDRdaemonSinkOutput::applySettings: %s m_centerFrequency: %llu m_sampleRate: %llu m_log2Interp: %d m_txDelay: %f m_nbFECBlocks: %d",
|
qDebug() << "SDRdaemonSinkOutput::applySettings:"
|
||||||
forwardChange ? "forward change" : "",
|
<< " m_centerFrequency: " << settings.m_centerFrequency
|
||||||
m_settings.m_centerFrequency,
|
<< " m_sampleRate: " << settings.m_sampleRate
|
||||||
m_settings.m_sampleRate,
|
<< " m_log2Interp: " << settings.m_log2Interp
|
||||||
m_settings.m_log2Interp,
|
<< " m_txDelay: " << settings.m_txDelay
|
||||||
m_settings.m_txDelay,
|
<< " m_nbFECBlocks: " << settings.m_nbFECBlocks
|
||||||
m_settings.m_nbFECBlocks);
|
<< " m_address: " << settings.m_address
|
||||||
|
<< " m_dataPort: " << settings.m_dataPort;
|
||||||
|
|
||||||
if (forwardChange)
|
if (forwardChange)
|
||||||
{
|
{
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(m_settings.m_sampleRate, m_settings.m_centerFrequency);
|
DSPSignalNotification *notif = new DSPSignalNotification(settings.m_sampleRate, settings.m_centerFrequency);
|
||||||
m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif);
|
m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SDRdaemonSinkOutput::webapiRunGet(
|
int SDRdaemonSinkOutput::webapiRunGet(
|
||||||
|
|
|
@ -25,12 +25,12 @@ SDRdaemonSinkSettings::SDRdaemonSinkSettings()
|
||||||
void SDRdaemonSinkSettings::resetToDefaults()
|
void SDRdaemonSinkSettings::resetToDefaults()
|
||||||
{
|
{
|
||||||
m_centerFrequency = 435000*1000;
|
m_centerFrequency = 435000*1000;
|
||||||
m_sampleRate = 192000;
|
m_sampleRate = 48000;
|
||||||
m_log2Interp = 4;
|
m_log2Interp = 0;
|
||||||
m_txDelay = 0.5;
|
m_txDelay = 0.5;
|
||||||
m_nbFECBlocks = 0;
|
m_nbFECBlocks = 0;
|
||||||
m_address = "127.0.0.1";
|
m_address = "127.0.0.1";
|
||||||
m_dataPort = 9092;
|
m_dataPort = 9090;
|
||||||
m_controlPort = 9093;
|
m_controlPort = 9093;
|
||||||
m_specificParameters = "";
|
m_specificParameters = "";
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue