SDRAngel
4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
|
#include <plutosdroutputthread.h>
Public Member Functions | |
PlutoSDROutputThread (uint32_t blocksize, DevicePlutoSDRBox *plutoBox, SampleSourceFifo *sampleFifo, QObject *parent=0) | |
~PlutoSDROutputThread () | |
virtual void | startWork () |
virtual void | stopWork () |
virtual void | setDeviceSampleRate (int sampleRate) |
virtual bool | isRunning () |
void | setLog2Interpolation (unsigned int log2_interp) |
Private Member Functions | |
void | run () |
void | convert (qint16 *buf, qint32 len) |
Private Attributes | |
QMutex | m_startWaitMutex |
QWaitCondition | m_startWaiter |
bool | m_running |
DevicePlutoSDRBox * | m_plutoBox |
int16_t * | m_buf |
holds I+Q values of each sample from devce More... | |
uint32_t | m_blockSizeSamples |
buffer sizes in number of (I,Q) samples More... | |
SampleSourceFifo * | m_sampleFifo |
DSP sample FIFO (I,Q) More... | |
unsigned int | m_log2Interp |
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. More... | |
Definition at line 31 of file plutosdroutputthread.h.
PlutoSDROutputThread::PlutoSDROutputThread | ( | uint32_t | blocksize, |
DevicePlutoSDRBox * | plutoBox, | ||
SampleSourceFifo * | sampleFifo, | ||
QObject * | parent = 0 |
||
) |
Definition at line 23 of file plutosdroutputthread.cpp.
References m_buf.
PlutoSDROutputThread::~PlutoSDROutputThread | ( | ) |
Definition at line 35 of file plutosdroutputthread.cpp.
References m_buf, and stopWork().
|
private |
Definition at line 115 of file plutosdroutputthread.cpp.
References Interpolators< T, SdrBits, OutputBits >::interpolate1(), Interpolators< T, SdrBits, OutputBits >::interpolate16_cen(), Interpolators< T, SdrBits, OutputBits >::interpolate2_cen(), Interpolators< T, SdrBits, OutputBits >::interpolate32_cen(), Interpolators< T, SdrBits, OutputBits >::interpolate4_cen(), Interpolators< T, SdrBits, OutputBits >::interpolate64_cen(), Interpolators< T, SdrBits, OutputBits >::interpolate8_cen(), m_interpolators, m_log2Interp, m_sampleFifo, and SampleSourceFifo::readAdvance().
Referenced by run().
|
inlinevirtual |
Implements DevicePlutoSDRShared::ThreadInterface.
Definition at line 42 of file plutosdroutputthread.h.
References m_running, and setLog2Interpolation().
Referenced by PlutoSDROutput::applySettings().
|
private |
Definition at line 65 of file plutosdroutputthread.cpp.
References convert(), DevicePlutoSDRBox::getRxSampleSize(), DevicePlutoSDRBox::getTxSampleSize(), m_blockSizeSamples, m_buf, m_plutoBox, m_running, m_startWaiter, DevicePlutoSDRBox::txBufferEnd(), DevicePlutoSDRBox::txBufferFirst(), DevicePlutoSDRBox::txBufferPush(), DevicePlutoSDRBox::txBufferStep(), and DevicePlutoSDRBox::txChannelConvert().
|
inlinevirtual |
Implements DevicePlutoSDRShared::ThreadInterface.
Definition at line 41 of file plutosdroutputthread.h.
void PlutoSDROutputThread::setLog2Interpolation | ( | unsigned int | log2_interp | ) |
Definition at line 60 of file plutosdroutputthread.cpp.
References m_log2Interp.
Referenced by PlutoSDROutput::applySettings(), isRunning(), and PlutoSDROutput::start().
|
virtual |
Implements DevicePlutoSDRShared::ThreadInterface.
Definition at line 41 of file plutosdroutputthread.cpp.
References m_running, m_startWaiter, and m_startWaitMutex.
Referenced by PlutoSDROutput::applySettings(), and PlutoSDROutput::start().
|
virtual |
Implements DevicePlutoSDRShared::ThreadInterface.
Definition at line 52 of file plutosdroutputthread.cpp.
References m_running.
Referenced by PlutoSDROutput::applySettings(), PlutoSDROutput::stop(), and ~PlutoSDROutputThread().
|
private |
buffer sizes in number of (I,Q) samples
Definition at line 53 of file plutosdroutputthread.h.
Referenced by run().
|
private |
holds I+Q values of each sample from devce
Definition at line 51 of file plutosdroutputthread.h.
Referenced by PlutoSDROutputThread(), run(), and ~PlutoSDROutputThread().
|
private |
Pluto is on 12 bit but iio_channel_convert_inverse converts from 16 to 12 bits.
Definition at line 58 of file plutosdroutputthread.h.
Referenced by convert().
|
private |
Definition at line 56 of file plutosdroutputthread.h.
Referenced by convert(), and setLog2Interpolation().
|
private |
Definition at line 50 of file plutosdroutputthread.h.
Referenced by run().
|
private |
Definition at line 48 of file plutosdroutputthread.h.
Referenced by isRunning(), run(), startWork(), and stopWork().
|
private |
DSP sample FIFO (I,Q)
Definition at line 54 of file plutosdroutputthread.h.
Referenced by convert().
|
private |
Definition at line 47 of file plutosdroutputthread.h.
Referenced by run(), and startWork().
|
private |
Definition at line 46 of file plutosdroutputthread.h.
Referenced by startWork().