Today, I posted a static page containing USB Host Shield hardware manual. On this page, I give introduction to the shield hardware, explain board layout, connectors and jumpers. Finally, I show some useful modifications that can be made to the board to expand its capabilities.
I decided to post it incomplete – at present, only 2.0 shields are covered. However, I’m not going to stop here – Mini will be described next followed by rev.1xx. Owners of rev.1xx may want to take a look at current page anyway since 2.0 and 1.xx are not that different.
While writing this manual I tried to cover every detail. If you think that I missed something, please let me know!
Enjoy,
Oleg.
#define USB_STATE_ATTACHED 0x10
#define USB_ATTACHED_SUBSTATE_SETTLE 0x11
#define USB_ATTACHED_SUBSTATE_RESET_DEVICE 0x12
#define USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE 0x13
#define USB_ATTACHED_SUBSTATE_WAIT_SOF 0x14
#define USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE 0x15
//#define USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR 0x16
//#define USB_ATTACHED_SUBSTATE_VALIDATE_VID_PID 0x17
//#define USB_ATTACHED_SUBSTATE_VALIDATE_CLSP 0x18
i got to ask, where did u find these data ?? thanks
Which data? What you posted here are enumeration states, they are specific to the code you copied it from.
i understand. i got it from one of the code on the usb.h file. i am just curious where u find out that the state attached is 0x10 and so on so forth. Thanks.
0x10 is just a number; could as well be 42
Thanks for your hard work. I have a question regarding MAX3421E. According to the errata sheet from Max website (http://datasheets.maxim-ic.com/en/errata/MAX3421E_REV1.pdf). This chip has three revision of firmware. I wonder which revision is mounted on your UHS? Does example/libraries have work-around for the differences?
I’m using rev3. The code works with rev2 too. I’ve never seen rev1.
Hello Oleg
I have already a (little) question about the usb-shield. Now we can buy the arudino due, but it’s an only 3.3 volt device. There are some soldering-jumper on your usb-shield.
Now my question: Can I switch the usb-shield to work with only 3.3 volt or need i a voltage converter between the two circuits?
Thanks and wishes
Peter
The shield works as-is from 3.3v – if you feed 3.3v to both 5v and 3.3v rails. There will be another problem – Due has very different architecture and won’t work with the library without modifications in low-level MAX3421E interface.
I hoped, if I build similar spi-functions like the other arduinos I can make it working. But i don’t looked at the code until now.
My first prototype work with a mega2560, maybe later i will try the due, because i will made jpeg en/decode stuff…