Hi all,

We have a x310 SDR, we are obtaining IQ samples from 4 channels but we are having problems with tune frequency.

When we already have set up one frequency, 100Mhz for example, and we try to tune a frequency very distant from the current, 700mhz for example, we get this error:


  terminate called after throwing an instance of 'uhd::io_error'
  what():  EnvironmentError: IOError: Block ctrl (CE_01_Port_40) no response packet - AssertionError: bool(buff)   in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
  at /build/uhd-ynzbn9/uhd-3.14.1.1/host/lib/rfnoc/ctrl_iface.cpp:142

This is the function we use for tuning:

bool sdr_set_tune_frequency(usrp_2945* radio, float freq, int channels) {

    bool success = true;
    std::cout << "Setting tune frequency: " << freq;
    uhd::tune_request_t tune(freq);
    for (int i = 0; i < channels; ++i) {
        radio->usrp->set_rx_freq(tune, i);
        if (std::abs(radio->usrp->get_rx_freq(i) - freq) > 0.0001){ // Here we check if the change have been done correctly
            success = false;
        }
    }
    return success;
}

We have the release version 3.14.1.1 of UHD.

I hope you can help us, thanks beforehand.


_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to