On 2021-09-10 2:39 p.m., zhou wrote:
Hi,

I am trying to increase the buffer size in tx.

According to https://files.ettus.com/manual/page_transport.html <https://files.ettus.com/manual/page_transport.html>,

 it seems that we can change the default *send_buff_size *by specifying value in device arguments. I tried the following configuration: uhd::usrp::multi_usrp::make('addr=192.168.12.2, second_addr=192.168.13.2, mgmt_addr=192.168.10.16, master_clock_rate=245.76e6, type=n3xx, *send_buff_size*=33554432')

But this didn't have any impact. I measured that the actual buffer is always about ~1MB.
How did you measure the buffer?



Then in UHD library, I find the following limit:
static const size_t MAX_BUFF_SIZE_ETH_MACOS = 0x100000; // 1Mib

    if (link_params.send_buff_size > MAX_BUFF_SIZE_ETH_MACOS) {
        link_params.send_buff_size = MAX_BUFF_SIZE_ETH_MACOS;
    }

Are you on MacOS?   If not, that code isn't relevant.  That code doesn't even get compiled unless you're
  on MacOS.

33554432 > 1048576 (1Mib), so this may be why the above config didn't work. Then I tried the following configuration:
uhd::usrp::multi_usrp::make('addr=192.168.12.2,second_addr=192.168.13.2,mgmt_addr=192.168.10.16,master_clock_rate=245.76e6,type=n3xx,*send_buff_size*=524288')

This one didn't have any impact either.
So, am I wrong in configuring *send_buff_size *in this way? what is the correct way?

1M buffer size is too small for my application. I am using sampling rate 245.76MHz. This buffer can only save data up to 0.5ms. I want to allocate a bigger buffer to achieve better reliability.

Thanks for any comment.





_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to