Throughput for GATT read, write, and notify

51 views Asked by At

All BLE devices use GATT in which device #1 basically reads and writes device #2's "characteristics". Additionally, #2 can notify #1 regarding a characteristic change.

On this GATT stack, I want to send about 100 kB from a Texas Instruments CC2652 device to an Android phone, and have used this throughput example to push the "overhead-included 2 Mbps" theoretical limit.

If my understanding of the code is correct, Texas Instruments is just doing a "notification" ("GATT_Notification(connHandle, &noti, 0x00)") for a characteristic ("Toggle_Throughput Characteristic Value") in its GATT table to achieve this.

This notification uses a ~250 B buffer (in the "noti" structure) for maximum throughput but, surprisingly to me, the GAAT characteristic used here by Texas Instruments is only a one-byte field.

Am I understanding this right? If I had not seen this example code, I would have thought that any notification about one byte of data would in principle just tell me to look at that byte, so my throughput could be limited by one-byte parcelization... Would my using a characteristic size larger than one byte improve throughput here?

GATT reading or GATT writing of this one-byte characteristic would have lower throughput than GATT notifying, right?

0

There are 0 answers