Why I always encounter "Connection State: Connected(Limited)"

Hi All,

I am using iOS and metawearRG , FW Rev=1.2.5.
Sometime the metawear's data just come to my iphone slower than normal.
Then I use the default metawear's iOS app to check and it said the "Connection state: Connected(Limited)"
Then I reset it and everything just back to normal.

1. I want to know what does it means by "Connected(Limited)", it means connected or not connected? how limited it is?

2. Possible reason for "Connected(Limited)"

3. How should I deal with this issue? Should I force my app reset metawear each time when user try to connect to metawear?

Thanks a lot!
Regards,

David Au

Comments

  • This happens to me as well. It can usually be resolved inside your own app by stopping all devices after you connect, then restarting them. I think the board is left in a broadcasting state sometimes and needs to have services explicitly stopped. You can also dry cycling through connect-disconnect-connect.

    --Alex
  • At a high level the "limited" connection just means that the device you connected to has been programed by another application.  Because the MetaWear is highly programmable, it has a lot of on board state which cannot be tracked across separate iOS applications, thus you must plan for a 1:1 mapping of MetaWear device to iOS application.  In order to reduce accidental errors, the sample MetaWear iOS app will not allow you to change settings on a device that has been programmed by another app.

    As for the slow data, as Alex said, if you don't always clean up the notification streams, they can end up persisting across connections and silently steal Bluetooth bandwidth.  The SDK will attempt to clean up leaked stream, but it won't always be successful.  By resetting the device you effectively stop all these streams and unlock the full Bluetooth bandwidth again.






This discussion has been closed.