1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 13:47:01 -04:00

SDRDaemon: fixed passing number of sample bits and sample bytes

This commit is contained in:
f4exb
2018-09-09 17:39:36 +02:00
parent cfd414073e
commit 0ae5955b76
7 changed files with 33 additions and 10 deletions
@@ -56,6 +56,7 @@ SDRdaemonSourceGui::SDRdaemonSourceGui(DeviceUISet *deviceUISet, QWidget* parent
m_bufferGauge(-50),
m_nbOriginalBlocks(128),
m_nbFECBlocks(0),
m_sampleBits(16),
m_samplesCount(0),
m_tickCount(0),
m_addressEdited(false),
@@ -209,6 +210,7 @@ bool SDRdaemonSourceGui::handleMessage(const Message& message)
m_avgNbOriginalBlocks = ((SDRdaemonSourceInput::MsgReportSDRdaemonSourceStreamTiming&)message).getAvgNbOriginalBlocks();
m_avgNbRecovery = ((SDRdaemonSourceInput::MsgReportSDRdaemonSourceStreamTiming&)message).getAvgNbRecovery();
m_nbOriginalBlocks = ((SDRdaemonSourceInput::MsgReportSDRdaemonSourceStreamTiming&)message).getNbOriginalBlocksPerFrame();
m_sampleBits = ((SDRdaemonSourceInput::MsgReportSDRdaemonSourceStreamTiming&)message).getSampleBits();
int nbFECBlocks = ((SDRdaemonSourceInput::MsgReportSDRdaemonSourceStreamTiming&)message).getNbFECBlocksPerFrame();
@@ -493,6 +495,8 @@ void SDRdaemonSourceGui::updateWithStreamTime()
QString s1 = QString("%1").arg(m_nbFECBlocks, 2, 10, QChar('0'));
ui->nominalNbBlocksText->setText(tr("%1/%2").arg(s).arg(s1));
ui->sampleBitsText->setText(tr("%1b").arg(m_sampleBits));
if (updateEventCounts)
{
displayEventCounts();
@@ -85,6 +85,7 @@ private:
float m_avgNbRecovery;
int m_nbOriginalBlocks;
int m_nbFECBlocks;
int m_sampleBits;
int m_samplesCount;
std::size_t m_tickCount;
@@ -373,6 +373,16 @@
</item>
<item>
<layout class="QHBoxLayout" name="streamLayout">
<item>
<widget class="QLabel" name="sampleBitsText">
<property name="toolTip">
<string>Sample size (bits)</string>
</property>
<property name="text">
<string>16b</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="nominalNbBlocksText">
<property name="minimumSize">
@@ -140,6 +140,7 @@ public:
float getAvgNbRecovery() const { return m_avgNbRecovery; }
int getNbOriginalBlocksPerFrame() const { return m_nbOriginalBlocksPerFrame; }
int getNbFECBlocksPerFrame() const { return m_nbFECBlocksPerFrame; }
int getSampleBits() const { return m_sampleBits; }
static MsgReportSDRdaemonSourceStreamTiming* create(uint32_t tv_sec,
uint32_t tv_usec,
@@ -154,7 +155,8 @@ public:
float avgNbOriginalBlocks,
float avgNbRecovery,
int nbOriginalBlocksPerFrame,
int nbFECBlocksPerFrame)
int nbFECBlocksPerFrame,
int sampleBits)
{
return new MsgReportSDRdaemonSourceStreamTiming(tv_sec,
tv_usec,
@@ -169,7 +171,8 @@ public:
avgNbOriginalBlocks,
avgNbRecovery,
nbOriginalBlocksPerFrame,
nbFECBlocksPerFrame);
nbFECBlocksPerFrame,
sampleBits);
}
protected:
@@ -187,6 +190,7 @@ public:
float m_avgNbRecovery;
int m_nbOriginalBlocksPerFrame;
int m_nbFECBlocksPerFrame;
int m_sampleBits;
MsgReportSDRdaemonSourceStreamTiming(uint32_t tv_sec,
uint32_t tv_usec,
@@ -201,7 +205,8 @@ public:
float avgNbOriginalBlocks,
float avgNbRecovery,
int nbOriginalBlocksPerFrame,
int nbFECBlocksPerFrame) :
int nbFECBlocksPerFrame,
int sampleBits) :
Message(),
m_tv_sec(tv_sec),
m_tv_usec(tv_usec),
@@ -216,7 +221,8 @@ public:
m_avgNbOriginalBlocks(avgNbOriginalBlocks),
m_avgNbRecovery(avgNbRecovery),
m_nbOriginalBlocksPerFrame(nbOriginalBlocksPerFrame),
m_nbFECBlocksPerFrame(nbFECBlocksPerFrame)
m_nbFECBlocksPerFrame(nbFECBlocksPerFrame),
m_sampleBits(sampleBits)
{ }
};
@@ -307,6 +307,7 @@ void SDRdaemonSourceUDPHandler::tick()
int minNbOriginalBlocks = m_sdrDaemonBuffer.getMinOriginalBlocks();
int nbOriginalBlocks = m_sdrDaemonBuffer.getCurrentMeta().m_nbOriginalBlocks;
int nbFECblocks = m_sdrDaemonBuffer.getCurrentMeta().m_nbFECBlocks;
int sampleBits = m_sdrDaemonBuffer.getCurrentMeta().m_sampleBits;
//framesDecodingStatus = (minNbOriginalBlocks == nbOriginalBlocks ? 2 : (minNbOriginalBlocks < nbOriginalBlocks - nbFECblocks ? 0 : 1));
if (minNbBlocks < nbOriginalBlocks) {
@@ -331,7 +332,8 @@ void SDRdaemonSourceUDPHandler::tick()
m_sdrDaemonBuffer.getAvgOriginalBlocks(),
m_sdrDaemonBuffer.getAvgNbRecovery(),
nbOriginalBlocks,
nbFECblocks);
nbFECblocks,
sampleBits);
m_outputMessageQueueToGUI->push(report);
}