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

ble_uart demo throughput is very slow

Hello Nordic,

I am using the BL600 third-party module and SDK 10. I was able to modify and compile project with GCC at examples\ble_peripheral\ble_app_uart\ for s110. It works nice, but the transfer speed is very low (around 500 Bytes/s). When I send a big chunk of data via UART, the module sometimes just hangs up. Definitely this example is not suitable for production. I have read all topics with descriptions about increasing the speed, but w/o success. Maybe Nordic can provide some good example for handling big amounts of data via BLE UART? Maybe with results of transfer speed for some evaluation board...

Parents
  • I added this event handler to static void on_ble_evt(ble_evt_t * p_ble_evt) function.

      case BLE_EVT_TX_COMPLETE:
    printf("TX count per interval %d\n",  p_ble_evt->evt.common_evt.params.tx_complete.count);
    app_uart_evt_t fake_evt;
    fake_evt.evt_type = APP_UART_DATA_READY;
    uart_event_handle(&fake_evt);
    break;
    

    And it always prints 1.

    When I encreased the interval upto 20 it prints like 2-3 initially and thus works quite fast. But after some time I got almost exlusively 1 and it starts to transmite with jerks. I suppose the reason is inside the softdevice... Should I try other SDs?

Reply
  • I added this event handler to static void on_ble_evt(ble_evt_t * p_ble_evt) function.

      case BLE_EVT_TX_COMPLETE:
    printf("TX count per interval %d\n",  p_ble_evt->evt.common_evt.params.tx_complete.count);
    app_uart_evt_t fake_evt;
    fake_evt.evt_type = APP_UART_DATA_READY;
    uart_event_handle(&fake_evt);
    break;
    

    And it always prints 1.

    When I encreased the interval upto 20 it prints like 2-3 initially and thus works quite fast. But after some time I got almost exlusively 1 and it starts to transmite with jerks. I suppose the reason is inside the softdevice... Should I try other SDs?

Children
No Data
Related