Hey all - coming out of lurk mode to toss out an idea.

One of the shortcomings of the Ben design is that its USB port is device-only. 
Werner has gotten around that by using the SD/MMC port in bit-banged GPIO mode 
(or other modes) to accomplish some fantastic things like the UBB, atben and 
VGA interface.

An alternative is to try something similar to what Android is doing for 
hardware interfacing via USB. As you may know, Android only specifies that 
phones provide USB device capability, much like Ben. To allow Android 
smartphones to interface with the external world there are a number of 
imaginative workarounds, but they generally boil down to making some simple 
external device that acts as a limited USB host which enumerates the Android 
phone and starts up some sort of existing protocol.

Prior to Android 2.3.4 this involved using the built-in Android Debug Bridge 
(ADB), but with the release of 2.3.4 they're also providing the Accessory 
Developers Kit (ADK). This is a simple low-level byte oriented data pipe 
between an off-board peripheral that acts as a host, enumerating the phone and 
starting up the ADK protocol. Google provides a fairly expensive 
Arduino-oriented development system to support this, but already there are a 
number of other folks working to provide this at a more reasonable price.

So the question becomes - what are the hurdles to overcome in building an 
ADK-compatible or ADK-like USB host emulation interface for use with Ben? A few 
things to consider.

* Is there a broad enough desire for hardware interfacing on the Ben platform 
to justify going forward with such a development, or are the existing options 
(ubb, atben, etc) sufficient?
* Freedom is critical to the qi-hardware community: Is the Android ADK protocol 
sufficiently open and free to use?
* If yes to the above, what would be involved in developing an ADK kernel 
driver for Ben's USB device port?
* If no, could something equivalent be developed by the qi-hardware community?
* What sort of external hardware device would be required? The Android 
community has things like the IOIO 
(http://ytai-mer.blogspot.com/2011/06/ioio-over-openaccessory-adk-available.html)
 which appear to be based on simple MCUs with host/otg capability.

Thoughts?

Eric


_______________________________________________
Qi Hardware Discussion List
Mail to list (members only): [email protected]
Subscribe or Unsubscribe: 
http://lists.en.qi-hardware.com/mailman/listinfo/discussion

Reply via email to