Improved OpenAccessory and IOIOService reliability - early testers appreciated!

145 views
Skip to first unread message

Ytai Ben-Tsvi

unread,
Mar 2, 2015, 12:54:12 AM3/2/15
to ioio-...@googlegroups.com
Hi all,
There have recently been a few reports about the reliability of the OpenAccesory connection in face of USB disconnects as well as problems related to using IOIOService in conjunction with OpenAccessory.
I'm glad to announce that I think I've fixed both problems. I've tested to the best of my ability, but obviously could benefit from different people testing on different devices, and specifically those of you who had previously reported about having problems.

The fixes are not yet pushed as a proper software release. They are available on the master branch on GitHub. If you are testing IOIOService, please pay close attention to changes in HelloIOIOService, which will guide you how you're expected to write your app's AndroidManifest.xml file to make sure connection events find their way to the service.

Would appreciate any feedback!

Tyler

unread,
Mar 4, 2015, 2:40:24 AM3/4/15
to ioio-...@googlegroups.com
Ytai, 

I would love to help. My app uses OpenAccessory and IOIOService. I'm working with an OTG and a Nexus 4. It's running 5.0.2 Lollipop, but if you want I'll boot it into another version of android to test that too. 

Just so I know what to look for - does this issue have anything to do with it?

Thanks

pogono

unread,
Mar 4, 2015, 6:15:48 AM3/4/15
to ioio-...@googlegroups.com
Thanks Ytai,

I was in trouble in developing and just decided not to go with the service. I will definitely test it. 

2 Mart 2015 Pazartesi 07:54:12 UTC+2 tarihinde Ytai yazdı:

Andries Kruger

unread,
Mar 4, 2015, 7:38:39 AM3/4/15
to ioio-...@googlegroups.com
Ytai,

This is great news. I will definitely start testing this as soon as I can. I'm going to attach about 10 devices to vehicles in remote areas in the next two weeks. Uses both the service and AOA. That will be a nice test for reliability I think.

Ytai Ben-Tsvi

unread,
Mar 4, 2015, 12:17:41 PM3/4/15
to ioio-...@googlegroups.com
Thanks, guys. Here's some focus on what/how to test:
  • Grab the latest library sources from GitHub master. Sorry, no release bundle yet.
  • Use the provided HelloIOIO app, or modify your own existing app's manifest to match that of HelloIOIO from master. Use it with AOA mode and "torture" it, e.g. plug the USB cable in and out many times, power cycle the IOIO, exit and enter the app, etc. If you get to a point where the app no longer talks to the IOIO, then you found a problem. Try to make a note on how you got there.
  • Same as above, but for an app using a IOIOService, either your own, of HelloIOIOService from master.
I'm very interested as making this aspect of using the IOIO very reliable. I want users to be able to make robust applications with it. So any problems you can find will hopefully help me make this a better product for everyone.

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ioio-users+...@googlegroups.com.
To post to this group, send email to ioio-...@googlegroups.com.
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.

Tyler

unread,
Mar 11, 2015, 1:08:45 AM3/11/15
to ioio-...@googlegroups.com
Ytai, 

I've only tested on my Nexus 4 so far, but looks pretty solid. I haven't been able to break it yet. I still need to test it with my Nexus 7 (as well as think of other ways to test the app). I'll let you know when I finish with that. 

In the mean time, any other tests you want to run? Something else you can think of? 

Attachments are the same file, different format. One is .pages, but if you don't have a Mac or iWork I also uploaded a .rtf.

IOIOService AOA Tests.rtf
IOIOService AOA Tests.pages

Ytai Ben-Tsvi

unread,
Mar 12, 2015, 12:22:00 AM3/12/15
to ioio-...@googlegroups.com

Thanks for the thorough report!
Seems like everything behaves as expected. There was no attempt made to make the service stop on disconnect, so what you're seeing is intended. The broken state upon abnormal program termination is a current known limitation. I don't consider it terrible, although it would certainly be nice if it wasn't the case. Solving this properly involves some pretty extensive changes to the protocol and I'm not sure it's worth the effort.

Paul McMahon

unread,
Mar 12, 2015, 7:04:51 AM3/12/15
to ioio-...@googlegroups.com
Good to hear the positive report.
For my application, I need to stick with IOIOLib version 3. Ytai, do you think it's possible for me to port your connection fixes back to that version?  Before I embark on that, I thought I'd see if you know of any showstoppers.
thanks

Ytai Ben-Tsvi

unread,
Mar 12, 2015, 4:58:33 PM3/12/15
to ioio-...@googlegroups.com

The backport should work OK probably.

Andries Kruger

unread,
Mar 18, 2015, 2:41:00 AM3/18/15
to ioio-...@googlegroups.com
Hi Ytai,

This update is amazing. It really solved the problem I was having:

I am going to install multiple IOIO boards in vehicles that are going to be out of my reach. I needed to have a reliable connection to the IOIO as there would be no human intervention. Prior to the update, my connection would sometimes break. I was able to recreate this problem in the office by fiddling with the connection of the USB cable. When this happened, the phone would still be charging but the connection to the IOIO would be lost. The only way I was able to solve the problem was to enable/disable USB debugging or by cycling the power on the IOIO.

With the updated libraries I could see that I managed to break the connection once again, but the software sorted the problem out by itself. I did not have to cycle the power or enable/disable USB debugging. This is such a relief. I will be installing the devices in the vehicles pretty soon and will post an update regarding stability after it has run for about two weeks.

On Monday, 2 March 2015 07:54:12 UTC+2, Ytai wrote:

Ytai Ben-Tsvi

unread,
Jul 24, 2015, 1:47:38 PM7/24/15
to Niek Haarman, ioio-users
@Niek, that is very strange. All the example applications use that, e.g.:
Do these apps work OK for you?

On Fri, Jul 24, 2015 at 5:41 AM, Niek Haarman <haarma...@gmail.com> wrote:
These fixes work for me, however when I add android:launchMode="singleTask" to my launcher activity, it doesn't work anymore.
Reply all
Reply to author
Forward
0 new messages