diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp b/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp index 65ce17e70..e4c188c90 100644 --- a/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp +++ b/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp @@ -342,10 +342,10 @@ void BladerfOutputGui::updateStatus() ui->startStop->setStyleSheet("QToolButton { background-color : blue; }"); break; case DSPDeviceSinkEngine::StRunning: - ui->startStop->setStyleSheet("QToolButton { background-color : red; }"); + ui->startStop->setStyleSheet("QToolButton { background-color : green; }"); break; case DSPDeviceSinkEngine::StError: - ui->startStop->setStyleSheet("QToolButton { background-color : magenta; }"); + ui->startStop->setStyleSheet("QToolButton { background-color : red; }"); QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage()); break; default: diff --git a/plugins/samplesink/filesink/filesinkgui.cpp b/plugins/samplesink/filesink/filesinkgui.cpp index cb6b1d13c..f1436f637 100644 --- a/plugins/samplesink/filesink/filesinkgui.cpp +++ b/plugins/samplesink/filesink/filesinkgui.cpp @@ -227,10 +227,10 @@ void FileSinkGui::updateStatus() ui->startStop->setStyleSheet("QToolButton { background-color : blue; }"); break; case DSPDeviceSinkEngine::StRunning: - ui->startStop->setStyleSheet("QToolButton { background-color : red; }"); + ui->startStop->setStyleSheet("QToolButton { background-color : green; }"); break; case DSPDeviceSinkEngine::StError: - ui->startStop->setStyleSheet("QToolButton { background-color : magenta; }"); + ui->startStop->setStyleSheet("QToolButton { background-color : red; }"); QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage()); break; default: diff --git a/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp b/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp index 978199235..2794c1fde 100644 --- a/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp +++ b/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp @@ -305,10 +305,10 @@ void HackRFOutputGui::updateStatus() ui->startStop->setStyleSheet("QToolButton { background-color : blue; }"); break; case DSPDeviceSinkEngine::StRunning: - ui->startStop->setStyleSheet("QToolButton { background-color : red; }"); + ui->startStop->setStyleSheet("QToolButton { background-color : green; }"); break; case DSPDeviceSinkEngine::StError: - ui->startStop->setStyleSheet("QToolButton { background-color : magenta; }"); + ui->startStop->setStyleSheet("QToolButton { background-color : red; }"); QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage()); break; default: diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.cpp b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.cpp index 06d68a943..3b3a4e4c2 100644 --- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.cpp +++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.cpp @@ -60,7 +60,11 @@ SDRdaemonSinkGui::SDRdaemonSinkGui(DeviceSinkAPI *deviceAPI, QWidget* parent) : nn_setsockopt (m_nnSender, NN_SOL_SOCKET, NN_SNDTIMEO, &millis, sizeof (millis)); assert (rc == 0); - ui->setupUi(this); + m_paletteGreenText.setColor(QPalette::WindowText, Qt::green); + m_paletteRedText.setColor(QPalette::WindowText, Qt::red); + m_paletteWhiteText.setColor(QPalette::WindowText, Qt::white); + + ui->setupUi(this); ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold)); ui->centerFrequency->setValueRange(7, 0, pow(10,7)); @@ -354,10 +358,10 @@ void SDRdaemonSinkGui::updateStatus() ui->startStop->setStyleSheet("QToolButton { background-color : blue; }"); break; case DSPDeviceSinkEngine::StRunning: - ui->startStop->setStyleSheet("QToolButton { background-color : red; }"); + ui->startStop->setStyleSheet("QToolButton { background-color : green; }"); break; case DSPDeviceSinkEngine::StError: - ui->startStop->setStyleSheet("QToolButton { background-color : magenta; }"); + ui->startStop->setStyleSheet("QToolButton { background-color : red; }"); QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage()); break; default: @@ -536,9 +540,11 @@ void SDRdaemonSinkGui::tick() if ((len > 0) && msgBuf) { std::string msg((char *) msgBuf, len); + //qDebug("SDRdaemonSinkGui::tick: %s", msg.c_str()); std::vector strs; boost::split(strs, msg, boost::is_any_of(":")); unsigned int nbTokens = strs.size(); + unsigned int status = 0; if (nbTokens > 0) // at least the queue length is given { @@ -583,9 +589,26 @@ void SDRdaemonSinkGui::tick() } } - if (nbTokens > 1) // the quality indicator is given also + if (nbTokens > 1) // the quality status is given also { - ui->qualityStatusText->setText(QString::fromStdString(strs[1])); + if (strs[1] == "2") { + status = 2; + } else if (strs[1] == "1") { + status = 1; + } + } + + if (nbTokens > 2) // the quality indicator message is given also + { + ui->qualityStatusText->setText(QString::fromStdString(strs[2])); + } + + if (status == 2) { // all OK + ui->allFramesDecoded->setStyleSheet("QToolButton { background-color : green; }"); + } else if (status == 1) { // unrecoverable errors + ui->allFramesDecoded->setStyleSheet("QToolButton { background-color : red; }"); + } else { // recoverable errors or unknown status + ui->allFramesDecoded->setStyleSheet("QToolButton { background:rgb(56,56,56); }"); } } } diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.h b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.h index 31bf5fbcb..79267ae23 100644 --- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.h +++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.h @@ -69,6 +69,10 @@ private: int m_nnSender; + QPalette m_paletteGreenText; + QPalette m_paletteRedText; + QPalette m_paletteWhiteText; + void blockApplySettings(bool block); void displaySettings(); void displayTime(); diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.ui b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.ui index 7490b497f..91ddc45b1 100644 --- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.ui +++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.ui @@ -6,7 +6,7 @@ 0 0 - 372 + 380 217 @@ -18,7 +18,7 @@ - 372 + 380 190 @@ -419,9 +419,19 @@ - + + + false + + + Frames status: green = all original received, none = some recovered by FEC, red = some lost + - Q: + + + + + :/locked.png:/locked.png @@ -429,15 +439,73 @@ - 80 + 50 0 - Transmitter average number of blocks received / average number of blocks used for recovery + Tx status since last poll: minimum of blocks received / maximum number of blocks used for recovery - 100.0/100.0 + 100/100 + + + + + + + + 22 + 16777215 + + + + Event counts reset + + + 0 + + + + + + + + 18 + 0 + + + + Number of uncrecoverable errors since event counts reset + + + 00 + + + + + + + + 18 + 0 + + + + Number of correctable errors since event counts reset + + + 00 + + + + + + + Time since last event counts reset + + + 00:00:00