Hello everybody (especially Gus or someone else working for GHIelectronics)
It seems like there is a bug in the USB host functionality, when reading input from a bluetooth dongle.
When making the bluetooth functionality work with a PS3 Controller (http://wiki.tinyclr.com/index.php?title=PS3_Controller). I discovered that it you can only read a maximum of 16 bytes when reading from a interrupt endpoint - look in the code, at the “EV_REMOTE_NAME_COMPLETE” case. I made a work around, so I just read the next 16 bytes and so on, until the name has been read. At first I thought it was normal, but then I tried to port the program to the USB Host Shield for Arduino (http://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino/), and I discovered that it can read all the byte (255 in total), without problem. It seems like that it automatically reads the 2. byte, and sees that the length is 255 (0xFF), and automatically read the rest. See this picture: https://picasaweb.google.com/lh/photo/6Qb5lzsw-LsO9Vlxjmqs7g?feat=directlink
I know that the max packet size says, that the maximum packet size is 16 byte (see this picture: https://picasaweb.google.com/lh/photo/CxYsmjAPvYhpSE942JsEJQ?feat=directlink) - but if the USB host shield can support it anyway, then the FEZ should too?
It the same problem with reading the bulk input (for reading button, status, accelerometer, gyro etc.) - it can not read all the bytes - it should be possible to read 64 (again see this picture: https://picasaweb.google.com/lh/photo/CxYsmjAPvYhpSE942JsEJQ?feat=directlink), but it can not. It can only read 31 bytes???
I haven’t got it working with the USB host shield yet, but I will write as soon as I got it working, and tell if it can read all the bytes sent from the PS3 Controller via the Bulk Input pibe.