diff --git a/plugins/samplesource/limesdrinput/limesdrinput.cpp b/plugins/samplesource/limesdrinput/limesdrinput.cpp index 70038f522..e090655cd 100644 --- a/plugins/samplesource/limesdrinput/limesdrinput.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinput.cpp @@ -443,42 +443,39 @@ bool LimeSDRInput::handleMessage(const Message& message) } else if (MsgGetDeviceInfo::match(message)) { - if (m_deviceAPI->isBuddyLeader()) + double temp = 0.0; + + if (m_deviceShared.m_deviceParams->getDevice() && (LMS_GetChipTemperature(m_deviceShared.m_deviceParams->getDevice(), 0, &temp) == 0)) { - double temp = 0.0; + //qDebug("LimeSDRInput::handleMessage: MsgGetDeviceInfo: temperature: %f", temp); + } + else + { + qDebug("LimeSDRInput::handleMessage: MsgGetDeviceInfo: cannot get temperature"); + } - if (m_deviceShared.m_deviceParams->getDevice() && (LMS_GetChipTemperature(m_deviceShared.m_deviceParams->getDevice(), 0, &temp) == 0)) - { - //qDebug("LimeSDRInput::handleMessage: MsgGetDeviceInfo: temperature: %f", temp); - } - else - { - qDebug("LimeSDRInput::handleMessage: MsgGetDeviceInfo: cannot get temperature"); - } + // send to oneself + DeviceLimeSDRShared::MsgReportDeviceInfo *report = DeviceLimeSDRShared::MsgReportDeviceInfo::create(temp); + m_deviceAPI->getDeviceOutputMessageQueue()->push(report); - // send to oneself + // send to source buddies + const std::vector& sourceBuddies = m_deviceAPI->getSourceBuddies(); + std::vector::const_iterator itSource = sourceBuddies.begin(); + + for (; itSource != sourceBuddies.end(); ++itSource) + { DeviceLimeSDRShared::MsgReportDeviceInfo *report = DeviceLimeSDRShared::MsgReportDeviceInfo::create(temp); - m_deviceAPI->getDeviceOutputMessageQueue()->push(report); + (*itSource)->getDeviceOutputMessageQueue()->push(report); + } - // send to source buddies - const std::vector& sourceBuddies = m_deviceAPI->getSourceBuddies(); - std::vector::const_iterator itSource = sourceBuddies.begin(); + // send to sink buddies + const std::vector& sinkBuddies = m_deviceAPI->getSinkBuddies(); + std::vector::const_iterator itSink = sinkBuddies.begin(); - for (; itSource != sourceBuddies.end(); ++itSource) - { - DeviceLimeSDRShared::MsgReportDeviceInfo *report = DeviceLimeSDRShared::MsgReportDeviceInfo::create(temp); - (*itSource)->getDeviceOutputMessageQueue()->push(report); - } - - // send to sink buddies - const std::vector& sinkBuddies = m_deviceAPI->getSinkBuddies(); - std::vector::const_iterator itSink = sinkBuddies.begin(); - - for (; itSink != sinkBuddies.end(); ++itSink) - { - DeviceLimeSDRShared::MsgReportDeviceInfo *report = DeviceLimeSDRShared::MsgReportDeviceInfo::create(temp); - (*itSink)->getDeviceOutputMessageQueue()->push(report); - } + for (; itSink != sinkBuddies.end(); ++itSink) + { + DeviceLimeSDRShared::MsgReportDeviceInfo *report = DeviceLimeSDRShared::MsgReportDeviceInfo::create(temp); + (*itSink)->getDeviceOutputMessageQueue()->push(report); } return true; diff --git a/plugins/samplesource/limesdrinput/limesdrinputgui.cpp b/plugins/samplesource/limesdrinput/limesdrinputgui.cpp index a48aadc63..36f852422 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputgui.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinputgui.cpp @@ -348,8 +348,12 @@ void LimeSDRInputGUI::updateStatus() } else { - LimeSDRInput::MsgGetDeviceInfo* message = LimeSDRInput::MsgGetDeviceInfo::create(); - m_sampleSource->getInputMessageQueue()->push(message); + if (m_deviceAPI->isBuddyLeader()) + { + LimeSDRInput::MsgGetDeviceInfo* message = LimeSDRInput::MsgGetDeviceInfo::create(); + m_sampleSource->getInputMessageQueue()->push(message); + } + m_deviceStatusCounter = 0; } }