BladeRF 2 micro Tx in MO mode example?

Follow our development of DSP and SDR tutorials
Post Reply
f4exb
Posts: 7
Joined: Sat May 16, 2015 7:32 pm

BladeRF 2 micro Tx in MO mode example?

Post by f4exb »

Hello,

it seems I can't get the Multiple Output (Tx1 and Tx2 working at the same time) work correctly on a BladeRF 2 micro. I don't see where things are going wrong since it seems to me the code is consistent with the libbladeRF documentation. I am looking for a working C or C++ example.

Best regards, Edouard.
f4exb
Posts: 7
Joined: Sat May 16, 2015 7:32 pm

Re: BladeRF 2 micro Tx in MO mode example?

Post by f4exb »

Hello,

it seems that I got it finally working in MO mode but I have to double the rate from the sample rate of the channel. If for example I expect one channel to be 3 MS/s then I have to call bladerf_set_sample_rate for the Tx channel with 6 MS/s. I am not sure this is what is expected and this is not the same situation on the Rx side where the sample rate that is set with bladerf_set_sample_rate is always the rate of one channel whether in SO or SI mode. A side effect is that the rate on the Rx side is also doubled as the sample rate is common to all 4 channels (Rx + Tx).

Note: this is using libbladeRF tag 2018.08

Let me know if I should open an issue on Github.

Brgds, Edouard.
User avatar
rtucker
Posts: 77
Joined: Sun Jan 25, 2015 10:38 am

Re: BladeRF 2 micro Tx in MO mode example?

Post by rtucker »

Oof, yeah, that's not good. Please do open a github issue on this... it's definitely something I'd consider a bug.

Thanks :)
Rey Tucker (she/her)
Systems Engineer, Nuand LLC
Rochester, NY, USA

#WontBeErased
f4exb
Posts: 7
Joined: Sat May 16, 2015 7:32 pm

Re: BladeRF 2 micro Tx in MO mode example?

Post by f4exb »

Hello,

issue: https://github.com/Nuand/bladeRF/issues/675 opened.

Thanks and brgds, Edouard.
f4exb
Posts: 7
Joined: Sat May 16, 2015 7:32 pm

Re: BladeRF 2 micro Tx in MO mode example?

Post by f4exb »

Hello,

the end of story was that the bug was in my code because I called bladerf_enable_module for each channel with channel index 0 like this:

Code: Select all

status = bladerf_enable_module(m_dev, BLADERF_CHANNEL_TX(0), true);
The channel index was stored in the channel variable but was not used so correct code is:

Code: Select all

status = bladerf_enable_module(m_dev, BLADERF_CHANNEL_TX(channel), true);
This is of course very important to activate a channel with the correct index for it: Tx1: 0 and Tx2: 1.

Brgds, Edouard.
Post Reply