Interface USB <-> Electronique
blackswords
Membre
Bonjour à tous et à toutes! Voilà à force de chercher des infos je suis tombé ici et vu que j'ai pas mal de questions qui me trottent dans la tête ça tombe bien!
Bon en gros je fais dans l'électronique et j'aimerai pouvoir envoyer et recevoir des données via le port USB de mon mac. Les applications envisagées sont l'audio, la domotique et le stockage de masse. Je vais donc poser mes questions générales, je verrai pour affiner un peu par la suite.
Je programme actuellement en C, en ligne de commande mais je connais quelques trucs pour afficher des images etc. Est-ce que je peux utiliser ce langage où va-t-il falloir que je m'oriente vers autre chose? COCOA?
Est-ce que la communication USB est complexe ou c'est relativement simple à gérer?
Et la dernière, comment indiquer à l'ordinateur à quel type de périphérique il à affaire? Ou formulé autrement, qu'est ce qui différencie une carte son d'un périphérique de stockage?
Merci d'avance pour vos réponses qui j'espère éclaireront un peu ma lanterne!
Bon en gros je fais dans l'électronique et j'aimerai pouvoir envoyer et recevoir des données via le port USB de mon mac. Les applications envisagées sont l'audio, la domotique et le stockage de masse. Je vais donc poser mes questions générales, je verrai pour affiner un peu par la suite.
Je programme actuellement en C, en ligne de commande mais je connais quelques trucs pour afficher des images etc. Est-ce que je peux utiliser ce langage où va-t-il falloir que je m'oriente vers autre chose? COCOA?
Est-ce que la communication USB est complexe ou c'est relativement simple à gérer?
Et la dernière, comment indiquer à l'ordinateur à quel type de périphérique il à affaire? Ou formulé autrement, qu'est ce qui différencie une carte son d'un périphérique de stockage?
Merci d'avance pour vos réponses qui j'espère éclaireront un peu ma lanterne!
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Le développement de driver usb se fait en c++.
Cela dépend si tu as l'habitude de travailler dans le (ou directement avec) le kernel. Si ce n'est pas le cas, courage patience et perseverance
La famille du périphérique cible.
Plus d'info dans ces doc Apple (les guides sont épais et il y a quelques codes sources d'example) :
A propos du Kernel
A propos du IOKit Kext
Car il y a des "class" qui permette de simplifier la vie et de transférer des données de façon native sur la plus part des systèmes.
Par exemple MassStorage est une classe qui gère le stockage en utilisant l'USB. C'est grâce à cette classe que tous les disques externes dialogue avec l'ordinateur évitant ainsi de devoir installer les pilote des clées USB et disque externe. Il y en a d'autre : http://www.usb.org/developers/defined_class
Il est possible d'éviter de devoir développer le driver sous forme de KEXT sur mac os. Le développement de KEXT est très lourd et difficile. Il demande de mettre le kernel en mode debug. C'est aussi source de plantage de l'ordinateur
Donc autant l'intégrer dans le programme qui exploite le matériel. Sauf si il faut le rendre le matériel utilisable avec des logiciels tiers
Denis
Je cherche à commander des LED depuis un Mac.
Penses-tu que l'utilisation d'un module FTDI (http://www.ftdichip.com/Products/EvaluationKits/DIPModules.htm) permettrait de réaliser cela facilement avec les drivers USB FTDI ?