As can be seen in the logic below, one cannot open BLADERF_RX_X2 by itself, something supported by the underlying driver. This capability is useful in scenarios where two different types of antennas are attached to the device and you need to programmatically switch between them.
|
if (channels.size() == 1 and channels.at(0) == 0) |
|
{ |
|
layout = (direction == SOAPY_SDR_RX)?BLADERF_RX_X1:BLADERF_TX_X1; |
|
if (metaMode == "auto") sync_format = BLADERF_FORMAT_SC16_Q11_META; |
|
} |
|
else if (channels.size() == 2 and channels.at(0) == 0 and channels.at(1) == 1) |
|
{ |
|
layout = (direction == SOAPY_SDR_RX)?BLADERF_RX_X2:BLADERF_TX_X2; |
|
if (metaMode == "auto") sync_format = BLADERF_FORMAT_SC16_Q11; |
|
} |
|
else |
|
{ |
|
throw std::runtime_error("setupStream invalid channel selection"); |
|
} |
As can be seen in the logic below, one cannot open
BLADERF_RX_X2by itself, something supported by the underlying driver. This capability is useful in scenarios where two different types of antennas are attached to the device and you need to programmatically switch between them.SoapyBladeRF/bladeRF_Streaming.cpp
Lines 108 to 121 in 85f6dc5