π
<-
Chat plein-écran
[^]

Remplacement TI-Python par Adafruit Trinket M0 ou autre

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Remplacement TI-Python par Adafruit Trinket M0 ou autre

Unread postby critor » 27 Mar 2019, 17:28

10016Nous avions déjà vu que le module externe
TI-Python
pour ta
TI-83 Premium CE
utilisait un coeur
Atmel ATSAMD21E18
, et que son
firmware (microprogramme)
pouvait aussi tourner sur d'autres
PyBoards
, cartes de développement et appareils munis du même coeur, et même d'un coeur voisin selon les tests complémentaires de ! :bj:

Petite liste non exhaustive des appareils compatibles ou supposés être compatibles avec le
firmware
TI-Python
:
  • carte CircuitPython
    (coeur
    Atmel ATSAMD21E18
    )
    -
    testée avec succès :)
  • carte CircuitPython
    (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
    (coeur
    Atmel ATSAMD21G18
    )
  • carte CircuitPython
    (coeur
    Atmel ATSAMD21G18
    )
    -
    testée avec succès :)
  • carte CircuitPython
    (coeur
    Atmel ATSAMD21G18
    )
  • carte CircuitPython
    Adafruit HalloWing M0
    (coeur
    Atmel ATSAMD21G18
    )
  • console de jeux portable
    (coeur
    Atmel ATSAMD21G18
    )
  • carte CircuitPython
    (coeur
    Atmel ATSAMD21E18
    )
    -
    testée avec succès :)
  • carte CircuitPython
    (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
    (coeur
    Atmel ATSAMD21G18
    )
  • carte CircuitPython
    (coeur
    Atmel ATSAMD21G18
    )
    -
    testée avec succès :)
  • carte CircuitPython
    (coeur
    Atmel ATSAMD21G18
    )
  • carte CircuitPython
    Adafruit HalloWing M0
    (coeur
    Atmel ATSAMD21G18
    )
  • console de jeux portable
    (coeur
    Atmel ATSAMD21G18
    )

1070910707Si tu trouves que le module externe
TI-Python
est trop cher à
13€
et quelques chez Jarrety et TSP alors que
Texas Instruments
avant annoncé moins de 10€ sur les salons en octobre dernier, trop encombrant et lourd avec
20g
ou encore que sa disponibilité est insatisfaisante, alors peut-être préféreras-tu une de ces options.

Nous te conseillons personnellement l'
Adafruit Trinket M0
, parce qu'elle est disponible et parmi les moins chères avec moins de
10€
même si les frais de port éventuels pourraient brouiller cela, parce qu'elle bat des records de légèreté avec seulement
2g
, et parce qu'elle est à ce jour enfantine à reprogrammer avec le firmware
TI-Python
comme nous allons voir plus loin.
De plus, nous avons réunis nombre d'éléments attestant que
Texas Instruments
n'a conçu ni le logiciel ni le matériel du module externe
TI-Python
et a réutilisé de l'existant parmi les produits ouverts d'
Adafruit
, avec très probablement comme
reference design
la
Trinket M0
ou la
Feather M0
. Alors autant prendre ce que
TI
a utilisé.

C'est une
Adafruit Trinket M0
qui sera utilisée pour les tests qui vont suivre dans cet article.

Maintenant que l'application
PyAdaptr
ainsi que l'OS
5.3.5
qui va avec ont été publiés, nous pouvons enfin tester ce que donne cette carte avec une vraie
TI-83 Premium CE
.

1090310907Mais voilà, problème, la nouvelle application
PyAdaptr
de la
TI-83 Premium CE
refuse de détecter la
Trinket M0
munie de son
firmware
d'origine. :(

Et pour ceux qui avaient déjà reprogrammé leur
Trinket M0
avec l'ancien
firmware
TI-Python 3.0.0.0012
, l'application
PyAdaptr
publiée tente systématiquement de les mettre à jour en version
3.0.0.0020
avant toute utilisation, or le processus plante et il n'y a donc plus qu'à réinitialiser la calculatrice. :mj:

Comme confirmé par un test de
zardam
, ce plantage de la mise à jour vient du fait que
Texas Instruments
s'est compilé un
boot code (code de démarrage)
tout spécial pour son module externe
TI-Python
, le
UF2 Bootloader v1.0.3U SFRO
, alors que notre
Trinket M0
utilise le
UF2 Bootloader v1.23.0 SFHR
.
Or c'est visiblement le
boot code
qui est appelé par l'application
PyAdaptr
pour la mise à jour du
firmware
, puisque arrive sans problème à faire mettre à jour puis utiliser son
Arduino Zero
depuis la calculatrice, après avoir remplacé son
boot code
par celui du
TI-Python
.

La reprogrammation d'un
boot code
est toutefois une étape dangereuse et de plus technique avec donc des manipulations qui vont différer d'un appareil à un autre, aussi il nous faudrait trouver autre chose pour toi.

10908Dans les deux cas, une solution est de préprogrammer la carte
Trinket M0
avec le dernier
firmware
TI-Python
, mais faut-il encore pouvoir le récupérer.

La solution nous vient donc aujourd'hui de qui vient de passer du temps sur un programme en
Go
te permettant d'extraire le
firmware
TI-Python 3.0.0.0020
de l'application
PyAdaptr 5.3.5.0024
publiée lundi.

Concernant la
Trinket M0
, il te suffit d'une double pression sur le bouton
reset
pour la redémarrer en mode mise à jour, puis tout simplement d'y copier le fichier
firmware
.uf2
retourné par le programme précédent, la carte se comportant comme une simple clé USB ! :)

Et bingo, ça marche ! :bj:

10912Maintenant que ça marche, parlons connectique car la
Trinket M0
dispose d'un port
micro-USB
, et non
mini-USB
comme le module externe
TI-Python
.

Une solution comme tu viens de le voir est d'utiliser le câble de connexion de ton smartphone à l'ordinateur muni au bout d'un adaptateur au choix :

Un ennui est que cela te donne de la connectique encombrante et lourde, qui risque donc de se débrancher assez facilement en cours d'utilisation. :mj:

Une meilleure solution est alors d'opter pour un câble unique à se commander, au choix :
  • USB micro-B ↔ mini-OTG
  • USB micro-A ↔ mini-OTG

Attention aux pièges, car certains câbles pourtant censés respecter ces spécifications comme celui de
Lindy
ne fonctionnent pas ! :mj:

10909
Un câble qui marche à coup sûr vu que nous l'avons acheté et testé, est celui de
StarTech
. :bj:
Un câble qui marche à coup sûr vu que nous l'avons acheté et testé, est celui de
StarTech
. :bj:


Voilà enfin de quoi coder en
Python
sur notre
TI-83 Premium CE
en toute légèreté ! :bj:

10910Une fois la
TI-83 Premium CE
mise en mode examen, la
Trinket M0
faisant maintenant tourner le
firmware
TI-Python 3.0.0.0020
présente bien elle aussi la diode clignotante nécessaire pour son autorisation en 2020.

Pour le BAC 2020 l'on pourra par exemple scotcher la carte à la
TI-83 Premium CE
afin que ce signal lumineux soit bien présent sur la tranche supérieure comme exigé par la réglementation, en prenant bien soin de ne pas masquer la diode examen de la calculatrice.


Téléchargements
:

Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 95.8%
 
Posts: 32963
Images: 8649
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Online

Re: Remplacement TI-Python par Adafruit Trinket M0 ou autre

Unread postby zardam » 28 Mar 2019, 00:09

Pour cette histoire de bootloader, j'ai compilé https://github.com/Microsoft/uf2-samdx1 sur le tag v1.23.0 en changeant les identifiants USB dans boards/zero/board_config.h par ceux du module python... Et ça fonctionne. La calculatrice a bien mis à jour mon arduino zero !

Au passage, le CURRENT.UF2 n'est plus "vide" :)
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 8.4%
 
Posts: 167
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

Re: Remplacement TI-Python par Adafruit Trinket M0 ou autre

Unread postby critor » 28 Mar 2019, 00:12

Bien ! :)

Tu peux partager le binaire ?
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 95.8%
 
Posts: 32963
Images: 8649
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Online

Re: Remplacement TI-Python par Adafruit Trinket M0 ou autre

Unread postby zardam » 28 Mar 2019, 00:24

Voici

C'est la version pour trinket.
Attachments
update-bootloader.uf2.zip
(7.21 KiB) Downloaded 19 times
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 8.4%
 
Posts: 167
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

Re: Remplacement TI-Python par Adafruit Trinket M0 ou autre

Unread postby critor » 28 Mar 2019, 00:31

Ah tu l'as en prime recompilée juste pour moi ?
Merci. :)
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 95.8%
 
Posts: 32963
Images: 8649
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Online

Re: Remplacement TI-Python par Adafruit Trinket M0 ou autre

Unread postby zardam » 28 Mar 2019, 00:34

Pour le trinket il y a un "#define CRYSTALLESS 1" qui me fait dire que le bootloader pour l'arduino zero ne fonctionnera pas...
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 8.4%
 
Posts: 167
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

Re: Remplacement TI-Python par Adafruit Trinket M0 ou autre

Unread postby critor » 29 Mar 2019, 00:54

Et tu peux aussi partager le binaire que tu as compilé pour l'Arduino Zero ?

Cela pourra peut-être servir, vu qu'on l'a listé dans les appareils compatibles. :)
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 95.8%
 
Posts: 32963
Images: 8649
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Remplacement TI-Python par Adafruit Trinket M0 ou autre

Unread postby parisse » 29 Mar 2019, 06:55

Question naive: peut-on imaginer avoir un adapteur externe pas cher avec suffisamment de capacite pour y faire tourner giac, et faire croire a l'application sur la ti83 que le shell de giac est du ti-python? Ca pourrait permettre d'avoir du CAS sur les TI83 (pas sur les neuves bien sur, mais sur toutes les existantes).
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 70.7%
 
Posts: 1712
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: Remplacement TI-Python par Adafruit Trinket M0 ou autre

Unread postby critor » 29 Mar 2019, 07:31

Bonjour.


Question très intéressante.

Nous n'en sommes pas encore là.

Mais nous arrivons donc déjà à remplacer le module TI-Python par un appareil différent avec même un processeur différent.

Si nous arrivons à remplacer le firmware de TI par un firmware tiers apportant une implémentation Python plus riche
(complexes, cmath...)
, ce sera un autre très bon signe.

Quitte à faire en sorte que giac soit accessible via l'importation d'un module Python jouant le rôle d'interface d'accès, ou encore une console hybride Python+giac, si jamais l'appli PyAdaptr était capricieuse.

Mais tant que nous y sommes, on peut sûrement remplacer l'appli PyAdaptr par un programme qui n'aura donc aucune contrainte autre que matérielle sur le protocole. Mais ça impliquera alors de refaire l'interface graphique et donc cela nécessitera davantage de temps.
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 95.8%
 
Posts: 32963
Images: 8649
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Online

Re: Remplacement TI-Python par Adafruit Trinket M0 ou autre

Unread postby zardam » 29 Mar 2019, 07:39

Ci joint le bootloader pour l'arduino zero. C'est un .ino car il n'y a pas de UF2 par défaut sur ce modèle il me semble.

Quand à savoir ce qui fait que la calculatrice "reconnait" le CircuitPython du module, c'est une très bonne question, que je me pose aussi. Il y a peu de choses exposée "publiquement" il me semble. Je vais faire deux ou trois essais dès que j'ai le temps.
Attachments
update-bootloader.ino.zip
Bootloader UF2 pour arduino zero
(10.4 KiB) Downloaded 20 times
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 8.4%
 
Posts: 167
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

Next

Return to News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Who is online

Users browsing this forum: No registered users and 5 guests

-
Search
-
Featured topics
Concours TI-Planet-Casio de rentrée 2019. 3 défis pour plus d'une 15aine de calculatrices graphiques et nombre de goodies sortant de l'ordinaire ! :D
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
326 utilisateurs:
>285 invités
>37 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)