I am going to find out an ideal throughput of NRF52832. And my environment is NRF52832/S332/MTU 247/connect interval 20ms.
Finally, i got a maximum value about 23Kb/s. I receive data and record timestamp from PC tools(programmed by C# to receive Nordic nus service notification data), when data transmission done,calculate the transmission speed.
Still confused as 23Kb/s is much lower than the target and I think i did everything in right way.
I found that i have only send one packet per connect interval,It's supposed to be more than one.
I use API: ble_nus_string_send to keep sending 244 bytes data until i get error return. Then I wait for BLE_GATTS_EVT_HVN_TX_COMPLETE to send data again. And I found every function call of ble_nus_string_send, i will get corresponding BLE_GATTS_EVT_HVN_TX_COMPLETE.
In my opnion, or the info i have got, for per connect interval, more than one packets can be transmitted(IOS:4, Android:6).
Follows are my questions:
1.Based on my environment, what is the actual transmission speed of Nordic Nus notification?
2.Is there any detail i forgot? What should i do to improve the speed to more than 40Kb/s.