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; }
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; }