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 <bladerf2outputthread.h>
Inherits QThread.
Classes | |
struct | Channel |
Public Member Functions | |
BladeRF2OutputThread (struct bladerf *dev, unsigned int nbTxChannels, QObject *parent=0) | |
~BladeRF2OutputThread () | |
void | startWork () |
void | stopWork () |
bool | isRunning () const |
unsigned int | getNbChannels () const |
void | setLog2Interpolation (unsigned int channel, unsigned int log2_interp) |
unsigned int | getLog2Interpolation (unsigned int channel) const |
void | setFifo (unsigned int channel, SampleSourceFifo *sampleFifo) |
SampleSourceFifo * | getFifo (unsigned int channel) |
Private Member Functions | |
void | run () |
unsigned int | getNbFifos () |
void | callbackSO (qint16 *buf, qint32 len, unsigned int channel=0) |
void | callbackMO (qint16 *buf, qint32 samplesPerChannel) |
Private Attributes | |
QMutex | m_startWaitMutex |
QWaitCondition | m_startWaiter |
bool | m_running |
struct bladerf * | m_dev |
Channel * | m_channels |
Array of channels dynamically allocated for the given number of Tx channels. More... | |
qint16 * | m_buf |
Full buffer for SISO or MIMO operation. More... | |
unsigned int | m_nbChannels |
Definition at line 31 of file bladerf2outputthread.h.
BladeRF2OutputThread::BladeRF2OutputThread | ( | struct bladerf * | dev, |
unsigned int | nbTxChannels, | ||
QObject * | parent = 0 |
||
) |
Definition at line 24 of file bladerf2outputthread.cpp.
References DeviceBladeRF2::blockSize, m_buf, and m_channels.
BladeRF2OutputThread::~BladeRF2OutputThread | ( | ) |
Definition at line 35 of file bladerf2outputthread.cpp.
References m_buf, m_channels, m_running, and stopWork().
|
private |
Definition at line 170 of file bladerf2outputthread.cpp.
References callbackSO(), m_channels, and m_nbChannels.
Referenced by run().
|
private |
Definition at line 192 of file bladerf2outputthread.cpp.
References SampleSourceFifo::getRWBalance(), 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_channels, BladeRF2OutputThread::Channel::m_interpolators, BladeRF2OutputThread::Channel::m_sampleFifo, and SampleSourceFifo::readAdvance().
Referenced by callbackMO(), and run().
SampleSourceFifo * BladeRF2OutputThread::getFifo | ( | unsigned int | channel | ) |
Definition at line 161 of file bladerf2outputthread.cpp.
References m_channels, m_nbChannels, and BladeRF2OutputThread::Channel::m_sampleFifo.
Referenced by BladeRF2Output::applySettings(), getNbChannels(), BladeRF2Output::start(), and BladeRF2Output::stop().
unsigned int BladeRF2OutputThread::getLog2Interpolation | ( | unsigned int | channel | ) | const |
Definition at line 145 of file bladerf2outputthread.cpp.
References m_channels, BladeRF2OutputThread::Channel::m_log2Interp, and m_nbChannels.
Referenced by getNbChannels(), BladeRF2Output::start(), and BladeRF2Output::stop().
|
inline |
Definition at line 41 of file bladerf2outputthread.h.
References getFifo(), getLog2Interpolation(), m_nbChannels, setFifo(), and setLog2Interpolation().
Referenced by BladeRF2Output::getNbChannels(), BladeRF2Output::start(), and BladeRF2Output::stop().
|
private |
Definition at line 124 of file bladerf2outputthread.cpp.
References i, m_channels, and m_nbChannels.
Referenced by run().
|
inline |
|
private |
Definition at line 65 of file bladerf2outputthread.cpp.
References DeviceBladeRF2::blockSize, callbackMO(), callbackSO(), getNbFifos(), m_buf, m_dev, m_nbChannels, m_running, and m_startWaiter.
void BladeRF2OutputThread::setFifo | ( | unsigned int | channel, |
SampleSourceFifo * | sampleFifo | ||
) |
Definition at line 154 of file bladerf2outputthread.cpp.
References m_channels, m_nbChannels, and BladeRF2OutputThread::Channel::m_sampleFifo.
Referenced by BladeRF2Output::applySettings(), getNbChannels(), BladeRF2Output::start(), and BladeRF2Output::stop().
void BladeRF2OutputThread::setLog2Interpolation | ( | unsigned int | channel, |
unsigned int | log2_interp | ||
) |
Definition at line 138 of file bladerf2outputthread.cpp.
References m_channels, BladeRF2OutputThread::Channel::m_log2Interp, and m_nbChannels.
Referenced by BladeRF2Output::applySettings(), getNbChannels(), BladeRF2Output::start(), and BladeRF2Output::stop().
void BladeRF2OutputThread::startWork | ( | ) |
Definition at line 47 of file bladerf2outputthread.cpp.
References m_running, m_startWaiter, and m_startWaitMutex.
Referenced by BladeRF2Output::start(), and BladeRF2Output::stop().
void BladeRF2OutputThread::stopWork | ( | ) |
Definition at line 59 of file bladerf2outputthread.cpp.
References m_running.
Referenced by BladeRF2Output::start(), BladeRF2Output::stop(), and ~BladeRF2OutputThread().
|
private |
Full buffer for SISO or MIMO operation.
Definition at line 69 of file bladerf2outputthread.h.
Referenced by BladeRF2OutputThread(), run(), and ~BladeRF2OutputThread().
|
private |
Array of channels dynamically allocated for the given number of Tx channels.
Definition at line 68 of file bladerf2outputthread.h.
Referenced by BladeRF2OutputThread(), callbackMO(), callbackSO(), getFifo(), getLog2Interpolation(), getNbFifos(), setFifo(), setLog2Interpolation(), and ~BladeRF2OutputThread().
|
private |
Definition at line 66 of file bladerf2outputthread.h.
Referenced by run().
|
private |
Definition at line 70 of file bladerf2outputthread.h.
Referenced by callbackMO(), getFifo(), getLog2Interpolation(), getNbChannels(), getNbFifos(), run(), setFifo(), and setLog2Interpolation().
|
private |
Definition at line 65 of file bladerf2outputthread.h.
Referenced by isRunning(), run(), startWork(), stopWork(), and ~BladeRF2OutputThread().
|
private |
Definition at line 64 of file bladerf2outputthread.h.
Referenced by run(), and startWork().
|
private |
Definition at line 63 of file bladerf2outputthread.h.
Referenced by startWork().