2 problèmes
Je ne sais pas ou mettre ce texte alors il pourra être re-localiser.
Pour l'association Aconit, j'ai travaillé sur les deux machines ci-dessous. La machine de gauche est un lecteur de cartes perforées m600L vendu par HP sous la dénomination HP02892-93. La machine de droite est un lecteur de bandes perforées Slo-Syn tape reader. (les deux photos ont des échelles différentes)
J'ai équipé chacune des machines d'un PIC18F4550 qui a une connexion USB ce qui permet d'envoyer des ordres et d'avoir les caractères lus en retour. Puis j'ai écrit les programmes sur Mac pour controler ces machines et afficher les résultats. A l'origine (2010 - 2014) l'association m'a demandé d'utiliser un MacMini PPC G4. L'association n'a que l'informatique dont on lui fait cadeau ! Je suis tombé sur le premier problème: Le Slo-Syn lit 125 caractères/seconde alors que le HP lit 600 cartes/minute soit 10 cartes/seconde soit 800 caractères secondes. En utilisant des NSOperation, les résultats s'affichent à la volée avec le Slo-Syn, mais seulement à la fin de la lecture avec le HP. Donc le Macmini n'est pas assez rapide pour le débit de caractères du lecteur de carte.
Récemment l'association m'a confié un MacPro 1.1 sous 10.7.5 pour remplacer le MacMini sous 10.5.8. Je n'ai pas encore essayé le lecteur de carte sur le MacPro mais j'ai trouvé un autre problème. J'ai re-compiler sous 10.11.6 les applications et les ai essayé sur les différents OS dont je dispose. Les machines ne sont pas reconnues par les Mac avec des prises USB-C. J'ai deux machines sous 10.13.6, celle sans prise USB-C reconnait parfaitement les deux lecteurs et le MacBook Pro 2017 avec des prises USB-C ne les voit pas.
Pour l'USB, comme je ne sais pas tout faire, j'ai utilisé la version statique de la librairie libusb que j'ai introduit dans mes programmes.
Que pouvez-vous me dire sur ces 2 problémes qui me cassent les pieds ? Toutes les idées sont bonnes à prendre !
Si vous voulez vous rendre compte du travail effectué pour le lecteur de cartes regardez:
http://cocoa.pod.free.fr/Doc_projet/index.html
Réponses
Des idées.. t’as pensé à une presse hydraulique pour faire de jolies œuvres d’arts ?
D'après cette page wikipedia, le connecteur Usb-C n'est compatible qu'avec une version "révisée" de l'USB 2.0.
https://fr.wikipedia.org/wiki/USB_(bus_informatique)#USB_1.0_et_USB_1.1
(chercher le diagramme "Évolution des connecteurs USB standards en fonction des normes".)
Est-ce que le PIC est bien compatible avec cette révision de l'USB 2 ? La datasheet indique USB2.0 mais la vitesse est 12 M/bits, ce qui est la vitesse max de l'usb 1.1. donc à mon avis le pic est un usb 1.1.
L'USB 2 était retro compatible avec l'usb 1.1 mais il est possible que l'usb-c ne soit pas rétro-compatible avec la rétro-compatibilité 1.1 de l'USB 2.0.
le PIC est dit compatible avec l'USB 2 dans sa documentation. Mais la libusb date de 2012 ! Je vais chercher de ce coté la et reprendre la doc sur le PIC.
Merci
Sinon il faut revenir au bon vieux UART sur le pic et utiliser un câble USB-C <-> 232 TTL fourni avec des drivers pour macOS ou ethernet <-> 232, ça doit exister.
Oui, j'y ai pensé, mais il vaudrait mieux utiliser du RS485 avec Le Mac comme maître des échanges car j'ai pas mal de chose à passer dans les deux sens. Je suis en train d'essayer de comprendre les échanges en USB : au premier abord c'est abstrus ou abscon Je tombe sur des explications trop simples pour être utilisables ou trop complexes pour un début ! Je regrette le retour de fabien (informaticien) dans sa Bretagne natale, c'est lui qui s'était charger de la programmation de l'USB. Merci pour vos conseils, je vous tiendrai au courant.