Page 1 of 1

Transforme en TI-Python ta Trinket M0 ou Arduino Zero

Unread postPosted: 29 Mar 2019, 16:27
by critor
10016Le module externe TI-Python pour ta TI-83 Premium CE utilise un coeur Atmel ATSAMD21E18. Son firmware (microprogramme) peut tourner sur d'autres PyBoards, cartes de développement et appareils munis du même coeur ou même d'un coeur voisin selon les tests menés conjointement avec zardam ! :bj:

Voici une petite liste non exhaustive des appareils compatibles ou supposés être compatibles avec le firmware TI-Python :
  • carte CircuitPython Adafruit Trinket M0 (coeur Atmel ATSAMD21E18) - testée avec succès :)
  • carte CircuitPython Adafruit GEMMA M0 (coeur Atmel ATSAMD21E18)
  • carte de développement Arduino Zero (coeur Atmel ATSAMD21G18) - testée avec succès :)
  • carte de développement Arduino M0 (coeur Atmel ATSAMD21G18)
  • carte CircuitPython Adafruit Feather M0 (coeur Atmel ATSAMD21G18)
  • carte CircuitPython Adafruit ItsyBitsy M0 (coeur Atmel ATSAMD21G18)
  • carte CircuitPython Adafruit Metro M0 (coeur Atmel ATSAMD21G18)
  • carte CircuitPython Adafruit HalloWing M0 (coeur Atmel ATSAMD21G18)
  • console de jeux portable Gamebuino META (coeur Atmel ATSAMD21G18)
  • carte CircuitPython Adafruit Trinket M0 (coeur Atmel ATSAMD21E18) - testée avec succès :)
  • carte CircuitPython Adafruit GEMMA M0 (coeur Atmel ATSAMD21E18)
  • carte de développement Arduino Zero (coeur Atmel ATSAMD21G18) - testée avec succès :)
  • carte de développement Arduino M0 (coeur Atmel ATSAMD21G18)
  • carte CircuitPython Adafruit Feather M0 (coeur Atmel ATSAMD21G18)
  • carte CircuitPython Adafruit ItsyBitsy M0 (coeur Atmel ATSAMD21G18)
  • carte CircuitPython Adafruit Metro M0 (coeur Atmel ATSAMD21G18)
  • carte CircuitPython Adafruit HalloWing M0 (coeur Atmel ATSAMD21G18)
  • console de jeux portable Gamebuino META (coeur Atmel ATSAMD21G18)

Personnellement nous te recommandons l'Adafruit Trinket M0 qui cumule tous les avantages puisqu'elle est à la fois la moins chère, la plus légère et la plus petite, et qu'en prime nous te l'avons testée. :)
Comme elle dispose d'une connectivité micro-USB et non mini-USB, il sera de plus pratique de l'accompagner d'un câble permettant sa connexion directe à la calculatrice, comme celui de StarTech que nous t'avons également testé avec succès. :)
Comme elle dispose d'une connectivité micro-USB et non mini-USB, il sera de plus pratique de l'accompagner d'un câble permettant sa connexion directe à la calculatrice, comme celui de StarTech que nous t'avons également testé avec succès. :)


10909Dans un article précédent, nous avons vu comment installer le firmware TI-Python sur une PyBoard (carte de développement Python) Adafruit Trinket M0.

10903L'installation du firmware TI-Python sur ta Trinket M0 était extrêmement facile, se faisant par simple copie de fichier.

Ce qui l'était moins par contre, c'était la récupération du firmware qui nécessitaire une manipulation technique.

Un autre inconvénient de plus, c'est que dans cette configuration l'application PyAdaptr de la calculatrice se coinçait lors du processeur de mise à jour de la carte.

Rien d'embêtant dans l'immédiat, mais plutôt à moyen terme, à chaque future sortie d'une mise à jour du firmware TI-Python par Texas Instruments. Cela impliquait :
  • que tu allais devoir refaire ces manipulations pour mettre à jour manuellement ta Trinket M0
  • et que si jamais tu oubliais de le faire, tu étais bon pour un blocage avec perte de données au premier lancement de l'application PyAdaptr suivant la mise à jour de la calculatrice

La raison du blocage lors de la tentative de mise à jour de ta Trinket M0 par l'application PyAdaptr de la calculatrice est en fait simple.

Le firmware TI-Python s'expose en USB avec les identifiants suivants, peu importe qu'il tourne sur un véritable module externe TI-Python ou sur ta Trinket M0 reprogrammée avec ce même firmware :
  • Vendor ID : 0451 (Texas Instruments)
  • Product ID : E020

Mais lorsque l'application PyAdaptr de la calculatrice tente de mettre à jour le module externe TI-Python, elle le redémarre en mode mise à jour, et son boot qui lui n'a pas été reprogrammé expose alors les identifiants USB d'Adafruit :
  • Vendor ID : 239A (Adafruit)
  • Product ID : 001E

Et bien zardam te sort aujourd'hui une nouvelle façon de transformer ton Adafruit Trinket M0 ou Arduino Zero en module externe TI-Python.

Il vient de publier des firmwares qui vont tout simplement reprogrammer le boot de ces cartes avec les identifiants VID et PID utilisés pour le TI-Python.

Pour la Trinket M0 la manipulation est donc enfantine :
  • brancher la carte sur l'ordinateur
  • taper deux fois de suite sur le bouton reset pour lancer le boot en mode mise à jour
  • copier le fichier du firmware de zardam
  • patienter

10914Une fois le processus achevé il te suffit juste de connecter ta Trinket M0 à ta calculatrice, et voilà l'installation du firmware TI-Python 3.0.0.0020 se fait maintenant toute seule comme par magie ! :bj:

Nouvelle méthode qui cumule tous les avantages, puisque tu obtiens désormais une Trinket M0 capable d'être mise à jour par la calculatrice et ainsi pleinement fonctionnelle en tant que module externe TI-Python, et qu'en prime tu n'as donc plus besoin de t'embêter à aller extraire le firmware contrairement à la méthode précédente ! :D

Les liens de téléchargement suivent ci-après.

La compatibilité de chaque firmware de reprogrammation distribué n'a été testée qu'avec la carte ciblée : Adafruit Trinket M0 ou Arduino Zero.

Si tu disposes d'une autre carte tu serais mieux de demander avant de tenter de les utiliser, ou bien de savoir ce que tu fais.



Téléchargements firmwares de reprogrammation en TI-Python :

Re: Transforme en TI-Python ta Trinket M0 ou Arduino Zero

Unread postPosted: 29 Mar 2019, 20:26
by Azerpogba
Bonjour à tous
Es que vous pensez que la manipulation est faisable pour une arduno uno? :p
Merci beaucoup à tous ceux qui ont trouvé toutes ces solution
Azerpogba

Re: Transforme en TI-Python ta Trinket M0 ou Arduino Zero

Unread postPosted: 29 Mar 2019, 20:44
by critor
Il faut déjà que le cœur soit compatible, afin qu'il n'y ait pas besoin de recompilation vu que nous n'avons pas le code source du firmware TI-Python officiel.

Sauf erreur, l'Arduino Uno utilise un cœur Atmel ATmega328P.

Re: Transforme en TI-Python ta Trinket M0 ou Arduino Zero

Unread postPosted: 29 Mar 2019, 21:51
by Noury
Pas d'erreur @critor.
C'est bien un ATmega328P

Re: Transforme en TI-Python ta Trinket M0 ou Arduino Zero

Unread postPosted: 31 Mar 2019, 07:11
by jejegoodgame
pouvons nous donc le faire avec une arduino uno ou une mega 2560 ?

Re: Transforme en TI-Python ta Trinket M0 ou Arduino Zero

Unread postPosted: 31 Mar 2019, 08:05
by Lionel Debroux
J'ai une vieille Uno qui utilise un CPU AVR, et je sais que c'est une plate-forme encore beaucoup plus faible que les TI-Python Adapter / Trinket M0 / équivalent, qui sont déjà pourtant très (trop) limitées. Les Arduino Uno n'ont ni assez de RAM, ni assez de Flash.

Re: Transforme en TI-Python ta Trinket M0 ou Arduino Zero

Unread postPosted: 31 Mar 2019, 17:18
by Adriweb
Zardam et les news récentes sont la vedette du dernier article du blog d'Adafruit :P https://blog.adafruit.com/2019/03/31/us ... uitpython/