This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640 BLE Throughput - Receiving 128KB

Other Parts Discussed in Thread: CC2640

Hi,

I have created custom OAD and I experience problems with high speed data reception on the CC2640 side -

 CC2640 receives data from iPhone and data stream stops after sometime (a few seconds)

CC2640 and Ubuntu SW with sends the same file 128KB works fine at relatively high speed  328Byte per second

Any suggestions ?

Best regards, Bitkiller

  • Hello,

    Have you taken a BLE air sniffer trace to see what is going on? I suggest starting with the sniffer. I've heard, anecdotally, that if you flood iOS with too many Write Cmds (No Resp), they will get lost in the iOS stack. That could be causing a sequence dead lock if you peripheral is waiting for something that your Client thinks is sent.

    Best wishes
  • Hi,

    After some investigation it looks like data is not coming out the phone after sending less than 500 bytes. 

    Any advise how to fix this ? What would cause the commands to get lost ? 

    BR, Bitkiller.

  • Hi Bitkiller,

    I would suggest implementing a feedback / ack mechanism in the OAD profile so that the phone / Client will be notified if the Server (OAD Target) did not receive a packet. It can then resend the missing packet(s).

    Best Wishes
  • Hi JXS,

    There is a downside in the ACK\NACK scheme and that is the speed of the OAD process being very slow.
    Is it possible to get high speed rates with ACK/NACK mechanism ?

  • Most probably you'll need to send X Write No Rsp packets (based on what you think you can get through w/o dropping on the phone side), then send an ACK (Notification). You can do this all with Notification / Write No Rsp. Ultimately, you are working around an issue on the phone side.

    Best wishes