У меня есть простая программа тестирования C++ на Ettus x310, которая раньше работала. Я пытаюсь просто установить две центральные частоты двух каналов одного USRP. Вышеприведенная ошибка вне диапазона возникает, когда я пытаюсь установить что-либо на 2-м канале.RX-канал вне диапазона для сконфигурированных интерфейсов RX
я получаю аварию с каналом из ошибок диапазона:
$ ./t2j.out
linux; GNU C++ version 4.8.4; Boost_105400; UHD_003.009.001-0-gf7a15853
-- X300 initialization sequence...
-- Determining maximum frame size... 1472 bytes.
-- Setup basic communication...
-- Loading values from EEPROM...
-- Setup RF frontend clocking...
-- Radio 1x clock:200
-- Initialize Radio0 control...
-- Performing register loopback test... pass
-- Initialize Radio1 control...
-- Performing register loopback test... pass
terminate called after throwing an instance of 'uhd::index_error'
what(): LookupError: IndexError: multi_usrp: RX channel 140445275195320 out of range for configured RX frontends
Aborted (core dumped)
Вот моя тестовая программа:
int main(void)
{
// sources
gr::uhd::usrp_source::sptr usrp1;
const std::string usrp_addr = std::string("addr=192.168.10.30");
uhd::stream_args_t usrp_args = uhd::stream_args_t("fc32");
usrp_args.channels = std::vector<size_t> (0, 1);
usrp1 = gr::uhd::usrp_source::make(usrp_addr, usrp_args);
usrp1->set_subdev_spec(std::string("A:AB B:AB"), 0);
usrp1->set_clock_source("external");
usrp1->set_samp_rate(5.0e6);
usrp1->set_center_freq(70e6, 0); // this is OK
usrp1->set_center_freq(70e6, 1); // crashes here With RX Chan out of Range Error!
printf("test Done!\n");
return 0;
}
Единственное Ive нашел до сих пор в поиске, удостоверяются PYTHONPATH является (и для этого я убедился, что он указал на site_packages), но опять же это похоже на GRC, а не на C++.
Я использую Ubuntu 14.04.4 и UHD 3.9.1 с gnuradio 3.7.8.1 (также я попытался 3.7.9.2) с тем же результатом.
Аппаратное обеспечение Ettus x310 с двумя дочерними платами BasicRx.