1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-07-18 16:55:36 -04:00

SDRdaemon plugin: report stream locked in UI

This commit is contained in:
f4exb 2016-02-23 14:57:40 +01:00
parent 586abc6508
commit 6b368f10b6
4 changed files with 26 additions and 5 deletions

View File

@ -39,6 +39,7 @@ SDRdaemonGui::SDRdaemonGui(PluginAPI* pluginAPI, QWidget* parent) :
m_sampleRate(0), m_sampleRate(0),
m_sampleRateStream(0), m_sampleRateStream(0),
m_centerFrequency(0), m_centerFrequency(0),
m_syncLocked(false),
m_samplesCount(0), m_samplesCount(0),
m_tickCount(0), m_tickCount(0),
m_address("127.0.0.1"), m_address("127.0.0.1"),
@ -198,6 +199,7 @@ bool SDRdaemonGui::handleMessage(const Message& message)
{ {
m_startingTimeStamp.tv_sec = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).get_tv_sec(); m_startingTimeStamp.tv_sec = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).get_tv_sec();
m_startingTimeStamp.tv_usec = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).get_tv_usec(); m_startingTimeStamp.tv_usec = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).get_tv_usec();
m_syncLocked = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).getSyncLock();
updateWithStreamTime(); updateWithStreamTime();
return true; return true;
} }
@ -300,6 +302,12 @@ void SDRdaemonGui::updateWithStreamTime()
QDateTime dt = QDateTime::fromMSecsSinceEpoch(startingTimeStampMsec); QDateTime dt = QDateTime::fromMSecsSinceEpoch(startingTimeStampMsec);
QString s_date = dt.toString("yyyy-MM-dd hh:mm:ss.zzz"); QString s_date = dt.toString("yyyy-MM-dd hh:mm:ss.zzz");
ui->absTimeText->setText(s_date); ui->absTimeText->setText(s_date);
if (m_syncLocked) {
ui->streamLocked->setStyleSheet("QToolButton { background-color : green; }");
} else {
ui->streamLocked->setStyleSheet("QToolButton { background:rgb(79,79,79); }");
}
} }
void SDRdaemonGui::tick() void SDRdaemonGui::tick()

View File

@ -54,10 +54,13 @@ private:
QTimer m_updateTimer; QTimer m_updateTimer;
SampleSource* m_sampleSource; SampleSource* m_sampleSource;
bool m_acquisition; bool m_acquisition;
int m_sampleRate; int m_sampleRate;
int m_sampleRateStream; int m_sampleRateStream;
quint64 m_centerFrequency; quint64 m_centerFrequency;
struct timeval m_startingTimeStamp; struct timeval m_startingTimeStamp;
bool m_syncLocked;
int m_samplesCount; int m_samplesCount;
std::size_t m_tickCount; std::size_t m_tickCount;

View File

@ -168,20 +168,29 @@ public:
public: public:
uint32_t get_tv_sec() const { return m_tv_sec; } uint32_t get_tv_sec() const { return m_tv_sec; }
uint32_t get_tv_usec() const { return m_tv_usec; } uint32_t get_tv_usec() const { return m_tv_usec; }
bool getSyncLock() const { return m_syncLock; }
static MsgReportSDRdaemonStreamTiming* create(uint32_t tv_sec, uint32_t tv_usec) static MsgReportSDRdaemonStreamTiming* create(uint32_t tv_sec,
uint32_t tv_usec,
bool syncLock)
{ {
return new MsgReportSDRdaemonStreamTiming(tv_sec, tv_usec); return new MsgReportSDRdaemonStreamTiming(tv_sec,
tv_usec,
syncLock);
} }
protected: protected:
uint32_t m_tv_sec; uint32_t m_tv_sec;
uint32_t m_tv_usec; uint32_t m_tv_usec;
bool m_syncLock;
MsgReportSDRdaemonStreamTiming(uint32_t tv_sec, uint32_t tv_usec) : MsgReportSDRdaemonStreamTiming(uint32_t tv_sec,
uint32_t tv_usec,
bool syncLock) :
Message(), Message(),
m_tv_sec(tv_sec), m_tv_sec(tv_sec),
m_tv_usec(tv_usec) m_tv_usec(tv_usec),
m_syncLock(syncLock)
{ } { }
}; };

View File

@ -208,7 +208,8 @@ void SDRdaemonUDPHandler::tick()
m_tickCount = 0; m_tickCount = 0;
SDRdaemonInput::MsgReportSDRdaemonStreamTiming *report = SDRdaemonInput::MsgReportSDRdaemonStreamTiming::create( SDRdaemonInput::MsgReportSDRdaemonStreamTiming *report = SDRdaemonInput::MsgReportSDRdaemonStreamTiming::create(
m_tv_sec, m_tv_sec,
m_tv_usec); m_tv_usec,
m_sdrDaemonBuffer.isSyncLocked());
m_outputMessageQueueToGUI->push(report); m_outputMessageQueueToGUI->push(report);
} }
} }