mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-11-04 05:30:32 -05:00 
			
		
		
		
	PlutoSDRBox: use channels registered at contruction time
This commit is contained in:
		
							parent
							
								
									b04cc965e1
								
							
						
					
					
						commit
						54222ff016
					
				@ -36,16 +36,12 @@ DevicePlutoSDRBox::DevicePlutoSDRBox(const std::string& uri) :
 | 
				
			|||||||
        m_lpfFIRlog2Decim(0),
 | 
					        m_lpfFIRlog2Decim(0),
 | 
				
			||||||
        m_lpfFIRRxGain(0),
 | 
					        m_lpfFIRRxGain(0),
 | 
				
			||||||
        m_lpfFIRTxGain(0),
 | 
					        m_lpfFIRTxGain(0),
 | 
				
			||||||
        m_ctx(0),
 | 
					        m_ctx(nullptr),
 | 
				
			||||||
        m_devPhy(0),
 | 
					        m_devPhy(nullptr),
 | 
				
			||||||
        m_devRx(0),
 | 
					        m_devRx(nullptr),
 | 
				
			||||||
        m_devTx(0),
 | 
					        m_devTx(nullptr),
 | 
				
			||||||
        m_chnRx0i(0),
 | 
					        m_rxBuf(nullptr),
 | 
				
			||||||
        m_chnRx0q(0),
 | 
					        m_txBuf(nullptr),
 | 
				
			||||||
        m_chnTx0i(0),
 | 
					 | 
				
			||||||
        m_chnTx0q(0),
 | 
					 | 
				
			||||||
        m_rxBuf(0),
 | 
					 | 
				
			||||||
        m_txBuf(0),
 | 
					 | 
				
			||||||
        m_xoInitial(0),
 | 
					        m_xoInitial(0),
 | 
				
			||||||
        m_temp(0.0f)
 | 
					        m_temp(0.0f)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -64,16 +60,40 @@ DevicePlutoSDRBox::DevicePlutoSDRBox(const std::string& uri) :
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    m_valid = m_ctx && m_devPhy && m_devRx && m_devTx;
 | 
					    m_valid = m_ctx && m_devPhy && m_devRx && m_devTx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (m_valid) {
 | 
					    if (m_valid)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        std::regex channelIdReg("voltage([0-9]+)");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        getXO();
 | 
					        getXO();
 | 
				
			||||||
//        int nb_channels = iio_device_get_channels_count(m_devRx);
 | 
					        int nbRxChannels = iio_device_get_channels_count(m_devRx);
 | 
				
			||||||
//        for (int i = 0; i < nb_channels; i++) {
 | 
					
 | 
				
			||||||
//            iio_channel_disable(iio_device_get_channel(m_devRx, i));
 | 
					        for (int i = 0; i < nbRxChannels; i++)
 | 
				
			||||||
//        }
 | 
					        {
 | 
				
			||||||
//        nb_channels = iio_device_get_channels_count(m_devTx);
 | 
					            iio_channel *chn = iio_device_get_channel(m_devRx, i);
 | 
				
			||||||
//        for (int i = 0; i < nb_channels; i++) {
 | 
					            std::string channelId(iio_channel_get_id(chn));
 | 
				
			||||||
//            iio_channel_disable(iio_device_get_channel(m_devTx, i));
 | 
					
 | 
				
			||||||
//        }
 | 
					            if (std::regex_match(channelId, channelIdReg))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                m_rxChannelIds.append(QString(channelId.c_str()));
 | 
				
			||||||
 | 
					                m_rxChannels.append(chn);
 | 
				
			||||||
 | 
					                qDebug("DevicePlutoSDRBox::DevicePlutoSDRBox: Rx: %s", channelId.c_str());
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        int nbTxChannels = iio_device_get_channels_count(m_devTx);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for (int i = 0; i < nbTxChannels; i++)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            iio_channel *chn = iio_device_get_channel(m_devTx, i);
 | 
				
			||||||
 | 
					            std::string channelId(iio_channel_get_id(chn));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (std::regex_match(channelId, channelIdReg))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                m_txChannelIds.append(QString(channelId.c_str()));
 | 
				
			||||||
 | 
					                m_txChannels.append(chn);
 | 
				
			||||||
 | 
					                qDebug("DevicePlutoSDRBox::DevicePlutoSDRBox: Tx: %s", channelId.c_str());
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -259,14 +279,11 @@ bool DevicePlutoSDRBox::openRx()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    if (!m_valid) { return false; }
 | 
					    if (!m_valid) { return false; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!m_chnRx0i) {
 | 
					    if (m_rxChannels.size() > 0)
 | 
				
			||||||
        m_chnRx0i = iio_device_find_channel(m_devRx, "voltage0", false);
 | 
					    {
 | 
				
			||||||
    }
 | 
					        iio_channel_enable(m_rxChannels.at(0));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (m_chnRx0i) {
 | 
					        const struct iio_data_format *df = iio_channel_get_data_format(m_rxChannels.at(0));
 | 
				
			||||||
        iio_channel_enable(m_chnRx0i);
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        const struct iio_data_format *df = iio_channel_get_data_format(m_chnRx0i);
 | 
					 | 
				
			||||||
        qDebug("DevicePlutoSDRBox::openRx channel I: length: %u bits: %u shift: %u signed: %s be: %s with_scale: %s scale: %lf repeat: %u",
 | 
					        qDebug("DevicePlutoSDRBox::openRx channel I: length: %u bits: %u shift: %u signed: %s be: %s with_scale: %s scale: %lf repeat: %u",
 | 
				
			||||||
                df->length,
 | 
					                df->length,
 | 
				
			||||||
                df->bits,
 | 
					                df->bits,
 | 
				
			||||||
@ -276,19 +293,18 @@ bool DevicePlutoSDRBox::openRx()
 | 
				
			|||||||
                df->with_scale? "true" : "false",
 | 
					                df->with_scale? "true" : "false",
 | 
				
			||||||
                df->scale,
 | 
					                df->scale,
 | 
				
			||||||
                df->repeat);
 | 
					                df->repeat);
 | 
				
			||||||
    } else {
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
        std::cerr << "DevicePlutoSDRBox::openRx: failed" << std::endl;
 | 
					        std::cerr << "DevicePlutoSDRBox::openRx: failed" << std::endl;
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!m_chnRx0q) {
 | 
					    if (m_rxChannels.size() > 1)
 | 
				
			||||||
        m_chnRx0q = iio_device_find_channel(m_devRx, "voltage1", false);
 | 
					    {
 | 
				
			||||||
    }
 | 
					        iio_channel_enable(m_rxChannels.at(1));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (m_chnRx0q) {
 | 
					        const struct iio_data_format* df = iio_channel_get_data_format(m_rxChannels.at(1));
 | 
				
			||||||
        iio_channel_enable(m_chnRx0q);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        const struct iio_data_format* df = iio_channel_get_data_format(m_chnRx0q);
 | 
					 | 
				
			||||||
        qDebug("DevicePlutoSDRBox::openRx channel Q: length: %u bits: %u shift: %u signed: %s be: %s with_scale: %s scale: %lf repeat: %u",
 | 
					        qDebug("DevicePlutoSDRBox::openRx channel Q: length: %u bits: %u shift: %u signed: %s be: %s with_scale: %s scale: %lf repeat: %u",
 | 
				
			||||||
            df->length,
 | 
					            df->length,
 | 
				
			||||||
            df->bits,
 | 
					            df->bits,
 | 
				
			||||||
@ -300,7 +316,8 @@ bool DevicePlutoSDRBox::openRx()
 | 
				
			|||||||
            df->repeat);
 | 
					            df->repeat);
 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else {
 | 
					    else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
        std::cerr << "DevicePlutoSDRBox::openRx: failed" << std::endl;
 | 
					        std::cerr << "DevicePlutoSDRBox::openRx: failed" << std::endl;
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -310,13 +327,10 @@ bool DevicePlutoSDRBox::openTx()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    if (!m_valid) { return false; }
 | 
					    if (!m_valid) { return false; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!m_chnTx0i) {
 | 
					    if (m_txChannels.size() > 0)
 | 
				
			||||||
        m_chnTx0i = iio_device_find_channel(m_devTx, "voltage0", true);
 | 
					    {
 | 
				
			||||||
    }
 | 
					        iio_channel_enable(m_txChannels.at(0));
 | 
				
			||||||
 | 
					        const struct iio_data_format *df = iio_channel_get_data_format(m_txChannels.at(0));
 | 
				
			||||||
    if (m_chnTx0i) {
 | 
					 | 
				
			||||||
        iio_channel_enable(m_chnTx0i);
 | 
					 | 
				
			||||||
        const struct iio_data_format *df = iio_channel_get_data_format(m_chnTx0i);
 | 
					 | 
				
			||||||
        qDebug("DevicePlutoSDRBox::openTx: channel I: length: %u bits: %u shift: %u signed: %s be: %s with_scale: %s scale: %lf repeat: %u",
 | 
					        qDebug("DevicePlutoSDRBox::openTx: channel I: length: %u bits: %u shift: %u signed: %s be: %s with_scale: %s scale: %lf repeat: %u",
 | 
				
			||||||
                df->length,
 | 
					                df->length,
 | 
				
			||||||
                df->bits,
 | 
					                df->bits,
 | 
				
			||||||
@ -326,18 +340,17 @@ bool DevicePlutoSDRBox::openTx()
 | 
				
			|||||||
                df->with_scale? "true" : "false",
 | 
					                df->with_scale? "true" : "false",
 | 
				
			||||||
                df->scale,
 | 
					                df->scale,
 | 
				
			||||||
                df->repeat);
 | 
					                df->repeat);
 | 
				
			||||||
    } else {
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
        std::cerr << "DevicePlutoSDRBox::openTx: failed to open I channel" << std::endl;
 | 
					        std::cerr << "DevicePlutoSDRBox::openTx: failed to open I channel" << std::endl;
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!m_chnTx0q) {
 | 
					    if (m_txChannels.size() > 1)
 | 
				
			||||||
        m_chnTx0q = iio_device_find_channel(m_devTx, "voltage1", true);
 | 
					    {
 | 
				
			||||||
    }
 | 
					        iio_channel_enable(m_txChannels.at(1));
 | 
				
			||||||
 | 
					        const struct iio_data_format *df = iio_channel_get_data_format(m_txChannels.at(1));
 | 
				
			||||||
    if (m_chnTx0q) {
 | 
					 | 
				
			||||||
        iio_channel_enable(m_chnTx0q);
 | 
					 | 
				
			||||||
        const struct iio_data_format *df = iio_channel_get_data_format(m_chnTx0q);
 | 
					 | 
				
			||||||
        qDebug("DevicePlutoSDRBox::openTx: channel Q: length: %u bits: %u shift: %u signed: %s be: %s with_scale: %s scale: %lf repeat: %u",
 | 
					        qDebug("DevicePlutoSDRBox::openTx: channel Q: length: %u bits: %u shift: %u signed: %s be: %s with_scale: %s scale: %lf repeat: %u",
 | 
				
			||||||
                df->length,
 | 
					                df->length,
 | 
				
			||||||
                df->bits,
 | 
					                df->bits,
 | 
				
			||||||
@ -348,7 +361,9 @@ bool DevicePlutoSDRBox::openTx()
 | 
				
			|||||||
                df->scale,
 | 
					                df->scale,
 | 
				
			||||||
                df->repeat);
 | 
					                df->repeat);
 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    } else {
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
        std::cerr << "DevicePlutoSDRBox::openTx: failed to open Q channel" << std::endl;
 | 
					        std::cerr << "DevicePlutoSDRBox::openTx: failed to open Q channel" << std::endl;
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -356,14 +371,14 @@ bool DevicePlutoSDRBox::openTx()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void DevicePlutoSDRBox::closeRx()
 | 
					void DevicePlutoSDRBox::closeRx()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (m_chnRx0i) { iio_channel_disable(m_chnRx0i); }
 | 
					    if (m_rxChannels.size() > 0) { iio_channel_disable(m_rxChannels.at(0)); }
 | 
				
			||||||
    if (m_chnRx0q) { iio_channel_disable(m_chnRx0q); }
 | 
					    if (m_rxChannels.size() > 1) { iio_channel_disable(m_rxChannels.at(1)); }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DevicePlutoSDRBox::closeTx()
 | 
					void DevicePlutoSDRBox::closeTx()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (m_chnTx0i) { iio_channel_disable(m_chnTx0i); }
 | 
					    if (m_txChannels.size() > 0) { iio_channel_disable(m_txChannels.at(0)); }
 | 
				
			||||||
    if (m_chnTx0q) { iio_channel_disable(m_chnTx0q); }
 | 
					    if (m_txChannels.size() > 1) { iio_channel_disable(m_txChannels.at(1)); }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct iio_buffer *DevicePlutoSDRBox::createRxBuffer(unsigned int size, bool cyclic)
 | 
					struct iio_buffer *DevicePlutoSDRBox::createRxBuffer(unsigned int size, bool cyclic)
 | 
				
			||||||
@ -454,16 +469,16 @@ char* DevicePlutoSDRBox::rxBufferEnd()
 | 
				
			|||||||
    if (m_rxBuf) {
 | 
					    if (m_rxBuf) {
 | 
				
			||||||
        return (char *) iio_buffer_end(m_rxBuf);
 | 
					        return (char *) iio_buffer_end(m_rxBuf);
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        return 0;
 | 
					        return nullptr;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
char* DevicePlutoSDRBox::rxBufferFirst()
 | 
					char* DevicePlutoSDRBox::rxBufferFirst()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (m_rxBuf) {
 | 
					    if (m_rxBuf) {
 | 
				
			||||||
        return (char *) iio_buffer_first(m_rxBuf, m_chnRx0i);
 | 
					        return (char *) iio_buffer_first(m_rxBuf, m_rxChannels.at(0));
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        return 0;
 | 
					        return nullptr;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -481,26 +496,26 @@ char* DevicePlutoSDRBox::txBufferEnd()
 | 
				
			|||||||
    if (m_txBuf) {
 | 
					    if (m_txBuf) {
 | 
				
			||||||
        return (char *) iio_buffer_end(m_txBuf);
 | 
					        return (char *) iio_buffer_end(m_txBuf);
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        return 0;
 | 
					        return nullptr;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
char* DevicePlutoSDRBox::txBufferFirst()
 | 
					char* DevicePlutoSDRBox::txBufferFirst()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (m_txBuf) {
 | 
					    if (m_txBuf) {
 | 
				
			||||||
        return (char *) iio_buffer_first(m_txBuf, m_chnTx0i);
 | 
					        return (char *) iio_buffer_first(m_txBuf, m_txChannels.at(0));
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        return 0;
 | 
					        return nullptr;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DevicePlutoSDRBox::txChannelConvert(int16_t *dst, int16_t *src)
 | 
					void DevicePlutoSDRBox::txChannelConvert(int16_t *dst, int16_t *src)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (m_chnTx0i) {
 | 
					    if (m_txChannels.size() > 0) {
 | 
				
			||||||
        iio_channel_convert_inverse(m_chnTx0i, &dst[0], &src[0]);
 | 
					        iio_channel_convert_inverse(m_txChannels.at(0), &dst[0], &src[0]);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (m_chnTx0q) {
 | 
					    if (m_txChannels.size() > 1) {
 | 
				
			||||||
        iio_channel_convert_inverse(m_chnTx0q, &dst[1], &src[1]);
 | 
					        iio_channel_convert_inverse(m_txChannels.at(1), &dst[1], &src[1]);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -21,8 +21,11 @@
 | 
				
			|||||||
#include <sstream>
 | 
					#include <sstream>
 | 
				
			||||||
#include <stdint.h>
 | 
					#include <stdint.h>
 | 
				
			||||||
#include <sys/types.h>
 | 
					#include <sys/types.h>
 | 
				
			||||||
#include "deviceplutosdrscan.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QList>
 | 
				
			||||||
 | 
					#include <QString>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "deviceplutosdrscan.h"
 | 
				
			||||||
#include "export.h"
 | 
					#include "export.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(_MSC_VER)
 | 
					#if defined(_MSC_VER)
 | 
				
			||||||
@ -30,6 +33,8 @@
 | 
				
			|||||||
typedef SSIZE_T ssize_t;
 | 
					typedef SSIZE_T ssize_t;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct iio_channel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class DEVICES_API DevicePlutoSDRBox
 | 
					class DEVICES_API DevicePlutoSDRBox
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
@ -75,19 +80,18 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    void set_params(DeviceType devType, const std::vector<std::string> ¶ms);
 | 
					    void set_params(DeviceType devType, const std::vector<std::string> ¶ms);
 | 
				
			||||||
    bool get_param(DeviceType devType, const std::string ¶m, std::string &value);
 | 
					    bool get_param(DeviceType devType, const std::string ¶m, std::string &value);
 | 
				
			||||||
    bool openRx();
 | 
					    bool openRx();   //!< Open first Rx (Rx0)
 | 
				
			||||||
    bool openTx();
 | 
					    bool openTx();   //!< Open first Tx (Tx0)
 | 
				
			||||||
    void closeRx();
 | 
					    void closeRx();  //!< Close first Rx (Rx0)
 | 
				
			||||||
    void closeTx();
 | 
					    void closeTx();  //!< Close first Tx (Tx0)
 | 
				
			||||||
 | 
					    int getNbRx() const { return m_rxChannels.size() / 2; }
 | 
				
			||||||
 | 
					    int getNbTx() const { return m_txChannels.size() / 2; }
 | 
				
			||||||
    struct iio_buffer *createRxBuffer(unsigned int size, bool cyclic);
 | 
					    struct iio_buffer *createRxBuffer(unsigned int size, bool cyclic);
 | 
				
			||||||
    struct iio_buffer *createTxBuffer(unsigned int size, bool cyclic);
 | 
					    struct iio_buffer *createTxBuffer(unsigned int size, bool cyclic);
 | 
				
			||||||
    void deleteRxBuffer();
 | 
					    void deleteRxBuffer();
 | 
				
			||||||
    void deleteTxBuffer();
 | 
					    void deleteTxBuffer();
 | 
				
			||||||
    ssize_t getRxSampleSize();
 | 
					    ssize_t getRxSampleSize();
 | 
				
			||||||
    ssize_t getTxSampleSize();
 | 
					    ssize_t getTxSampleSize();
 | 
				
			||||||
    struct iio_channel *getRxChannel0() { return m_chnRx0i; }
 | 
					 | 
				
			||||||
    struct iio_channel *getTxChannel0I() { return m_chnTx0i; }
 | 
					 | 
				
			||||||
    struct iio_channel *getTxChannel0Q() { return m_chnTx0q; }
 | 
					 | 
				
			||||||
    ssize_t rxBufferRefill();
 | 
					    ssize_t rxBufferRefill();
 | 
				
			||||||
    ssize_t txBufferPush();
 | 
					    ssize_t txBufferPush();
 | 
				
			||||||
    std::ptrdiff_t rxBufferStep();
 | 
					    std::ptrdiff_t rxBufferStep();
 | 
				
			||||||
@ -119,15 +123,15 @@ private:
 | 
				
			|||||||
    struct iio_device  *m_devPhy;
 | 
					    struct iio_device  *m_devPhy;
 | 
				
			||||||
    struct iio_device  *m_devRx;
 | 
					    struct iio_device  *m_devRx;
 | 
				
			||||||
    struct iio_device  *m_devTx;
 | 
					    struct iio_device  *m_devTx;
 | 
				
			||||||
    struct iio_channel *m_chnRx0i;
 | 
					 | 
				
			||||||
    struct iio_channel* m_chnRx0q;
 | 
					 | 
				
			||||||
    struct iio_channel *m_chnTx0i;
 | 
					 | 
				
			||||||
    struct iio_channel *m_chnTx0q;
 | 
					 | 
				
			||||||
    struct iio_buffer  *m_rxBuf;
 | 
					    struct iio_buffer  *m_rxBuf;
 | 
				
			||||||
    struct iio_buffer  *m_txBuf;
 | 
					    struct iio_buffer  *m_txBuf;
 | 
				
			||||||
    bool m_valid;
 | 
					    bool m_valid;
 | 
				
			||||||
    int64_t m_xoInitial;
 | 
					    int64_t m_xoInitial;
 | 
				
			||||||
    float m_temp;
 | 
					    float m_temp;
 | 
				
			||||||
 | 
					    QList<QString> m_rxChannelIds;
 | 
				
			||||||
 | 
					    QList<iio_channel*> m_rxChannels;
 | 
				
			||||||
 | 
					    QList<QString> m_txChannelIds;
 | 
				
			||||||
 | 
					    QList<iio_channel*> m_txChannels;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bool parseSampleRates(const std::string& rateStr, SampleRates& sampleRates);
 | 
					    bool parseSampleRates(const std::string& rateStr, SampleRates& sampleRates);
 | 
				
			||||||
    void setFilter(const std::string& filterConfigStr);
 | 
					    void setFilter(const std::string& filterConfigStr);
 | 
				
			||||||
 | 
				
			|||||||
@ -113,7 +113,6 @@ void PlutoSDRInputThread::run()
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            m_buf[ihs++] = *((int16_t *) p_dat);
 | 
					            m_buf[ihs++] = *((int16_t *) p_dat);
 | 
				
			||||||
            m_buf[ihs++] = *(((int16_t *) p_dat) + 1);
 | 
					            m_buf[ihs++] = *(((int16_t *) p_dat) + 1);
 | 
				
			||||||
//            iio_channel_convert(m_plutoBox->getRxChannel0(), (void *) &m_bufConv[ihs], (const void *) &m_buf[ihs]);
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (m_iqOrder) {
 | 
					        if (m_iqOrder) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user