Question Usb Host Shield sparkfun

Je viens de lire le datasheet du max3421 par pur curiosité et j'ai découvert qu'il pouvait agir en host ou en slave. :o

"The MAX3421E is a dual-role (peripheral and host) USB controller, so it implements the digital
portion of OTG. Although it does not contain VBUS control and other analog details required by an OTG device,
these functions can be added with external circuitry and controlled by the MAX3421E general-purpose IO pins."

De là une question me taraude l'esprit:
Serait il possible d'utiliser la UsbHostShield de sparkfun en slave usb ce qui permettrai d'avoir un support usb full speed 12Mps (et donc plus puissant que la librairie avr-vusb) ?

http://pdfserv.maxim-ic.com/en/an/AN3782.pdf

Il propose même un exemple pour faire une mini clef usb.

Actuellement j'utilise cette librairie qui fonctionne trés bien :

mais en existerai une autre (ou un fork modifié) qui prendrai en charge le mode slave ? Ou est ce que je fait totalement fausse route ?

De plus la shield de sparkfun inclut une mini zone de prototyping donc je suppose qu'elle a été inclut avec l'idée de l'utiliser pour mettre en place l'électronique nécessaire à un système OTG ? J'ai tout bon ?

Juste un petit up,

Personne aurait la solution magique pour passer la Usb Host shield en mode slave ?

est-ce que ceci répondrait en petite partie à ton attente ?

sinon, il y a ça et ça aussi

Ensuite, l'USB, c'est du série, non ? donc avec la lib sérial, y'a pas moyen ?

Tout ça, ça parle de l'arduino, et pas du usb host shield, mais à la base, ton arduino connecté en usb sur ton PC, il est bien en slave non ?

Tu n'as pas du bien comprendre.
La Usb Host Shield permet à l'origine de connecter un périphérique (clef usb, dongle bluetooth, souris, clavier, webcam, ...) via usb à la board arduino (liaison 3wire SPI).

Par défaut la shield fonctionne en host (maitre) donc impossible par exemple d'émuler une souris usb (ou autre) en mode slave.
Seul solution pour utiliser une board arduino en slave usb pour le moment (comme une board teensy) c'est soit de reprogrammer la puce Atmega8U2 (UNO/MEGA2560) ou alors d'utiliser la librairie vusb.
Problème, avec la première il faut re-reprogrammer l'Atmega8U2 pour uploader un nouveau sktech et avec la deuxième seul le protocole usb 1.1 est utilisable.

Si il exister un moyen d'utiliser le max3124 de la Usb host shield, il serait alors possible d'ajouter un support usb 2.0 compatible avec les hub et 6*2 I/O pour une utilisation général à une board arduino pour 25$.