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.

OAD slow from OSX

Hi all,

Having some problems with performing OAD from an OSX application. We have it working with the sample iOS code from TI (only modified to port to OSX). 

In our image A we have the following connection parameters defined:

/********* fast connection ********/

// Minimum connection interval (units of 1.25ms, 80=100ms) if automatic parameter update request is enabled
#define DEFAULT_FAST_DESIRED_MIN_CONN_INTERVAL 80

// Maximum connection interval (units of 1.25ms, 100=124ms) if automatic parameter update request is enabled
#define DEFAULT_FAST_DESIRED_MAX_CONN_INTERVAL 100

We realize that these should be much faster for future releases.

And when the mac connects to image A we get several connection updates which finally result in the last one as shown below:

So it looks like we settle on a connection interval of 123.75ms, which is slow but shouldn't be agonizingly slow.

However once we start transferring the data we aren't using anywhere near the 123.75ms interval when sending:

Its using closer to ~618ms (which looks like the latency + the interval). This means our OAD is taking around 22 minutes instead of the expected ~5-6 mins.

Does anyone have any idea how to make OSX max out the connection interval? or how to speed it up at all?

I have attached a full log from PacketLogger below if anyone needs more information.

Thanks

  • Hi Nigel,

    I am not familiar with developing on OSX but there is a similar issue on smart phones sometimes;

    Do you know if the OSX uses a hardware module which is shared with WiFi and Bluetooth Classic? If so, it might be that OSX executes higher effective connection intervals to ensure WiFi and Bluetooth Classic communication...

    Best Regards 

    Joakim

  • Hi Joakim,

    Thanks for the reply. I thought that could be the case too but it looks like this machine uses the following BLE module:

    http://www.broadcom.com/products/Bluetooth/Bluetooth-RF-Silicon-and-Software-Solutions/BCM20702

    according to this tear down anyway:

    https://www.ifixit.com/Teardown/MacBook+Pro+15-Inch+Retina+Display+Late+2013+Teardown/18696