From 16c3e3e72fc9eb80a8fa536972e3b72e42afedf6 Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 23 Feb 2016 18:09:20 +0100 Subject: [PATCH] SDRdaemon plugin: report frame soze in UI. Reorganized UI --- .../samplesource/sdrdaemon/sdrdaemonbuffer.h | 1 + .../samplesource/sdrdaemon/sdrdaemongui.cpp | 4 + plugins/samplesource/sdrdaemon/sdrdaemongui.h | 1 + .../samplesource/sdrdaemon/sdrdaemongui.ui | 282 +++++++++--------- .../samplesource/sdrdaemon/sdrdaemoninput.h | 14 +- .../sdrdaemon/sdrdaemonudphandler.cpp | 3 +- 6 files changed, 167 insertions(+), 138 deletions(-) diff --git a/plugins/samplesource/sdrdaemon/sdrdaemonbuffer.h b/plugins/samplesource/sdrdaemon/sdrdaemonbuffer.h index cb1b5fcf8..2f35f48bf 100644 --- a/plugins/samplesource/sdrdaemon/sdrdaemonbuffer.h +++ b/plugins/samplesource/sdrdaemon/sdrdaemonbuffer.h @@ -72,6 +72,7 @@ public: void updateBlockCounts(uint32_t nbBytesReceived); bool isSync() const { return m_sync; } bool isSyncLocked() const { return m_syncLock; } + uint32_t getFrameSize() const { return m_frameSize; } static const int m_udpPayloadSize; static const int m_sampleSize; diff --git a/plugins/samplesource/sdrdaemon/sdrdaemongui.cpp b/plugins/samplesource/sdrdaemon/sdrdaemongui.cpp index 28ef410d4..4d0317877 100644 --- a/plugins/samplesource/sdrdaemon/sdrdaemongui.cpp +++ b/plugins/samplesource/sdrdaemon/sdrdaemongui.cpp @@ -200,6 +200,7 @@ bool SDRdaemonGui::handleMessage(const Message& message) m_startingTimeStamp.tv_sec = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).get_tv_sec(); m_startingTimeStamp.tv_usec = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).get_tv_usec(); m_syncLocked = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).getSyncLock(); + m_frameSize = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).getFrameSize(); updateWithStreamTime(); return true; } @@ -308,6 +309,9 @@ void SDRdaemonGui::updateWithStreamTime() } else { ui->streamLocked->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); } + + QString s = QString::number(m_frameSize / 1024.0, 'f', 0); + ui->frameSizeText->setText(tr("%1").arg(s)); } void SDRdaemonGui::tick() diff --git a/plugins/samplesource/sdrdaemon/sdrdaemongui.h b/plugins/samplesource/sdrdaemon/sdrdaemongui.h index 2f307b38e..2f024d39e 100644 --- a/plugins/samplesource/sdrdaemon/sdrdaemongui.h +++ b/plugins/samplesource/sdrdaemon/sdrdaemongui.h @@ -60,6 +60,7 @@ private: quint64 m_centerFrequency; struct timeval m_startingTimeStamp; bool m_syncLocked; + uint32_t m_frameSize; int m_samplesCount; std::size_t m_tickCount; diff --git a/plugins/samplesource/sdrdaemon/sdrdaemongui.ui b/plugins/samplesource/sdrdaemon/sdrdaemongui.ui index c432e8a4d..5d863e957 100644 --- a/plugins/samplesource/sdrdaemon/sdrdaemongui.ui +++ b/plugins/samplesource/sdrdaemon/sdrdaemongui.ui @@ -2,19 +2,11 @@ SDRdaemonGui - - - 0 - 0 - 375 - 207 - - - - - 0 - 0 - + + + 360 + 0 + @@ -104,87 +96,43 @@ - + Qt::Horizontal - + - - - - 50 - 0 - + + + Auto Corr + + + + - Nominal sample rate from stream data (kS/s) + DC Offset auto correction - 00000 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + DC - - - Qt::Vertical - - - - - - - - 70 - 0 - - + - Actual sample rate (kS/s) + IQ Imbalance auto correction - 0000.000 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + IQ - - - Qt::Vertical - - - - - - - - 40 - 0 - - - - Sample rate skew from stream nominal rate (%) - - - -00.00 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - + Qt::Horizontal @@ -196,13 +144,6 @@ - - - - Qt::Vertical - - - @@ -219,14 +160,14 @@ - + Qt::Horizontal - + @@ -264,12 +205,114 @@ - + Qt::Vertical + + + + + 50 + 0 + + + + Nominal sample rate from stream data (kS/s) + + + 00000 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Vertical + + + + + + + + 70 + 0 + + + + Actual sample rate (kS/s) + + + 0000.000 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Vertical + + + + + + + + 50 + 0 + + + + Sample rate skew from stream nominal rate (%) + + + -00.00 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Vertical + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Horizontal + + + + + @@ -291,7 +334,7 @@ - 40 + 50 0 @@ -306,6 +349,13 @@ + + + + Qt::Vertical + + + @@ -325,6 +375,13 @@ + + + + Qt::Vertical + + + @@ -345,58 +402,14 @@ - + - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Horizontal - - - - - - - - - Auto corr + Qt::Vertical - - - DC Offset auto correction - - - DC Offset - - - - - - - IQ Imbalance auto correction - - - IQ Imbalance - - - - - + Qt::Horizontal @@ -433,7 +446,7 @@ - 120 + 150 0 @@ -457,10 +470,10 @@ true - + 50 - 0 + 16777215 @@ -469,6 +482,9 @@ 9090 + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + diff --git a/plugins/samplesource/sdrdaemon/sdrdaemoninput.h b/plugins/samplesource/sdrdaemon/sdrdaemoninput.h index 7f4451df8..29a4f9d89 100644 --- a/plugins/samplesource/sdrdaemon/sdrdaemoninput.h +++ b/plugins/samplesource/sdrdaemon/sdrdaemoninput.h @@ -169,28 +169,34 @@ public: uint32_t get_tv_sec() const { return m_tv_sec; } uint32_t get_tv_usec() const { return m_tv_usec; } bool getSyncLock() const { return m_syncLock; } + uint32_t getFrameSize() const { return m_frameSize; } static MsgReportSDRdaemonStreamTiming* create(uint32_t tv_sec, uint32_t tv_usec, - bool syncLock) + bool syncLock, + uint32_t frameSize) { return new MsgReportSDRdaemonStreamTiming(tv_sec, tv_usec, - syncLock); + syncLock, + frameSize); } protected: uint32_t m_tv_sec; uint32_t m_tv_usec; bool m_syncLock; + uint32_t m_frameSize; MsgReportSDRdaemonStreamTiming(uint32_t tv_sec, uint32_t tv_usec, - bool syncLock) : + bool syncLock, + uint32_t frameSize) : Message(), m_tv_sec(tv_sec), m_tv_usec(tv_usec), - m_syncLock(syncLock) + m_syncLock(syncLock), + m_frameSize(frameSize) { } }; diff --git a/plugins/samplesource/sdrdaemon/sdrdaemonudphandler.cpp b/plugins/samplesource/sdrdaemon/sdrdaemonudphandler.cpp index d5c907fb2..26bb5ad07 100644 --- a/plugins/samplesource/sdrdaemon/sdrdaemonudphandler.cpp +++ b/plugins/samplesource/sdrdaemon/sdrdaemonudphandler.cpp @@ -209,7 +209,8 @@ void SDRdaemonUDPHandler::tick() SDRdaemonInput::MsgReportSDRdaemonStreamTiming *report = SDRdaemonInput::MsgReportSDRdaemonStreamTiming::create( m_tv_sec, m_tv_usec, - m_sdrDaemonBuffer.isSyncLocked()); + m_sdrDaemonBuffer.isSyncLocked(), + m_sdrDaemonBuffer.getFrameSize()); m_outputMessageQueueToGUI->push(report); } }