Other Parts Discussed in Thread: CC2541
Tool/software: TI-RTOS
Using simplelink_cc2640r2_sdk_1_40_00_45, and creating a read/indicate CHAR on a service, the indication size is limited to 20, while the read size is limited to 251.
Is it according to the BLE standard, or is this a known limitation of the SDK ver 1.40?
Is this fixed in simplelink_cc2640r2_sdk_1_50_00_71 or simplelink_cc2640r2_sdk_1_50_00_58?
See the implementation of gattServApp_SendNotiInd, and the lines in bold
/********************************************************************* * @fn gattServApp_SendNotiInd * * @brief Send an ATT Notification/Indication. * * @param connHandle - connection handle to use. * @param cccValue - client characteristic configuration value. * @param authenticated - whether an authenticated link is required. * @param pAttr - pointer to attribute record. * @param taskId - task to be notified of confirmation. * @param pfnReadAttrCB - read callback function pointer. * * @return Success or Failure */ static bStatus_t gattServApp_SendNotiInd( uint16 connHandle, uint8 cccValue, uint8 authenticated, gattAttribute_t *pAttr, uint8 taskId, pfnGATTReadAttrCB_t pfnReadAttrCB ) { attHandleValueNoti_t noti; uint16 len; bStatus_t status; // 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. noti.pValue = (uint8 *)GATT_bm_alloc( connHandle, ATT_HANDLE_VALUE_NOTI, GATT_MAX_MTU, &len ); if ( noti.pValue != NULL ) { status = (*pfnReadAttrCB)( connHandle, pAttr, noti.pValue, ¬i.len, 0, len, GATT_LOCAL_READ ); if ( status == SUCCESS ) { noti.handle = pAttr->handle; if ( cccValue & GATT_CLIENT_CFG_NOTIFY ) { status = GATT_Notification( connHandle, ¬i, authenticated ); } else // GATT_CLIENT_CFG_INDICATE { status = GATT_Indication( connHandle, (attHandleValueInd_t *)¬i, authenticated, taskId ); } } if ( status != SUCCESS ) { GATT_bm_free( (gattMsg_t *)¬i, ATT_HANDLE_VALUE_NOTI ); } } else { status = bleNoResources; } return ( status ); }