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.

  • softdevice_enable_get_default_config() is going to do exactly that - get you the default configuration which is medium speed central connections. You need to configure the ble_enable_params_t to have a number of high-speed central connections if you want to use them later.

    read the notes which came with the S130/S132 V2 releases, they give a number of examples of how to configure the connections you want.

Reply
  • softdevice_enable_get_default_config() is going to do exactly that - get you the default configuration which is medium speed central connections. You need to configure the ble_enable_params_t to have a number of high-speed central connections if you want to use them later.

    read the notes which came with the S130/S132 V2 releases, they give a number of examples of how to configure the connections you want.

Children
Related