Re: Data loss during BTLE repeated write with CoreBluetooth on iOS
Re: Data loss during BTLE repeated write with CoreBluetooth on iOS
- Subject: Re: Data loss during BTLE repeated write with CoreBluetooth on iOS
- From: Nick Brook <email@hidden>
- Date: Tue, 29 Apr 2014 07:47:28 +0100
Thanks for the response.
BLE113 uses TI2541, but using a packet sniffer I found it is iOS not sending the data that is the problem. Using Bluetooth diagnostics I found it gets an error from GattGateway.cpp when the buffer is full, but it is not handled higher up the stack. It is likely the transfer duration is peripheral/use specific as the BLE113 was correctly rejecting the next packet until it was ready, which typically took about 75ms, thus the required pause for ~100ms in my case (I've not tried any closer to 75, but 50 doesn't work). I am therefore pretty sure this is just an iOS CoreBluetooth implementation problem. I reported it as a bug and it got flagged as a duplicate of rdar://16061239. I asked for a suggested workaround and received no response so I guess at this stage the best approach is to simply increase the delay until it works in your use case. Not great!! Regards Nick Brook
On 29 Apr 2014, at 00:57, Tom Tyris Graham < email@hidden> wrote: Hi Nick, We use BLE to copy files and firmware updates to our peripheral, so we've struggled with getting the throughput up. One of the very early problems we had was with the peripheral having no fifo on its receive buffer (I think it was the TI CC2540). This was causing it to drop data due to the buffer wrapping if we sent it too quickly.
We're now using a different chip (dual BLE and classic) that doesn't have this problem. From the iOS end we can call writeValue with WriteWithResponse as fast as we need to and we no longer get any data loss.
Regards, Tom
|
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Bluetooth-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden