1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-06-26 05:55:35 -04:00

ATV Demod: show number of points per line

This commit is contained in:
f4exb 2017-03-24 02:42:36 +01:00
parent ce7c65ae38
commit 4ef2386945
4 changed files with 36 additions and 7 deletions

View File

@ -705,7 +705,7 @@ void ATVDemod::applySettings()
{ {
m_objSettingsMutex.lock(); m_objSettingsMutex.lock();
m_objConfigPrivate.m_intTVSampleRate = (m_objConfig.m_intSampleRate / 1000000) * 1000000; // make sure working sample rate is a multiple of rate units m_objConfigPrivate.m_intTVSampleRate = (m_objConfig.m_intSampleRate / 500000) * 500000; // make sure working sample rate is a multiple of rate units
if (m_objConfigPrivate.m_intTVSampleRate > 0) if (m_objConfigPrivate.m_intTVSampleRate > 0)
{ {
@ -733,7 +733,7 @@ void ATVDemod::applySettings()
{ {
m_objSettingsMutex.lock(); m_objSettingsMutex.lock();
m_intNumberOfLines = (int) round(1.0f / (m_objConfig.m_fltLineDuration * m_objConfig.m_fltFramePerS)); m_intNumberOfLines = (int) (1.0f / (m_objConfig.m_fltLineDuration * m_objConfig.m_fltFramePerS));
m_intNumberSamplePerLine = (int) (m_objConfig.m_fltLineDuration * m_objConfig.m_intSampleRate); m_intNumberSamplePerLine = (int) (m_objConfig.m_fltLineDuration * m_objConfig.m_intSampleRate);
m_intNumberOfRowsToDisplay = (int) (m_objConfig.m_fltRatioOfRowsToDisplay * m_objConfig.m_fltLineDuration * m_objConfig.m_intSampleRate); m_intNumberOfRowsToDisplay = (int) (m_objConfig.m_fltRatioOfRowsToDisplay * m_objConfig.m_fltLineDuration * m_objConfig.m_intSampleRate);
@ -754,6 +754,11 @@ void ATVDemod::applySettings()
m_intRowsLimit=0; m_intRowsLimit=0;
m_objSettingsMutex.unlock(); m_objSettingsMutex.unlock();
int sampleRate = m_objRFConfig.m_blndecimatorEnable ? m_objConfigPrivate.m_intTVSampleRate : m_objConfig.m_intSampleRate;
MsgReportEffectiveSampleRate *report;
report = MsgReportEffectiveSampleRate::create(sampleRate, m_intNumberSamplePerLine);
getOutputMessageQueue()->push(report);
} }
if ((m_objConfigPrivate.m_intTVSampleRate != m_objRunningPrivate.m_intTVSampleRate) if ((m_objConfigPrivate.m_intTVSampleRate != m_objRunningPrivate.m_intTVSampleRate)
@ -762,7 +767,7 @@ void ATVDemod::applySettings()
{ {
int sampleRate = m_objRFConfig.m_blndecimatorEnable ? m_objConfigPrivate.m_intTVSampleRate : m_objConfig.m_intSampleRate; int sampleRate = m_objRFConfig.m_blndecimatorEnable ? m_objConfigPrivate.m_intTVSampleRate : m_objConfig.m_intSampleRate;
MsgReportEffectiveSampleRate *report; MsgReportEffectiveSampleRate *report;
report = MsgReportEffectiveSampleRate::create(sampleRate); report = MsgReportEffectiveSampleRate::create(sampleRate, m_intNumberSamplePerLine);
getOutputMessageQueue()->push(report); getOutputMessageQueue()->push(report);
} }

View File

@ -112,18 +112,21 @@ public:
public: public:
int getSampleRate() const { return m_sampleRate; } int getSampleRate() const { return m_sampleRate; }
int getNbPointsPerLine() const { return m_nbPointsPerLine; }
static MsgReportEffectiveSampleRate* create(int sampleRate) static MsgReportEffectiveSampleRate* create(int sampleRate, int nbPointsPerLine)
{ {
return new MsgReportEffectiveSampleRate(sampleRate); return new MsgReportEffectiveSampleRate(sampleRate, nbPointsPerLine);
} }
protected: protected:
int m_sampleRate; int m_sampleRate;
int m_nbPointsPerLine;
MsgReportEffectiveSampleRate(int sampleRate) : MsgReportEffectiveSampleRate(int sampleRate, int nbPointsPerLine) :
Message(), Message(),
m_sampleRate(sampleRate) m_sampleRate(sampleRate),
m_nbPointsPerLine(nbPointsPerLine)
{ } { }
}; };

View File

@ -203,7 +203,9 @@ bool ATVDemodGUI::handleMessage(const Message& objMessage)
if (ATVDemod::MsgReportEffectiveSampleRate::match(objMessage)) if (ATVDemod::MsgReportEffectiveSampleRate::match(objMessage))
{ {
int sampleRate = ((ATVDemod::MsgReportEffectiveSampleRate&)objMessage).getSampleRate(); int sampleRate = ((ATVDemod::MsgReportEffectiveSampleRate&)objMessage).getSampleRate();
int nbPointsPerLine = ((ATVDemod::MsgReportEffectiveSampleRate&)objMessage).getNbPointsPerLine();
ui->channelSampleRateText->setText(tr("%1k").arg(sampleRate/1000.0f, 0, 'f', 0)); ui->channelSampleRateText->setText(tr("%1k").arg(sampleRate/1000.0f, 0, 'f', 0));
ui->nbPointsPerLineText->setText(tr("%1p").arg(nbPointsPerLine));
setRFFiltersSlidersRange(sampleRate); setRFFiltersSlidersRange(sampleRate);
lineTimeUpdate(); lineTimeUpdate();

View File

@ -150,6 +150,25 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QLabel" name="nbPointsPerLineText">
<property name="minimumSize">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Number of points (samples) per line</string>
</property>
<property name="text">
<string>000p</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item> <item>
<widget class="Line" name="line"> <widget class="Line" name="line">
<property name="orientation"> <property name="orientation">