Other Parts Discussed in Thread: CC2540,
Hello,
I am using CC2541 SimpleBLEPeripheral application. I have queries on Back to back Notifications within Connection Interval.
1) In Notification mode, how many max packets are transmitted back-to-back. Is there any indication whether stack level buffer is full. Assume Connection Interval is 100ms and if I want to Notify every 10ms, whether can I send 10 Notifications back-to-back in same Connection Interval.
2) Assume from application I will read 80 bytes at a time from Flash and call SimpleProfile_SetParameter().
a) Whether stack will take care of sending Notifications back-to-back within Connection interval.
b) If all are not able to send within same Connection interval, whether stack will send in next Connection Interval.
When I try 80 bytes I am getting status as 0x1B (MTU size is out of range) in gattServApp_SendNotiInd(). But below statements inside gattServApp_SendNotiInd() is misleading.
// If the attribute value is longer than (ATT_MTU - 3) octets, then
// only the first (ATT_MTU - 3) octets of this attributes value can
// be sent in a notification.
c) Also in BLE Core_v4.2 standards, LLID is 01b there can be “Continuation fragment of an L2CAP message”. But if I send more than 20 bytes into SimpleProfile_SetParameter() I am getting status as 0x1B (MTU size is out of range). Please correct my understanding, if I am wrong.
3) Whether can I send 12 (LL_MAX_NUM_DATA_BUFFERS) back-to-back Notifications within same Connection interval because of below macros.
In hci.h
#define HCI_MAX_NUM_CMD_BUFFERS LL_MAX_NUM_CMD_BUFFERS
#if defined(CC2540) || defined(CC2541) || defined(CC2541S)
#define HCI_MAX_NUM_DATA_BUFFERS LL_MAX_NUM_DATA_BUFFERS
#endif // CC2540 | CC2541 | CC2541S
In ll.h
/*
** LL Buffers Supported
*/
#define LL_MAX_NUM_DATA_BUFFERS 12
#define LL_MAX_NUM_CMD_BUFFERS 1
Thanks & Regards
Vishnu Beema