B200: Fix overflow handling

- Use FPGA images with fixed sc12 converter.
- Properly flush channels and restart streaming in the case of an overrun.

Signed-off-by: michael-west <michael.west@ettus.com>
This commit is contained in:
michael-west 2021-07-26 14:42:41 -07:00 committed by Aaron Rossetto
parent d06eb0b44e
commit 175e553c44
2 changed files with 13 additions and 18 deletions

View File

@ -496,28 +496,23 @@ void b200_impl::handle_overflow(const size_t radio_index)
_radio_perifs[radio_index].framer->in_continuous_streaming_mode();
// stop streaming
my_streamer->issue_stream_cmd(stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS);
// flush demux
_demux->realloc_sid(B200_RX_DATA0_SID);
_demux->realloc_sid(B200_RX_DATA1_SID);
// flush actual transport
while (_data_transport->get_recv_buff(0.001)) {
}
// flush data
while (_demux->get_recv_buff(B200_RX_DATA0_SID, 0.001)) {}
while (_demux->get_recv_buff(B200_RX_DATA1_SID, 0.001)) {}
// restart streaming
if (in_continuous_streaming_mode) {
stream_cmd_t stream_cmd(stream_cmd_t::STREAM_MODE_START_CONTINUOUS);
stream_cmd.stream_now = false;
stream_cmd.time_spec =
_radio_perifs[radio_index].time64->get_time_now() + time_spec_t(0.01);
// FIXME: temporarily remove the start stream command.
// This will avoid an issue that gets the b210 in a bad state.
// my_streamer->issue_stream_cmd(stream_cmd);
my_streamer->issue_stream_cmd(stream_cmd);
}
} else {
while (_data_transport->get_recv_buff(0.001)) {
}
// FIXME: temporarily remove the overflow handling that re-issues a stream
// command. This will avoid an issue that gets the b210 in a bad state.
// _radio_perifs[radio_index].framer->handle_overflow();
const uint32_t sid = radio_index == 0 ? B200_RX_DATA0_SID : B200_RX_DATA1_SID;
// flush data
while (_demux->get_recv_buff(sid, 0.001)) {}
// restart streaming
_radio_perifs[radio_index].framer->handle_overflow();
}
}

View File

@ -48,10 +48,10 @@ n3xx_common_mender_default meta-ettus-v4.1.0.1 n3xx/meta-ettus-v4.1.0.1/n3
n3xx_common_sdimg_default meta-ettus-v4.1.0.1 n3xx/meta-ettus-v4.1.0.1/n3xx_common_sdimg_default-v4.1.0.1.zip 0
# B200-Series
b2xx_b200_fpga_default uhd-d5c2750 b2xx/uhd-d5c2750/b2xx_b200_fpga_default-gd5c2750.zip 9936f356c51a86a98ecb81851ed217b1aaadea52e5a5efa0a1bca90edfec30cf
b2xx_b200mini_fpga_default uhd-f2ec5c9 b2xx/uhd-f2ec5c9/b2xx_b200mini_fpga_default-gf2ec5c9.zip 3c122145a5bd23dc50ac35b9d18dfe3f3224eaed4242274765ada89c55838ce4
b2xx_b210_fpga_default uhd-d5c2750 b2xx/uhd-d5c2750/b2xx_b210_fpga_default-gd5c2750.zip accf37aafe878e45d16b09f326761d5848241f355929cd4745f40aec822d4385
b2xx_b205mini_fpga_default uhd-f2ec5c9 b2xx/uhd-f2ec5c9/b2xx_b205mini_fpga_default-gf2ec5c9.zip a38fcecabcef43d57e463aa50f0b07ba21d7e9211428fbc5ef47bfeb75542e93
b2xx_b200_fpga_default uhd-439770b9 b2xx/uhd-439770b9/b2xx_b200_fpga_default-g439770b9.zip 819914603bb925c3d3be4aca775c39fce570b2d5cbbefbfb228231cae67a2392
b2xx_b200mini_fpga_default uhd-439770b9 b2xx/uhd-439770b9/b2xx_b200mini_fpga_default-g439770b9.zip d7bee9b18c2c6b4bd4b06bd8f684d6098b2fdb628c82afeaad06767b6b8c9787
b2xx_b210_fpga_default uhd-439770b9 b2xx/uhd-439770b9/b2xx_b210_fpga_default-g439770b9.zip ba47e5b28425df2a390926c432fedf82aec000b33ea5ae7f268ecefb7676e19c
b2xx_b205mini_fpga_default uhd-439770b9 b2xx/uhd-439770b9/b2xx_b205mini_fpga_default-g439770b9.zip 08b4beb843bc4cf6b9d8a81102a9598745e3c3fb70a0a0a40baa0aa2395e789a
b2xx_common_fw_default uhd-7f7d016 b2xx/uhd-7f7d016/b2xx_common_fw_default-g7f7d016.zip 22ac0e54cc90d53d8494d481439447a0c89b9bbaced6fabe24df260eda3ce3a3
# USRP2 Devices