The PSoC 6-PSoC6 throughput measured 1270 Kbps with extended datarate enabled.
Please go through the code example provided byt Cypress from the link below:
Please ensure that you are following the same firmware flow in your application. If you follow that and still if you are getting low throughput means, please attach the minimal project for us to debug at our side.
the example uses notifications to measure throughput. Unfortunately we are in oposite situation. We are using write without response (CY_BLE_EVT_GATTS_WRITE_CMD_REQ) and an BLE 4.0 android device. It means only 4 x 20B packets per interval window. Teoretical throughput in such environment is 10.4KB/s.
We calls Cy_BLE_ProcessEvents(); each 5ms. From documentation Cy_BLE_ProcessEvents should process all pendling operations. "
On calling at every interval 't', all pending operations of the BLE Stack are processed." Still, We see that each packet needs to be resent when central device sends 4 packets per 7.5ms window.
Each packet is one incomming operation? Does it mean that we have to call Cy_BLE_ProcessEvents more frequently? Have BLESS a function to know that an operation is ongoing and Cy_BLE_ProcessEvent should be called?