2021-08-27 03:30 AM
Hii guys,
we are using the STM32WB50 controller in our project. Stream 23000 bytes continuously in a second(46bytes after every 2-millisecond interval) using Bluetooth low energy system provided by the STM32WB microcontroller.
To successfully transmit data from transmitter to receiver, we refer to the BLEDataThroughput project provided with the STM32WB cube library.
MTU size: 251 Bytes
Gatt characteristic size: 255 Bytes using property notify
Connection Interval min & max: 7.5 ms
PHY: 1M( STM32WB50 limit)
Is there any manner or sequence to update BLE connection parameters MTU size and connection interval?Because after all the above updates, we are getting data losses at the receiver end.
We transmit data from the server using function aci_gatt_update_char_value()
we reach upto aci_gatt_update_char_value() function using utility functions UTIL_SEQ_SetTask() , UTIL_SEQ_Run() SendData() and ***_STM_UpdateChar()as
status = DTS_STM_UpdateChar(DATA_TRANSFER_TX_CHAR_UUID, (uint8_t *) &DataTransferServerContext.TxData);
aci_gatt_update_char_value(Service_Handle, Char_Handle, Val_Offset, Char_Value_Length, Char_Value)
UTIL_SEQ_SetTask()
Is aci_gatt_update_char_value() Function blocking? Because hci_send_req(struct hci_request *p_cmd, uint8_t async) is waiting until local_cmd_status is updated in aci_gatt_update_char_value().
we have mainly 2 questions