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 <plutosdrinputthread.h>
Public Member Functions | |
PlutoSDRInputThread (uint32_t blocksize, DevicePlutoSDRBox *plutoBox, SampleSinkFifo *sampleFifo, QObject *parent=0) | |
~PlutoSDRInputThread () | |
virtual void | startWork () |
virtual void | stopWork () |
virtual void | setDeviceSampleRate (int sampleRate) |
virtual bool | isRunning () |
void | setLog2Decimation (unsigned int log2_decim) |
void | setFcPos (int fcPos) |
Private Member Functions | |
void | run () |
void | convert (const 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... | |
int16_t * | m_bufConv |
holds I+Q values of each sample converted to host format via iio_channel_convert More... | |
uint32_t | m_blockSizeSamples |
buffer sizes in number of (I,Q) samples More... | |
SampleVector | m_convertBuffer |
vector of (I,Q) samples used for decimation and scaling conversion More... | |
SampleVector::iterator | m_convertIt |
SampleSinkFifo * | m_sampleFifo |
DSP sample FIFO (I,Q) More... | |
unsigned int | m_log2Decim |
int | m_fcPos |
float | m_phasor |
Decimators< qint32, qint16, SDR_RX_SAMP_SZ, 12 > | m_decimators |
Definition at line 31 of file plutosdrinputthread.h.
PlutoSDRInputThread::PlutoSDRInputThread | ( | uint32_t | blocksize, |
DevicePlutoSDRBox * | plutoBox, | ||
SampleSinkFifo * | sampleFifo, | ||
QObject * | parent = 0 |
||
) |
Definition at line 24 of file plutosdrinputthread.cpp.
References m_buf, and m_bufConv.
PlutoSDRInputThread::~PlutoSDRInputThread | ( | ) |
Definition at line 40 of file plutosdrinputthread.cpp.
References m_buf, and stopWork().
|
private |
Definition at line 150 of file plutosdrinputthread.cpp.
References Decimators< StorageType, T, SdrBits, InputBits >::decimate1(), Decimators< StorageType, T, SdrBits, InputBits >::decimate16_cen(), Decimators< StorageType, T, SdrBits, InputBits >::decimate16_inf(), Decimators< StorageType, T, SdrBits, InputBits >::decimate16_sup(), Decimators< StorageType, T, SdrBits, InputBits >::decimate2_cen(), Decimators< StorageType, T, SdrBits, InputBits >::decimate2_inf(), Decimators< StorageType, T, SdrBits, InputBits >::decimate2_sup(), Decimators< StorageType, T, SdrBits, InputBits >::decimate32_cen(), Decimators< StorageType, T, SdrBits, InputBits >::decimate32_inf(), Decimators< StorageType, T, SdrBits, InputBits >::decimate32_sup(), Decimators< StorageType, T, SdrBits, InputBits >::decimate4_cen(), Decimators< StorageType, T, SdrBits, InputBits >::decimate4_inf(), Decimators< StorageType, T, SdrBits, InputBits >::decimate4_sup(), Decimators< StorageType, T, SdrBits, InputBits >::decimate64_cen(), Decimators< StorageType, T, SdrBits, InputBits >::decimate64_inf(), Decimators< StorageType, T, SdrBits, InputBits >::decimate64_sup(), Decimators< StorageType, T, SdrBits, InputBits >::decimate8_cen(), Decimators< StorageType, T, SdrBits, InputBits >::decimate8_inf(), Decimators< StorageType, T, SdrBits, InputBits >::decimate8_sup(), m_convertBuffer, m_decimators, m_fcPos, m_log2Decim, m_sampleFifo, and SampleSinkFifo::write().
Referenced by run().
|
inlinevirtual |
Implements DevicePlutoSDRShared::ThreadInterface.
Definition at line 42 of file plutosdrinputthread.h.
References m_running, setFcPos(), and setLog2Decimation().
Referenced by PlutoSDRInput::applySettings().
|
private |
Definition at line 75 of file plutosdrinputthread.cpp.
References convert(), DevicePlutoSDRBox::getRxSampleSize(), DevicePlutoSDRBox::getTxSampleSize(), m_blockSizeSamples, m_buf, m_plutoBox, m_running, m_startWaiter, DevicePlutoSDRBox::rxBufferEnd(), DevicePlutoSDRBox::rxBufferFirst(), DevicePlutoSDRBox::rxBufferRefill(), and DevicePlutoSDRBox::rxBufferStep().
|
inlinevirtual |
Implements DevicePlutoSDRShared::ThreadInterface.
Definition at line 41 of file plutosdrinputthread.h.
void PlutoSDRInputThread::setFcPos | ( | int | fcPos | ) |
Definition at line 70 of file plutosdrinputthread.cpp.
References m_fcPos.
Referenced by PlutoSDRInput::applySettings(), and isRunning().
void PlutoSDRInputThread::setLog2Decimation | ( | unsigned int | log2_decim | ) |
Definition at line 65 of file plutosdrinputthread.cpp.
References m_log2Decim.
Referenced by PlutoSDRInput::applySettings(), isRunning(), and PlutoSDRInput::start().
|
virtual |
Implements DevicePlutoSDRShared::ThreadInterface.
Definition at line 46 of file plutosdrinputthread.cpp.
References m_running, m_startWaiter, and m_startWaitMutex.
Referenced by PlutoSDRInput::applySettings(), and PlutoSDRInput::start().
|
virtual |
Implements DevicePlutoSDRShared::ThreadInterface.
Definition at line 57 of file plutosdrinputthread.cpp.
References m_running.
Referenced by PlutoSDRInput::applySettings(), PlutoSDRInput::stop(), and ~PlutoSDRInputThread().
|
private |
buffer sizes in number of (I,Q) samples
Definition at line 54 of file plutosdrinputthread.h.
Referenced by run().
|
private |
holds I+Q values of each sample from devce
Definition at line 52 of file plutosdrinputthread.h.
Referenced by PlutoSDRInputThread(), run(), and ~PlutoSDRInputThread().
|
private |
holds I+Q values of each sample converted to host format via iio_channel_convert
Definition at line 53 of file plutosdrinputthread.h.
Referenced by PlutoSDRInputThread().
|
private |
vector of (I,Q) samples used for decimation and scaling conversion
Definition at line 55 of file plutosdrinputthread.h.
Referenced by convert().
|
private |
Definition at line 56 of file plutosdrinputthread.h.
|
private |
Definition at line 63 of file plutosdrinputthread.h.
Referenced by convert().
|
private |
Definition at line 60 of file plutosdrinputthread.h.
Referenced by convert(), and setFcPos().
|
private |
Definition at line 59 of file plutosdrinputthread.h.
Referenced by convert(), and setLog2Decimation().
|
private |
Definition at line 61 of file plutosdrinputthread.h.
|
private |
Definition at line 51 of file plutosdrinputthread.h.
Referenced by run().
|
private |
Definition at line 49 of file plutosdrinputthread.h.
Referenced by isRunning(), run(), startWork(), and stopWork().
|
private |
|
private |
Definition at line 48 of file plutosdrinputthread.h.
Referenced by run(), and startWork().
|
private |
Definition at line 47 of file plutosdrinputthread.h.
Referenced by startWork().