27 m_blockSizeSamples(blocksizeSamples),
28 m_sampleFifo(sampleFifo),
31 m_buf =
new qint16[blocksizeSamples*2];
69 qDebug(
"PlutoSDROutputThread::run: txBufferStep: %ld bytes", p_inc);
72 qDebug(
"PlutoSDROutputThread::run: nominal nbytes_tx is %d bytes",
m_blockSizeSamples*4);
103 qDebug(
"PlutoSDROutputThread::run: error pushing buf %d / %d", (
int) nbytes_tx, (
int) 4*
m_blockSizeSamples);
118 SampleVector::iterator beginRead;
DevicePlutoSDRBox * m_plutoBox
int16_t * m_buf
holds I+Q values of each sample from devce
PlutoSDROutputThread(uint32_t blocksize, DevicePlutoSDRBox *plutoBox, SampleSourceFifo *sampleFifo, QObject *parent=0)
uint32_t m_blockSizeSamples
buffer sizes in number of (I,Q) samples
std::ptrdiff_t txBufferStep()
void txChannelConvert(int16_t *dst, int16_t *src)
unsigned int m_log2Interp
void interpolate64_cen(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate32_cen(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate8_cen(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate2_cen(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void readAdvance(SampleVector::iterator &readUntil, unsigned int nbSamples)
SampleSourceFifo * m_sampleFifo
DSP sample FIFO (I,Q)
Interpolators< qint16, SDR_TX_SAMP_SZ, 16 > m_interpolators
Pluto is on 12 bit but iio_channel_convert_inverse converts from 16 to 12 bits.
ssize_t getRxSampleSize()
void interpolate1(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate16_cen(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate4_cen(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
ssize_t getTxSampleSize()
void convert(qint16 *buf, qint32 len)
QWaitCondition m_startWaiter
void setLog2Interpolation(unsigned int log2_interp)