BladeRF 2.0 Synchronous MIMO with Timestamps

Discussions related to embedded firmware, driver, and user mode application software development

Moderator: robert.ghilduta

Post Reply
Fpieterse99
Posts: 1
Joined: Fri May 03, 2019 2:34 am

BladeRF 2.0 Synchronous MIMO with Timestamps

Post by Fpieterse99 » Thu Aug 08, 2019 7:22 am

Good day.

I would like to find out whether there is a way to transmit and receive synchronously on two MIMO channels simultaneously on a chosen timestamp using the BladeRF 2.0?

When I set my sync config to

Code: Select all

bladerf_sync_config(dev, BLADERF_RX_X2, BLADERF_FORMAT_SC16_Q11_META, num_buffers, buffer_size, num_transfers, timeout);
and enable both RX channels' RF frontends using

Code: Select all

status = bladerf_enable_module(dev,BLADERF_CHANNEL_RX(0) , true);
status = bladerf_enable_module(dev,BLADERF_CHANNEL_RX(1) , true);
I do not manage to get reception on either channels.

My receive code (omitting the error checking on the status) is

Code: Select all

struct bladerf_metadata meta;
meta.flags = BLADERF_META_FLAG_RX_NOW;
status = bladerf_get_timestamp(dev, BLADERF_RX, &meta.timestamp);
status = bladerf_sync_rx(dev, rx, rx_length, &meta,NULL);
Any assistance will be much appreciated!

robert.ghilduta
Posts: 61
Joined: Thu Feb 28, 2013 11:14 pm

Re: BladeRF 2.0 Synchronous MIMO with Timestamps

Post by robert.ghilduta » Tue Aug 20, 2019 2:50 am

By the time get_timestamp returns, a good amount of time my have passed and may be outside of the time window. Consider adding a delta of few milliseconds to meta.timestamp.

Also consider memset()ing the bladerf_metadata struct to all zeros so it is in a known state.

What does bladerf_sync_rx() return upon return?

Post Reply