diff options
Diffstat (limited to 'host/lib')
| -rw-r--r-- | host/lib/rfnoc/radio_ctrl_impl.cpp | 12 | 
1 files changed, 11 insertions, 1 deletions
diff --git a/host/lib/rfnoc/radio_ctrl_impl.cpp b/host/lib/rfnoc/radio_ctrl_impl.cpp index a151b2690..643a6e745 100644 --- a/host/lib/rfnoc/radio_ctrl_impl.cpp +++ b/host/lib/rfnoc/radio_ctrl_impl.cpp @@ -360,7 +360,17 @@ void radio_ctrl_impl::issue_stream_cmd(                 "channel. Skipping.";          return;      } -    UHD_ASSERT_THROW(stream_cmd.num_samps <= 0x0fffffff); +    constexpr size_t max_num_samps = 0x0fffffff; +    if (stream_cmd.num_samps > max_num_samps) { +        UHD_LOG_ERROR("RFNOC RADIO", +            "Requesting too many samples in a single burst! " +            "Requested " + std::to_string(stream_cmd.num_samps) + ", maximum " +            "is " + std::to_string(max_num_samps) + "."); +        UHD_LOG_INFO("RFNOC RADIO", +            "Note that a decimation block will increase the number of samples " +            "per burst. Your application may have requested fewer samples."); +        throw uhd::value_error("Requested too many samples in a single burst."); +    }      _continuous_streaming[chan] =          (stream_cmd.stream_mode == stream_cmd_t::STREAM_MODE_START_CONTINUOUS);  | 
