• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Low Power RF & Wireless Connectivity » Low Power RF Bluetooth® Low Energy & ANT Forum » CC2540 multiple notifications per connection event
Share
Low Power RF & Wireless Connectivity
  • Forums
  • Announcements
  • Files
  • E2E Wiki
Options
  • Subscribe via RSS

Forums

CC2540 multiple notifications per connection event

This question is not answered
Marcel da Silva
Posted by Marcel da Silva
on Jun 12 2012 03:22 AM

Dear all,

I am playing around with TI CC2540 Keyfob and USB Dongle DK. 

I took the simpleBLEPeripheral-Project and made some modifications to it, to test data rate. If I press the left key (which sets an event), I am able to send GATT_Notification. Just for test purpose a tried to add several GATT_Notification commands in SimpleBLEPeripheral_ProcessEvent, what results in multiple packets being sent in one Connection Event. However, the maximum number of notifications within on Connection Event is never more than 4, even if I call GATT_Notification e.g. 5 times, I can only see 4 of them on the sniffer.

I consulted Bluetooth Core Specification V4.0 and couldn't find anything saying that the maximum number of packets in one Connection Event is 4. 

Is there any way to increase this? Is this a given limit of TI-Stack? If so, can we expect this to be changed in the near future?

Thanks, Marcel

ble cc2540 notification gatt_notification connect event
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Karl T.
    Posted by Karl T.
    on Jun 12 2012 03:55 AM
    Expert3500 points

    Hi Marcel,

    You are right, the BLE stack is limited to processing a maximum of 4 packets per connection event. We are currently looking into whether this can be increased in the next revision of the stack.

    Best regards,

    Karl

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Marcel da Silva
    Posted by Marcel da Silva
    on Jun 14 2012 07:22 AM
    Expert0 points

    Hello Karl,

    Thank you for your reply. Can you make any prediction about when a new revision of the stack will be available? 

    Best regards,

    Marcel

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • tylerw
    Posted by tylerw
    on Jun 20 2012 12:43 PM
    Intellectual525 points

    Hi Karl,

    Slightly off topic, but is this limitation based on the number of HCI buffers available at the controller?  Is there anyway to increase the number of HCI buffers?  

    I found

    #define HCI_MAX_NUM_DATA_BUFFERS 0x04
    #define HCI_MAX_NUM_CMD_BUFFERS 0x01

    in hci_controller.h, but changing these constants doesn't seem to have any affect.

    In my solution I have to use a FIFO to buffer packets in the case when GATT_Notification() call fails due to "MSG_BUFFER_NOT_AVAIL".

    Thanks,

    -Tyler

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Hafiz Ahmed
    Posted by Hafiz Ahmed
    on Sep 06 2012 22:38 PM
    Intellectual300 points

    Hi Karl,

    If the BLE stack is limited to processing a maximum of 4 packets per connection event, does this mean that if my application has more than 4 characteristics I cannot write to all of them in the same connection event?

    Thanks

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • kazola
    Posted by kazola
    on Sep 08 2012 08:31 AM
    Guru10665 points

    There is a bit of confusion around all the forum.

    4 notifications per connection event is the maximum if a 20 bytes size is considered. This was an experiment Karl gently gave to the community to test the maximum throughput in BLE, where the connection event was 6 (7.5ms) and the number of notifs = 4 (20bytes each).

    If you use a longer connection interval and/or lower packet size, you will be able to send more.

    There are threads in the forum with 6 and 7 notifications per connection event.

    Bye!



    Please click the     Verify Answer     button on a post if it answers your question! :)

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Hafiz Ahmed
    Posted by Hafiz Ahmed
    on Sep 08 2012 09:52 AM
    Intellectual300 points

    Thanks for your answer, but I have another question: looking at the connection event at channel 0x1F in the below figure

    what are the yellow packets which don't have PDUs on them? are these the packets to maintain the connection? Do I have to take them into consideration when calculating the number of bytes that can be sent in a connection interval?

    Thanks in advance

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • kazola
    Posted by kazola
    on Sep 08 2012 13:51 PM
    Guru10665 points

    I do not see the picture because I'm on my mobile phone but they can be ACKs or polls, depending on your app.

    I do not think there are keep-alive packets in BLE but if I do not remember wrong, the connection events start with a poll.

    I would not take them into account. In fact, for rapid througput calculations what I do is to take all the packets in a connection event during a second, divide the whole number by two (to discard this short packets). and multiply for the number of bytes.

    Adéu!



    Please click the     Verify Answer     button on a post if it answers your question! :)

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Hafiz Ahmed
    Posted by Hafiz Ahmed
    on Sep 08 2012 14:26 PM
    Intellectual300 points

    Kazola,

    Thanks for your answer 

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • kazola
    Posted by kazola
    on Sep 08 2012 20:33 PM
    Guru10665 points

    If this answers your questions, verify the thread just to keep the forum cleaner :)

    Bye!



    Please click the     Verify Answer     button on a post if it answers your question! :)

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Aslak N.
    Posted by Aslak N.
    on Sep 10 2012 08:30 AM
    Expert5320 points

    Hi Hafiz,

    A connection event consists of both initiator and peripheral Rx/Tx periods. I.e. they switch back and forth. You can see from the timestamp that they occur 295 µs after the previous packet. This indicates that they are sent by the reciprocating device within the same connection event. Hence they are not interesting for calculating write speed, as they have no relevance.

    LLID of 1 indicates empty packet or continuation packet. In this case empty as pdu len is 0.

    See the bluetooth core spec (http://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=229737) Volume 6, Appendix B, Chapters 2.4 and 4.5.6/9 if you are interested.

    Best regards,
    Aslak 

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

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.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use