forked from sdr/gr-osmosdr
bladerf_common: tweak buffer/transfer settings
Based on experimentation, a good value for transfers seems to be 16, but more buffers are definitely warranted for an optimal default experience.
This commit is contained in:
parent
c8e69edb7b
commit
c4a0781367
|
@ -40,8 +40,9 @@
|
|||
|
||||
#include "bladerf_common.h"
|
||||
|
||||
#define NUM_BUFFERS 32
|
||||
#define NUM_BUFFERS 256
|
||||
#define NUM_SAMPLES_PER_BUFFER (4 * 1024)
|
||||
#define NUM_TRANSFERS 16
|
||||
|
||||
using namespace boost::assign;
|
||||
|
||||
|
@ -584,12 +585,12 @@ void bladerf_common::init(dict_t &dict, bladerf_direction direction)
|
|||
}
|
||||
|
||||
/* If the user hasn't specified the desired number of transfers, set it to
|
||||
* min(32, num_buffers / 2) */
|
||||
* min(NUM_TRANSFERS, num_buffers / 2) */
|
||||
if (_num_transfers == 0) {
|
||||
_num_transfers = _num_buffers / 2;
|
||||
|
||||
if (_num_transfers > 32) {
|
||||
_num_transfers = 32;
|
||||
if (_num_transfers > NUM_TRANSFERS) {
|
||||
_num_transfers = NUM_TRANSFERS;
|
||||
}
|
||||
} else if (_num_transfers >= _num_buffers) {
|
||||
_num_transfers = _num_buffers - 1;
|
||||
|
@ -599,6 +600,12 @@ void bladerf_common::init(dict_t &dict, bladerf_direction direction)
|
|||
<< std::endl;
|
||||
}
|
||||
|
||||
std::cerr << _pfx
|
||||
<< "Buffers: " << _num_buffers << ", "
|
||||
<< "Samples per buffer: " << _samples_per_buffer << ", "
|
||||
<< "Transfers: " << _num_transfers
|
||||
<< std::endl;
|
||||
|
||||
_conv_buf = static_cast<int16_t *>(malloc(_conv_buf_size * 2 * sizeof(int16_t)));
|
||||
|
||||
if (NULL == _conv_buf) {
|
||||
|
|
Loading…
Reference in New Issue