
Le module externe
TI-Python permet à l'application
PyAdaptr de ta
TI-83 Premium CE d'exécuter des scripts
Python.
Nous avions déjà vu qu'il était possible de remplacer le module externe
TI-Python par des
pyboards ou autres cartes de développement munies d'un coeur compatible :
- carte CircuitPython Adafruit Trinket M0 (cœur Atmel ATSAMD21E18) - testée avec succès

- carte CircuitPython Adafruit GEMMA M0 (cœur Atmel ATSAMD21E18)
- carte CircuitPython Adafruit Circuit Playground Express (cœur Atmel ATSAMD21G18) - testée avec succès

- carte CircuitPython Adafruit Feather M0 (cœur Atmel ATSAMD21G18)
- carte CircuitPython Adafruit HalloWing M0 (cœur Atmel ATSAMD21G18)
- carte CircuitPython Adafruit ItsyBitsy M0 (cœur Atmel ATSAMD21G18) - testée avec succès

- carte CircuitPython Adafruit Metro M0 (cœur Atmel ATSAMD21G18)
- carte de développement Arduino M0 (cœur Atmel ATSAMD21G18)
- carte de développement Arduino Zero (cœur Atmel ATSAMD21G18) - testée avec succès

- console de jeux portable Gamebuino META (cœur Atmel ATSAMD21G18)
- carte CircuitPython Adafruit Trinket M0 (cœur Atmel ATSAMD21E18) - testée avec succès

- carte CircuitPython Adafruit GEMMA M0 (cœur Atmel ATSAMD21E18)
- carte CircuitPython Adafruit Circuit Playground Express (cœur Atmel ATSAMD21G18) - testée avec succès

- carte CircuitPython Adafruit Feather M0 (cœur Atmel ATSAMD21G18)
- carte CircuitPython Adafruit HalloWing M0 (cœur Atmel ATSAMD21G18)
- carte CircuitPython Adafruit ItsyBitsy M0 (cœur Atmel ATSAMD21G18) - testée avec succès

- carte CircuitPython Adafruit Metro M0 (cœur Atmel ATSAMD21G18)
- carte de développement Arduino M0 (cœur Atmel ATSAMD21G18)
- carte de développement Arduino Zero (cœur Atmel ATSAMD21G18) - testée avec succès

- console de jeux portable Gamebuino META (cœur Atmel ATSAMD21G18)
Toutefois, il fallait reprogrammer ces cartes avec le
firmware TI-Python.
Il était donc possible de faire fonctionner la
TI-83 Premium CE avec un module externe de matériel différent.
L'implémentation
CircuitPython utilisée sur le
TI-Python est très légère et comporte diverses limitations. Notamment elle ne gère pas les nombres complexes, ce qui est bien embêtant pour les Terminales S/STI2D/STL. Est donc vite apparu l'intérêt de pouvoir remplacer également le
firmware du module externe par autre chose de plus élaboré, ce qui a d'ailleurs fait l'objet de notre
poisson d'avril 2019.
Mais à la différence, faire fonctionner la
TI-83 Premium CE avec un module externe de
firmware différent était plus compliqué. Car l'application
PyAdaptr qui embarque une copie du
firmware TI-Python à des fins de mise à jour vérifie aléatoirement 96 octets du
firmware du module externe avant d'accepter ou pas de l'utiliser.



Nous avons l'habitude sur
TI-Planet depuis maintenant quelques années, de te sortir des poissons que nous savons pertinents sous les points de vue technique, institutionnels et
marketing. Et cela fait déjà quelques années de suite que tous nos poissons se sont concrétisés...
L'année 2019 ne fera pas défaut, puisque
zardam réussit l'exploit de concrétiser notre poisson en un temps cette fois-ci record !

Voici en effet ci-contre l'application
PyAdaptr de la
TI-83 Premium CE qui accède à une implémentation
Python bien plus riche vu la quantité de modules retournés par la commande
help("modules")
!

Et en plus,
zardam t'a même inclus dans son
firmware le module
Python giacpy, interface qui permet de faire appel au moteur de calcul formel
giac (celui utilisé par le logiciel Xcas) ! Non seulement tu peux donc désormais faire du calcul complexe et exact en
Python sur ta
TI-83 Premium CE, mais en prime tu peux enfin faire du calcul littéral et formel sur ta
TI-83 Premium CE !

Le module externe qui fait ici tourner le
firmware tiers taillé sur mesures pour l'application
PyAdaptr de la
TI-83 Premium CE est constitué d'une carte de développement
Arduino Zero modifiée.
zardam y a soudé une puce
Flash SPI additionnelle destinée à accueillir une copie non lancée du
firmware TI-Python attendu par l'application
PyAdaptr, et le
firmware lancé se contente pour sa part de rediriger les requêtes USB de récupération d'octets
firmware vers cette puce.
Ce
firmware n'est donc pas utilisable avec le module externe
TI-Python, ni avec les
pyboards compatibles les moins chères comme l'
Adafruit Trinket M0.

Toutefois il est en théorie possible d'utiliser la
pyboard compatible
Adafruit Feather M0 qui elle a l'avantage d'intégrer d'origine une puce
Flash SPI additionnelle de
2Mio.