I need to receive signals on two channels RХ1 and RХ2 of the BladeRF device. At the same time, I want to receive metadata from the device. Unfortunately, all my attempts to receive a signal result in either an error or an overflow: Overrun detected on RX. 508 valid samples were read.
My C++ Windows application uses
- libbladeRF version: 2.4.1
- Firmware version: 2.4.0-git-a3d5c55f
- FPGA version: 0.14.0 (configured by USB host)
The code that starts receiving signals looks like this:
// test
// samples_per_buffer = 8192;
// num_buffers = 16;
// num_transfers = 8;
// stream_timeout_ms = 3000;
// frequency = 1700000000;
// samplerate = 2000000;
// bandwidth = 500000;
int status = bladerf_sync_config(dev_info.dev.lock().get(),
BLADERF_RX_X2, // using RX1 and RX2
BLADERF_FORMAT_SC16_Q11_META, // META enabled
num_buffers,
samples_per_buffer,
num_transfers,
stream_timeout_ms);
status = bladerf_enable_module(dev_info.dev.lock().get(), BLADERF_RX, true);
memset(&meta, 0, sizeof(meta));
meta.flags = BLADERF_META_FLAG_RX_NOW;
while (is_receiving) {
status = bladerf_sync_rx(device_it->dev.lock().get(), rx_buffer.data(), 262144, &meta, stream_timeout_ms);
}
Can you show me the working settings? But both channels RХ1 and RХ2 need to work, and metadata must also be received