aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bladerf/bladerf_sink_c.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bladerf/bladerf_sink_c.cc')
-rw-r--r--lib/bladerf/bladerf_sink_c.cc37
1 files changed, 2 insertions, 35 deletions
diff --git a/lib/bladerf/bladerf_sink_c.cc b/lib/bladerf/bladerf_sink_c.cc
index cf046fe..1356243 100644
--- a/lib/bladerf/bladerf_sink_c.cc
+++ b/lib/bladerf/bladerf_sink_c.cc
@@ -306,45 +306,12 @@ osmosdr::meta_range_t bladerf_sink_c::get_sample_rates()
double bladerf_sink_c::set_sample_rate(double rate)
{
- int ret;
- uint32_t actual;
- /* Set the Si5338 to be 2x this sample rate */
-
- /* Check to see if the sample rate is an integer */
- if( (uint32_t)round(rate) == (uint32_t)rate )
- {
- ret = bladerf_set_sample_rate( _dev.get(), BLADERF_MODULE_TX, (uint32_t)rate, &actual );
- if( ret ) {
- throw std::runtime_error( std::string(__FUNCTION__) + " " +
- "Failed to set integer rate:" +
- std::string(bladerf_strerror(ret)));
- }
- } else {
- /* TODO: Fractional sample rate */
- ret = bladerf_set_sample_rate( _dev.get(), BLADERF_MODULE_TX, (uint32_t)rate, &actual );
- if( ret ) {
- throw std::runtime_error( std::string(__FUNCTION__) + " " +
- "Failed to set fractional rate: " +
- std::string(bladerf_strerror(ret)));
- }
- }
-
- return get_sample_rate();
+ return bladerf_common::set_sample_rate(BLADERF_MODULE_TX, rate);
}
double bladerf_sink_c::get_sample_rate()
{
- int ret;
- unsigned int rate = 0;
-
- ret = bladerf_get_sample_rate( _dev.get(), BLADERF_MODULE_TX, &rate );
- if( ret ) {
- throw std::runtime_error( std::string(__FUNCTION__) +
- "Failed to get sample rate:" +
- std::string(bladerf_strerror(ret)));
- }
-
- return (double)rate;
+ return bladerf_common::get_sample_rate(BLADERF_MODULE_TX);
}
osmosdr::freq_range_t bladerf_sink_c::get_freq_range( size_t chan )