This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

uart receiving date delay on Android 5+ using 51822

Our BLE hardware is designed to send data at 50 Hz speed continuously using nrf51822. It worked well with APP with Android 4.3 and some Android 5.0/6.0 ,we can receive data continuously and smoothly on APP. But on most of Android 5+ phone , we saw serious time delay that means receiving data 'jumped' on Phone screen.

Futher more , same App and same device on IOS worked well ,no time delay.
Anyone seen this problem before? and how to solve it ? Thank so much .

Parents
  • Hi, what GAP roles (Peripheral/Central) are you having on each side of the link? What connection interval is used? In case it's more then 20ms (= 50Hz) do you negotiate faster? Do you have RF trace of what is happening in the air? Several early Kit Kat Android phones were able to go as low as 7.5ms connection interval while most of Android devices since 5.0 are using 48.5ms (when in GAP Central role). This would easily explain why your 50Hz expectations are too ambitious. The same for iOS: it uses connection interval 30ms when it is GAP Central so again normally you won't achieve 50Hz.

    I'm wondering what do you actually mean by 50Hz. If your samples are short (few bytes) then you can simply stamp them and stream over the PDUs independently on the connection interval. Until you achieve better throughput then 50x(sample size) then you can easily restore the data in the mobile without any loss of information. Sure, there will be always delay up to 1 connection interval (30~50ms).

    Cheers

  • thanks for your advice. we wil try this API and see what happen.

Reply Children
No Data
Related