29 m_sampleFifo(sampleFifo),
53 qDebug(
"HackRFOutputThread::stopWork");
76 if (hackrf_is_streaming(
m_dev) == HACKRF_TRUE)
78 qDebug(
"HackRFInputThread::run: HackRF is streaming already");
82 qDebug(
"HackRFInputThread::run: HackRF is not streaming");
86 if (rc == HACKRF_SUCCESS)
88 qDebug(
"HackRFOutputThread::run: started HackRF Tx");
92 qDebug(
"HackRFOutputThread::run: failed to start HackRF Tx: %s", hackrf_error_name(rc));
101 if (hackrf_is_streaming(
m_dev) == HACKRF_TRUE)
103 rc = (hackrf_error) hackrf_stop_tx(
m_dev);
105 if (rc == HACKRF_SUCCESS)
107 qDebug(
"HackRFOutputThread::run: stopped HackRF Tx");
111 qDebug(
"HackRFOutputThread::run: failed to stop HackRF Tx: %s", hackrf_error_name(rc));
121 SampleVector::iterator beginRead;
215 qint32 bytes_to_write = transfer->valid_length;
216 thread->
callback((qint8 *) transfer->buffer, bytes_to_write);
Interpolators< qint8, SDR_TX_SAMP_SZ, 8 > m_interpolators
void interpolate64_sup(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate64_cen(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
unsigned int m_log2Interp
void interpolate8_inf(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate32_inf(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate32_cen(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate4_inf(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)
QWaitCondition m_startWaiter
void setLog2Interpolation(unsigned int log2_interp)
SampleSourceFifo * m_sampleFifo
HackRFOutputThread(hackrf_device *dev, SampleSourceFifo *sampleFifo, QObject *parent=NULL)
static int tx_callback(hackrf_transfer *transfer)
void interpolate16_inf(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate2_sup(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate2_inf(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate1(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate16_sup(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void interpolate32_sup(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
void callback(qint8 *buf, qint32 len)
void interpolate8_sup(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)
void interpolate64_inf(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)
qint8 m_buf[2 *HACKRF_BLOCKSIZE]
void interpolate4_sup(SampleVector::iterator *it, T *buf, qint32 len, bool invertIQ=false)