aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp2/mboard_impl.cpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-11-04 19:40:02 -0700
committerJosh Blum <josh@joshknows.com>2010-11-04 19:40:02 -0700
commit7c36bc7b7456225f613887a2b84ebefac2b1c208 (patch)
tree8722cdad5748a113924f7809d789aaefda94df4e /host/lib/usrp/usrp2/mboard_impl.cpp
parentc8cb4bcadc32e59e98fc2901eb94830f600d5d28 (diff)
parent7a7e704fa3d79036da1f33013e761eb747b725f0 (diff)
downloaduhd-7c36bc7b7456225f613887a2b84ebefac2b1c208.tar.gz
uhd-7c36bc7b7456225f613887a2b84ebefac2b1c208.tar.bz2
uhd-7c36bc7b7456225f613887a2b84ebefac2b1c208.zip
Merge branch 'good_stuff' into mb_eeprom
Diffstat (limited to 'host/lib/usrp/usrp2/mboard_impl.cpp')
-rw-r--r--host/lib/usrp/usrp2/mboard_impl.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp
index e7d8aeef6..e49ac717e 100644
--- a/host/lib/usrp/usrp2/mboard_impl.cpp
+++ b/host/lib/usrp/usrp2/mboard_impl.cpp
@@ -167,7 +167,15 @@ void usrp2_mboard_impl::set_time_spec(const time_spec_t &time_spec, bool now){
_iface->poke32(U2_REG_TIME64_SECS, boost::uint32_t(time_spec.get_full_secs()));
}
+void usrp2_mboard_impl::handle_overflow(void){
+ _iface->poke32(U2_REG_RX_CTRL_CLEAR_OVERRUN, 1);
+ if (_continuous_streaming){ //re-issue the stream command if already continuous
+ this->issue_ddc_stream_cmd(stream_cmd_t::STREAM_MODE_START_CONTINUOUS);
+ }
+}
+
void usrp2_mboard_impl::issue_ddc_stream_cmd(const stream_cmd_t &stream_cmd){
+ _continuous_streaming = stream_cmd.stream_mode == stream_cmd_t::STREAM_MODE_START_CONTINUOUS;
_iface->poke32(U2_REG_RX_CTRL_STREAM_CMD, dsp_type1::calc_stream_cmd_word(
stream_cmd, _recv_frame_size
));