1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-02-03 09:44:01 -05: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_sampleRateStream(0),
m_centerFrequency(0),
m_syncLocked(false),
m_samplesCount(0),
m_tickCount(0),
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_usec = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).get_tv_usec();
m_syncLocked = ((SDRdaemonInput::MsgReportSDRdaemonStreamTiming&)message).getSyncLock();
updateWithStreamTime();
return true;
}
@ -300,6 +302,12 @@ void SDRdaemonGui::updateWithStreamTime()
QDateTime dt = QDateTime::fromMSecsSinceEpoch(startingTimeStampMsec);
QString s_date = dt.toString("yyyy-MM-dd hh:mm:ss.zzz");
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()

View File

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

View File

@ -168,20 +168,29 @@ public:
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; }
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:
uint32_t m_tv_sec;
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(),
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;
SDRdaemonInput::MsgReportSDRdaemonStreamTiming *report = SDRdaemonInput::MsgReportSDRdaemonStreamTiming::create(
m_tv_sec,
m_tv_usec);
m_tv_usec,
m_sdrDaemonBuffer.isSyncLocked());
m_outputMessageQueueToGUI->push(report);
}
}