nrf52832 changing data length

Hi,

I designed a bluetooth device that stores 8kb of data. With 20ms connection interval, data is sent to the smart phone in 3 minutes which is to high for this project. Is there any solution to decrease this time.

Thank you.

Parents Reply Children
  • memset(&add_char_params, 0, sizeof(add_char_params));
    add_char_params.uuid              = BLE_IPS_UUID_TX_CHAR;
    add_char_params.uuid_type         = p_ips->uuid_type;
    add_char_params.init_len          = 100;
    add_char_params.is_var_len=true;
    add_char_params.max_len           = 100;
    add_char_params.char_props.read   = 1;
    add_char_params.char_props.notify = 1;

     I use ble_app_blinky peripheral example. And i changed max_len parameter to the 100 bytes seen above in the ble_ips.c. I send 100 bytes with 20ms interval from android phone but peripheral recevies 20 bytes at every 20ms. Actually i do not know how to increase throughput

    Thank you.

  • The parameter you have changed here - add_char_params.max_len configures the maximal length of a single characteristic that is sent. So, this will increase throughout, but it is not as detrimental as which connection parameters are being used.

    In general you can only set a preference on a peripheral device, because it is the central that decides which connection parameters are actually used - and smartphones are sometimes restrictive to accept the preferences of the peripherals if they are too frequent, since this leads to an increase in power consumption.
    Either way, you could try to change the preferences of the peripheral device to see if the smartphones accepts them.
    In most SDK BLE peripheral examples you can find the preferences for maximum connection interval, minimum connection interval, slave latency and connection supervision timeout as defines at the top of the example.
    Change these to match the configuration described in the throughput document I linked in my previous reply, and see if this increases your throughput.

    Which application are you using for your central device? Is it a custom smartphone application you have built?

    Best regards,
    Karl

Related