This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to transmit 6 packets in S130 Uart central

Hi there,

I am struct for two days trying to send 6 packets of 20 bytes as central. I use ble app uart central sample from nrf5_sdk11.0 with nrf51 S130 v2.0 softdevice.

I start believing that this sample and softdevice can only transmit 3 packets per connection interval. As I debug in the central side, it can only execute write command with out response 3 times then a buffer full occurs. When I get the sd_ble_tx_packet_count_get during connection it is only 3. I expect that is 6...for 6 tx? I also monitor the write event in the peripheral side I can only get 3 write interrupt.

I try to use the sd_ble_opt_set(BLE_COMMON_OPT_CONN_BW, &ble_opt) setting the tx and rx bandwidth to BLE_CONN_BW_HIGH but won't work out. I use this API during stack initialization and also right after sd_ble_gap_connect. It seems it only accept BLE_CONN_BW_MID

What would be my configuration to make to transmit 6 packets per connection interval. My connection interval is only 100msec and using S310 version 3.0 in the peripheral side.

Thank you for helping me out. -Mc

Parents
  • Are you actually configuring the BLE stack when you initialise it to have available high bandwidth central connections? the sd_ble_opt_set() is used to tell the softdevice on a per-connection basis which of the configured bandwidths to use, but if you haven't allocated any high-bandwidth central connections when you enabled the softdevice in the first place, there aren't any available.

    Post the code you're using to set up the parameters for sd_ble_enable(), that's where you have to initially configure the SD to have the connections you want.

  • Hi Jorge,

    The code in the third box during initialization of stack works for me but you have to follow the steps in getting the RAM base in page 5/18 in the migration document. Do not include the sd_ble_opt_set in during stack initialization but instead use it before connecting. See the SD document of sd_ble_opt_set .

    Regards, -Mc

Reply
  • Hi Jorge,

    The code in the third box during initialization of stack works for me but you have to follow the steps in getting the RAM base in page 5/18 in the migration document. Do not include the sd_ble_opt_set in during stack initialization but instead use it before connecting. See the SD document of sd_ble_opt_set .

    Regards, -Mc

Children
No Data
Related