mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-04-06 03:29:12 -04:00
SDRDaemon: fixed passing number of sample bits and sample bytes
This commit is contained in:
parent
cfd414073e
commit
0ae5955b76
plugins
channelrx/daemonsink
samplesink/sdrdaemonsink
samplesource/sdrdaemonsource
@ -114,8 +114,8 @@ void DaemonSink::feed(const SampleVector::const_iterator& begin, const SampleVec
|
||||
|
||||
metaData.m_centerFrequency = m_centerFrequency;
|
||||
metaData.m_sampleRate = m_sampleRate;
|
||||
metaData.m_sampleBytes = m_sampleBytes;
|
||||
metaData.m_sampleBits = 0; // TODO: deprecated
|
||||
metaData.m_sampleBytes = m_sampleBytes & 0xF;
|
||||
metaData.m_sampleBits = SDR_RX_SAMP_SZ;
|
||||
metaData.m_nbOriginalBlocks = SDRDaemonNbOrginalBlocks;
|
||||
metaData.m_nbFECBlocks = m_nbBlocksFEC;
|
||||
metaData.m_tv_sec = tv.tv_sec;
|
||||
|
@ -29,8 +29,8 @@ MESSAGE_CLASS_DEFINITION(UDPSinkFECWorker::MsgConfigureRemoteAddress, Message)
|
||||
|
||||
UDPSinkFEC::UDPSinkFEC() :
|
||||
m_sampleRate(48000),
|
||||
m_sampleBytes(1),
|
||||
m_sampleBits(8),
|
||||
m_sampleBytes(SDR_TX_SAMP_SZ == 24 ? 4 : 2),
|
||||
m_sampleBits(SDR_TX_SAMP_SZ),
|
||||
m_nbSamples(0),
|
||||
m_nbBlocksFEC(0),
|
||||
m_txDelay(0),
|
||||
@ -104,7 +104,7 @@ void UDPSinkFEC::write(const SampleVector::iterator& begin, uint32_t sampleChunk
|
||||
// create meta data TODO: semaphore
|
||||
metaData.m_centerFrequency = 0; // frequency not set by stream
|
||||
metaData.m_sampleRate = m_sampleRate;
|
||||
metaData.m_sampleBytes = m_sampleBytes;
|
||||
metaData.m_sampleBytes = m_sampleBytes & 0xF;
|
||||
metaData.m_sampleBits = m_sampleBits;
|
||||
metaData.m_nbOriginalBlocks = m_nbOriginalBlocks;
|
||||
metaData.m_nbFECBlocks = m_nbBlocksFEC;
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user