USB dur, dur.
tablier
Membre
Je vais avoir des questions à vous poser sur l'USB dans un cas réel. Mais comme tout un chacun j'ai commencé par naviguer sur le Web et par lire de la documentation Apple. J'en conclus que j'ai deux niveaux de compréhension à franchir:
1 - Comment marche le bus USB
2 - Comment on s'en sert sous MacOSX.
Pour le 1, j'ai trouvé 2 adresses ou les explications sont en Français, ce qui simplifie la compréhension mais risque parfois d'amener des erreurs d'interprétations.
1 court sur les principes, mais comporte un exemple complet [url=http://"http://g.fondeville.free.fr/usb_cours.html"]g.fondeville[/url]
2 S'attache plus précisément à la norme USB (téléchargeable en pdf): [url=http://"http://acquier.developpez.com/cours/USB/"]b.acquier[/url]
Si vous en connaissez d'autres indiquez-les, merci.
Sur le 2, je n'ai rien trouvé en dehors de la doc Apple, et ça parait plus complexe que le 1!!!
1 - Comment marche le bus USB
2 - Comment on s'en sert sous MacOSX.
Pour le 1, j'ai trouvé 2 adresses ou les explications sont en Français, ce qui simplifie la compréhension mais risque parfois d'amener des erreurs d'interprétations.
1 court sur les principes, mais comporte un exemple complet [url=http://"http://g.fondeville.free.fr/usb_cours.html"]g.fondeville[/url]
2 S'attache plus précisément à la norme USB (téléchargeable en pdf): [url=http://"http://acquier.developpez.com/cours/USB/"]b.acquier[/url]
Si vous en connaissez d'autres indiquez-les, merci.
Sur le 2, je n'ai rien trouvé en dehors de la doc Apple, et ça parait plus complexe que le 1!!!
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
La première question qui me viens à l'esprit c'est : à tu la possibilité de modifier le firmware du matériel ?
Si oui, cela aide grandement. Si non, c'est moins simple mais faisable.
Deuxième chose à faire dans le cas du non, connaitre la configuration USB du périph. Pour cela ouvre USB Prober qui est dans les utilitaires des dev tools et recherche ton périph. Ci-joint usb prober pour le clavier Apple. Il montre que le périphérique utilise la class USB HID.
Le but des class USB est de simplifier la communication de certain apareil ayant le même but. Les périphérique d'entrée sont facilement des HID ce qui évite le développement de pilote spécifique. Les fonctions de base fonctionne nativement.
Un exemple concret : une webcam VideoClass sera automatiquement reconnu par iChat !
Voilà pour le début...
Néanmoins et pour d'autre raisons, j'ai mis un document incomplet à cette adresse: Documation-Aconit
Le document décrit ce qui à déjà été fait en électronique et indique que le PIC à été programmé (c'est modifiable évidemment).
Les deux premiers chapà®tres sont rédigés et explique bien le problème. Je suis électronicien, même si je programme en Obj-C, je n'ai jamais touché à la programmation du noyau ou des drivers! L'informaticien qui m'accompagne dans ce projet travaille sur la parallellisation de problèmes complexes et ne connaà®t rien au Mac!
Bon, Je vais continuer à lire les docs.
Il est possible d'embarquer le pilote USB dans le programme. Autre chose : fait attention au BIG-ENDIAN ou LITTLE-ENDIAN pour les infos de l'USB.
En plus commencer sur l'usb avec une comunication BULK n'est pas de tout repos. Au final j'ai utilisé un frameworks privé (je peux pas te le passer il est payant).
Autre infos qui te sera utile. Le pilotage USB se fait entièrement en C et il faut des class OBJ-C pour wrapper les fonctions.
J'en suis arrivé aussi à cette conclusion: KEXT trop compliqué pour moi et pas nécessaire car une seule application se connectera sur le lecteur. Fabien propose d'utiliser la libusb sur linux et sur mac. Est-ce que c'est faisable et une bonne idée, ou est-il préférable de faire quelque chose de plus "do it yourself"?
Si j'utilise la libusb, faut-il la rentrer dans le code de l'application ou la compiler à part et la mettre dans les ressources (frameworks?) pour l'appeler quand c'est nécessaire?
c'est cher? nota: comme c'est pour une association, nous travaillons juste pour le plaisir et la gloire!!!!! (le matériel nous a été remboursé).
Pour ceux qui ont ouvert le document cité plus haut, que pensez-vous de ce projet?
Bah pourtant c'est marqué sur la description du firmware du PIC 18F4550. Pour info le 2550 est moins gros et moins cher. Mais la production de masse n'étant pas le but cela ne change rien au projet !
Autre point, j'aurai utilisé l'USB Class CDC qui permet de faire croire au système que le périph est un port com. Il y a des exemples de code dans PicBasicPro de Microchip. C'est compatible avec tout les systèmes actuels ! Et la priorité n'est pas le débit !
Les solutions peuvent être nombreuses. Faire un frameworks de wrapping n'est pas nécessaire. Un classe ou deux suffirons. Il est même possible que cela existe déjà dans le frameworks IOKit. Il faut fouiller car la doc est peu nombreuses !
2000€ pour le code source du frameworks.
Je répond quand même et je trouve ça génial !!!!
Oullala, c'est au dessus des possibilités d'une association. Pour l'instant l'ensemble du projet à coûté 125 euro.
et pas évidente pour moi, car je n'y connais rien au départ!!!
stoooop! j'ai les chevilles qui gonflent et je ne vais plus rentrer dans mes godasses de montagne!
Merci pour ces réponses.
Bonne chance !