diff options
Diffstat (limited to 'host/lib/usrp/usrp2')
-rw-r--r-- | host/lib/usrp/usrp2/mboard_impl.cpp | 17 | ||||
-rw-r--r-- | host/lib/usrp/usrp2/usrp2_impl.cpp | 7 |
2 files changed, 19 insertions, 5 deletions
diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp index 95f7013e7..784f662d9 100644 --- a/host/lib/usrp/usrp2/mboard_impl.cpp +++ b/host/lib/usrp/usrp2/mboard_impl.cpp @@ -66,9 +66,9 @@ usrp2_mboard_impl::usrp2_mboard_impl( //contruct the interfaces to mboard perifs _clock_ctrl = usrp2_clock_ctrl::make(_iface); _codec_ctrl = usrp2_codec_ctrl::make(_iface); - //_gps_ctrl = gps_ctrl::make( - // _iface->get_gps_write_fn(), - // _iface->get_gps_read_fn()); +// _gps_ctrl = gps_ctrl::make( +// _iface->get_gps_write_fn(), +// _iface->get_gps_read_fn()); //if(_gps_ctrl->gps_detected()) std::cout << "GPS time: " << _gps_ctrl->get_time() << std::endl; @@ -243,6 +243,9 @@ void usrp2_mboard_impl::update_clock_config(void){ } void usrp2_mboard_impl::set_time_spec(const time_spec_t &time_spec, bool now){ + //dont set the time for slave devices, they always take from mimo cable + if (not _mimo_clocking_mode_is_master) return; + //set the ticks _iface->poke32(_iface->regs.time64_ticks, time_spec.get_tick_count(get_master_clock_freq())); @@ -352,6 +355,10 @@ void usrp2_mboard_impl::get(const wax::obj &key_, wax::obj &val){ val = _iface->mb_eeprom; return; + case MBOARD_PROP_CLOCK_RATE: + val = this->get_master_clock_freq(); + return; + default: UHD_THROW_PROP_GET_ERROR(); } } @@ -409,6 +416,10 @@ void usrp2_mboard_impl::set(const wax::obj &key, const wax::obj &val){ _iface->mb_eeprom = mboard_eeprom_t(*_iface, mboard_eeprom_t::MAP_N100); return; + case MBOARD_PROP_CLOCK_RATE: + UHD_ASSERT_THROW(val.as<double>() == this->get_master_clock_freq()); + return; + default: UHD_THROW_PROP_SET_ERROR(); } } diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp index 059ddf65f..9ce0f7359 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.cpp +++ b/host/lib/usrp/usrp2/usrp2_impl.cpp @@ -202,8 +202,11 @@ static device::sptr usrp2_make(const device_addr_t &device_addr){ //setup the dsp transport hints (default to a large recv buff) device_addr_t dsp_xport_hints = device_addr; if (not dsp_xport_hints.has_key("recv_buff_size")){ - //set to half-a-second of buffering at max rate - dsp_xport_hints["recv_buff_size"] = "50e6"; + //only enable on platforms that are happy with the large buffer resize + #if defined(UHD_PLATFORM_LINUX) || defined(UHD_PLATFORM_WIN32) + //set to half-a-second of buffering at max rate + dsp_xport_hints["recv_buff_size"] = "50e6"; + #endif /*defined(UHD_PLATFORM_LINUX) || defined(UHD_PLATFORM_WIN32)*/ } //create a ctrl and data transport for each address |