I modified the KeyFobDemo application (following the excample http://processors.wiki.ti.com/index.php/CC2540_Data_Throughput) which now sends data from the CC2540 Keyfob to the USB Dongle. Sending starts immediately after the gapProfileState change to GAPROLE_CONNECTED.
I call the function 4 times, so 4 GATT_Notifications with each 10 byte were sent.
With BTool, I see that the data arrives, but unfortunately I can’t use a sniffer to check if 4 packets per interval are sent. For this reason I take an oscilloscope to check the Rx/Tx phases.
I have read in several threads ( http://e2e.ti.com/support/low_power_rf/f/538/t/123119.aspx or http://e2e.ti.com/support/low_power_rf/f/538/t/194407.aspx) that the maximum is 4 packets per interval, but as you can see in the following oscillogramm there are 5 Rx/Tx phases in the second interval. Sometimes there are even 6 Rx/Tx phases.
(note: timebase is 4.15 ms/div in zoom)
Does anyone have an explanation?
This is interesting, do you have the BTool log to verify that >4 notifications actually was sent (and received by BTool)?
yes, the function "sendData" count the notification and put the result in byte 2 and in my case byte 3. BTool received all notifications with hex values from 00 to 22, next is 26. So the first 34 notifications arrived, after that the UART is to slow I think. Or am I wrong?
Here you can see the actually oscillogramm with first 3 adv packets and again 5 data packets in the second connection event.
and the BTool log for the packets 2-5
I now know the reason. The maximum of 4 notifications has been around the discussions regarding maximum throughput, that is using notifications with 20 bytes of data. When sending (queueing) notifications with smaller payload it is possible that more packets are sent during the actual connection interval. The limit is 80 Bytes of user data per connection event.
I hope that cleared things up.
that sounds obvious. I'll test and check it as soon as possible with the maximum of 20 bytes and report the result.
Thanks a lot
yes, you were right. I checked it with 20 bytes and the maximum were 4 notifications. With 2 bytes, sometimes there were up to 8 notifications per event or even more. So not the notifications are limited, they only depend on the maximum data size of 20 bytes.
Thanks a lot for clearing up
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.