Esempio n. 1
0
SDRIOEXPORT sdrio_device * sdrio_open_device(sdrio_uint32 device_index)
{
    sdrio_device *dev = (sdrio_device *)malloc(sizeof(sdrio_device));

    if (dev)
    {
        memset(dev, 0, sizeof(sdrio_device));
        dev->device_index = device_index;

        mirisdr_open (&dev->mirics_device, dev->device_index);

        if (dev->mirics_device)
        {
            mirisdr_set_sample_format(dev->mirics_device, "AUTO");
            mirisdr_set_sample_rate(dev->mirics_device, 2*1024*1000);
            mirisdr_set_center_freq(dev->mirics_device, 100000000);
            mirisdr_set_tuner_gain_mode(dev->mirics_device, 0);

            dev->min_freq = 150000;
            dev->max_freq = 1900000000;
        }
        else
        {
            free(dev);
            return 0;
        }
    }

    return dev;
}
Esempio n. 2
0
bool SDRPlayInput::openDevice()
{
    m_devNumber = m_deviceAPI->getSampleSourceSequence();

    if (m_dev != 0)
    {
        closeDevice();
    }

    int res;
    //int numberOfGains;

    if (!m_sampleFifo.setSize(96000 * 4))
    {
        qCritical("SDRPlayInput::openDevice: could not allocate SampleFifo");
        return false;
    }

    if ((res = mirisdr_open(&m_dev, MIRISDR_HW_SDRPLAY, m_devNumber)) < 0)
    {
        qCritical("SDRPlayInput::openDevice: could not open SDRPlay #%d: %s", m_devNumber, strerror(errno));
        return false;
    }

    char vendor[256];
    char product[256];
    char serial[256];

    vendor[0] = '\0';
    product[0] = '\0';
    serial[0] = '\0';

    if ((res = mirisdr_get_device_usb_strings(m_devNumber, vendor, product, serial)) < 0)
    {
        qCritical("SDRPlayInput::openDevice: error accessing USB device");
        stop();
        return false;
    }

    qWarning("SDRPlayInput::openDevice: %s %s, SN: %s", vendor, product, serial);
    m_deviceDescription = QString("%1 (SN %2)").arg(product).arg(serial);

    if (QString(product) == "RSP1A") {
        m_variant = SDRPlayRSP1A;
    } else if (QString(product) == "RSP2") {
        m_variant = SDRPlayRSP2;
    } else {
        m_variant = SDRPlayRSP1;
    }

    qDebug("SDRPlayInput::openDevice: m_variant: %d", (int) m_variant);

    return true;
}