1ère détection réussie Arduino Leonardo sur TI-Nspire CX
Posted: 21 Feb 2016, 17:52
Dans une actualité précédente, la gestion du protocole ASI (Asynchronous Serial Interface) rajoutée avec le dernier OS TI-Nspire CX 4.2 nous faisait supposer que le nouveau périphérique USB dont la gestion semblait être rajoutée depuis plusieurs semaines aux TI-83 Premium CE et TI-Nspire CX était une carte de développement.
Nous avons donc testé plusieurs cartes :
Mais en pratique, seule la dernière a pu être détectée par une véritable calculatrice TI-Nspire CX 4.2.
Rien de vraiment surprenant à cette différence. Sur ordinateur, la détection des périphériques est déléguée au système d'exploitation qui en connaît énormément.
Sur la calculatrice, pour le système d'exploitation TI-Nspire CX 4.2 il a donc été fait le choix d'embarquer un nombre limité de ressources.
Nous découvrions alors par la suite sur une page d'un enseignant partenaire que seules les cartes de développement de la famille TI-LaunchPad MSP43x (notamment MSP430 et MSP432) étaient supportées.
Même si ces cartes sont quasiment données par le constructeur avec une entrée de gamme à moins de 10€ et aucun modèle ne dépassant les 20€, on peut trouver dommage de ne pas pouvoir utiliser sa calculatrice avec des cartes de développement concurrentes peut-être plus familières à programmer pour toi, surtout que ces cartes utilisent le même protocole...
Précisons qu'un périphérique USB s'identifie auprès de son hôte en fournissant essentiellement deux informations :
Jimbauwens a donc eu l'idée de reprogrammer sa carte Arduino Leonardo pour y falsifier ces deux identifiants, faisant ainsi passer sa carte pour une TI-LaunchPad MSP432.
Et bingo la carte est alors bel et bien détectée sur le port COM1 de sa calculatrice TI-Nspire CX CAS 4.2 !
Voilà, tu peux donc en théorie utiliser désormais n'importe quelle carte de développement avec ta TI-Nspire CX 4.2, pourvu que tu trouves la procédure de falsification des identifiants USB qui risque d'être spécifique à chaque carte.
A bientôt !
Nous avons donc testé plusieurs cartes :
- Arduino Leonardo
- Arduino Uno
- TI-LaunchPad Stellaris LM4F120
- TI-LaunchPad MSP-EXP432P401R
Mais en pratique, seule la dernière a pu être détectée par une véritable calculatrice TI-Nspire CX 4.2.
Rien de vraiment surprenant à cette différence. Sur ordinateur, la détection des périphériques est déléguée au système d'exploitation qui en connaît énormément.
Sur la calculatrice, pour le système d'exploitation TI-Nspire CX 4.2 il a donc été fait le choix d'embarquer un nombre limité de ressources.
Nous découvrions alors par la suite sur une page d'un enseignant partenaire que seules les cartes de développement de la famille TI-LaunchPad MSP43x (notamment MSP430 et MSP432) étaient supportées.
Même si ces cartes sont quasiment données par le constructeur avec une entrée de gamme à moins de 10€ et aucun modèle ne dépassant les 20€, on peut trouver dommage de ne pas pouvoir utiliser sa calculatrice avec des cartes de développement concurrentes peut-être plus familières à programmer pour toi, surtout que ces cartes utilisent le même protocole...
Précisons qu'un périphérique USB s'identifie auprès de son hôte en fournissant essentiellement deux informations :
- le VID identifiant le fabricant (Vendor ID)
- le PID identifiant le produit (Product ID)
Jimbauwens a donc eu l'idée de reprogrammer sa carte Arduino Leonardo pour y falsifier ces deux identifiants, faisant ainsi passer sa carte pour une TI-LaunchPad MSP432.
Et bingo la carte est alors bel et bien détectée sur le port COM1 de sa calculatrice TI-Nspire CX CAS 4.2 !
Voilà, tu peux donc en théorie utiliser désormais n'importe quelle carte de développement avec ta TI-Nspire CX 4.2, pourvu que tu trouves la procédure de falsification des identifiants USB qui risque d'être spécifique à chaque carte.
A bientôt !