1er firmware tiers (Python+giac) pour module externe 83PCE
Posted: 08 Apr 2019, 20:21
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 :
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)
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.
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
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 !
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.
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.
Source : https://zardam.github.io/post/ti83-python/ via viewtopic.php?t=22469&p=241375#p241371
Téléchargements :
- programme Go pour extraire le firmware d'origine de l'application PyAdaptr
- application PyAdaptr