diff options
Diffstat (limited to 'lib/bladerf/bladerf_source_c.cc')
-rw-r--r-- | lib/bladerf/bladerf_source_c.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/bladerf/bladerf_source_c.cc b/lib/bladerf/bladerf_source_c.cc index 7450b1b..b4afcb2 100644 --- a/lib/bladerf/bladerf_source_c.cc +++ b/lib/bladerf/bladerf_source_c.cc @@ -142,6 +142,8 @@ int bladerf_source_c::work( int noutput_items, int16_t *current; const float scaling = 1.0f / 2048.0f; gr_complex *out = static_cast<gr_complex *>(output_items[0]); + struct bladerf_metadata meta; + struct bladerf_metadata *meta_ptr = NULL; if (noutput_items > _conv_buf_size) { void *tmp; @@ -156,9 +158,15 @@ int bladerf_source_c::work( int noutput_items, _conv_buf = static_cast<int16_t*>(tmp); } + if (_use_metadata) { + memset(&meta, 0, sizeof(meta)); + meta.flags = BLADERF_META_FLAG_RX_NOW; + meta_ptr = &meta; + } + /* Grab all the samples into the temporary buffer */ ret = bladerf_sync_rx(_dev.get(), static_cast<void *>(_conv_buf), - noutput_items, NULL, _stream_timeout_ms); + noutput_items, meta_ptr, _stream_timeout_ms); if ( ret != 0 ) { std::cerr << _pfx << "bladerf_sync_rx error: " << bladerf_strerror(ret) << std::endl; |