Throughput ATT_MTU

We are using nrf52832 soc for our product development and using that we are trying to increase the throughput of our device using the information from the following forum:
Novel Bits throughput guide 
In this forum it states that the Maximum GATT MTU SIZE possible is 247 bytes in which 244 bytes of data is the actual payload size and if the data is greater than the limit, then it will split into multiple packets. So we tried to send more that 247 bytes of data just to check how the data split in multiple packet is working. We tried to sent 256 bytes of data and we were able to get 255 bytes of data without any splitting, which is more than 247 bytes. So we are wondering what is the Maximum GATT MTU SIZE possible in nrf52832 soc. 
We also looked into the throughput example provided by the nordic (ble_app_att_mtu) and in that MTU size is set to 247 and data length is set to 251 which is less that what we are able to send from nrf52832 to phone, is there any possible explanation for this?

Parents
  • Hi

    3. I think the reason you're only able to get some of the data on the iOS device is that iOS is somewhat restricted and I think it's only possble to transmit 184 bytes at a time, so try setting the BLE_GAP_DATA_LENGTH to 184 instead as that should let you receive all the data onto the iOS device as well. This is a choice from Apple, as it doesn't go entirely in thread with the BLE specs.

    4. So, the throughput is measured in bits, not bytes. So 24000 bytes = 8 * 24000 bits = 192 kbits. Then, 2 minutes = 120 seconds. So the throughput in that scenario would be 192 000 bits / 120 s = 1,6 kbits/s

    Best regards,

    Simon

Reply
  • Hi

    3. I think the reason you're only able to get some of the data on the iOS device is that iOS is somewhat restricted and I think it's only possble to transmit 184 bytes at a time, so try setting the BLE_GAP_DATA_LENGTH to 184 instead as that should let you receive all the data onto the iOS device as well. This is a choice from Apple, as it doesn't go entirely in thread with the BLE specs.

    4. So, the throughput is measured in bits, not bytes. So 24000 bytes = 8 * 24000 bits = 192 kbits. Then, 2 minutes = 120 seconds. So the throughput in that scenario would be 192 000 bits / 120 s = 1,6 kbits/s

    Best regards,

    Simon

Children
Related