2019-03-20 12:34 AM
Hi,
I'm working on the new BlueTile board (STEVAL-BCN002V1B) including a BlueNRG-2 module. According to documentation, BlueNRG-2 should support data length extension from Bluetooth 5.0. Has this feature already been added to the SDK ?
It seems that the library only include BlueNRG-1 stack and the bluenrg1_stack.h clearly state that the feature is unsupported (line 25 of the snippet) :
/**
*
* This structure contains memory and low level hardware configuration data for the device
*/
typedef struct {
uint8_t* bleStartFlashAddress; /**< Start address for the non-volatile memory area allocated according to TOTAL_FLASH_BUFFER_SIZE (Aligned to 2048 bytes flash sector boundary) */
uint32_t secDbSize; /**< Size of the database used to store security information for bonded devices (FLASH_SEC_DB_SIZE used in the calculation of TOTAL_FLASH_BUFFER_SIZE). Current SUPPORTED VALUE is 1024 */
uint32_t serverDbSize; /**< Size of the database used for service change notification for bonded devices (FLASH_SERVER_DB_SIZE used in the calculation of TOTAL_FLASH_BUFFER_SIZE). Current SUPPORTED VALUE is 1024 */
uint8_t* stored_device_id_data_p; /**< Address of the const device id data vector (56 bytes, 32bit aligned FLASH area, all elements must be initialized to 0xFF) */
uint8_t* bleStartRamAddress; /**< Start address of the RAM buffer for GATT database allocated according to TOTAL_BUFFER_SIZE (32bit aligned RAM area) */
uint32_t total_buffer_size; /**< TOTAL_BUFFER_SIZE return value, used to check the MACRO correctness*/
uint16_t numAttrRecord; /**< Maximum number of Attributes (i.e. the number of characteristic + the number of characteristic values + the number of descriptors, excluding the services) that can be stored in the GATT database. Note that certain characteristics and relative descriptors are added automatically during device initialization so this parameters should be 9 plus the number of user Attributes (NUM_GATT_ATTRIBUTES used in the calculation of TOTAL_BUFFER_SIZE) */
uint16_t numAttrServ; /**< Maximum number of Services that can be stored in the GATT database. Note that the GAP and GATT services are automatically added so this parameter should be 2 plus the number of user services (NUM_GATT_SERVICES used in the calculation of TOTAL_BUFFER_SIZE)*/
uint16_t attrValueArrSize; /**< Size of the storage area for Attribute values (ATT_VALUE_ARRAY_SIZE used in the calculation of TOTAL_BUFFER_SIZE)
This value depends on the number of attributes used by application. In particular the sum of the following quantities (in octets) should be made for each attribute:
- attribute value length
- 5, if UUID is 16 bit; 19, if UUID is 128 bit
- 2, if server configuration descriptor is used
- 2*numOfLinks, if client configuration descriptor is used
- 2, if extended properties is used
The total amount of memory needed is the sum of the above quantities for each attribute.
*/
uint8_t numOfLinks; /**< Maximum number of simultaneous connections that the device will support. Valid values are from 1 to 8 (NUM_LINKS used in the calculation of TOTAL_BUFFER_SIZE). */
uint8_t extended_packet_length_enable; /**unsupported feature (reserved for future use)*/
uint8_t prWriteListSize; /**< Prepare Write List size in terms of number of packet with ATT_MTU=23 bytes */
uint8_t mblockCount; /**< Number of allocated memory blocks */
uint16_t attMtu; /**< Maximum supported ATT_MTU size */
hardware_config_table_t hardware_config; /**< Structure containing low level hardware configuration data for the device */
} BlueNRG_Stack_Initialization_t;
If the feature is not supported yet, do you have a guess on when it will be ?
Thanks
Lucas