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

S132 v2 how to pass 6 packets per connection interval?

How to enable passing 6 packets per one connection interval (BLE UART Central + Peripheral example)? (7.5ms connection interval)

  • You need to use the latest alpha to achieve this, -8.alpha. You can download it here. It doesn't have any SDK support yet. Let me know if you get into trouble.

  • How can i fit SDK UART example to use Ыe 132 v2XX0.8 SoftDevice?

  • There are quite a few changes between -7.alpha and -8.alpha, as you can see from the release notes. The required flash and RAM have changed. The RAM used by the SoftDevice now also depends on how it is configured, the number of links, what kind of links, and what kind of bandwidth the links should have. And to be able to achieve 6 packets per connection interval you need to configure the bandwidth of both sides of the link to be BLE_CONN_BW_HIGH. I will try to make an example for you, but I don't have time today.

  • Merry Christmas Peter. It would be great to have it before 10th of January. BLE UART Central _ Peripheral (echo mode) i send some data and give it back (6 packets per 7.5 should be achieved).

  • I have made an example for you. I used ble_app_uart and ble_app_uart_c from SDK11.0.0-2.alpha as starting points. It is tested with two PCA10040 boards, and I have only changed the PCA10040 projects.

    I removed the SoftDevice Handler library, since it doesn't support the latest release yet. I added functions for enabling the SoftDevice and BLE and for getting events from the SoftDevice, ble_stack_init() and SWI2_EGU2_IRQHandler(), respectively.

    Both sides have a while(clear_to_send) in main(). In this while notifications(peripheral) and write commands(central) will be sent until BLE_ERROR_NO_TX_PACKETS is returned. clear_to_send will be set to true again when the BLE_EVT_TX_COMPLETE event is received (see ble_evt_dispatch()). I haven't implemented echo functionality.

    The payload size is 20 bytes, the connection interval is 7.5 ms, and 6 packets will be sent each way in each connection interval.

    Please be aware that this is not well tested, and is given as a proof of concept.

    I recommend you to have a separate copy of SDK11.0.0-2.alpha for use with S132 2.0.0-8.alpha. You need to add the header files that come with the SoftDevice download to components\softdevice\s132\headers in the SDK.

    Here are the projects. Add "ble_app_uart_S132 2.0.0-8.alpha" to \examples\ble_peripheral and "ble_app_uart_c_S132 2.0.0-8.alpha" to \examples\ble_central in the SDK.

Related