Page 1 of 1

1er firmware tiers (Python+giac) pour module externe 83PCE

Unread postPosted: 08 Apr 2019, 20:21
by critor
10909Le 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. :mj:

11056Nous 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 ! :bj:

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") ! :bj:

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 ! :bj:

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.

Source : https://zardam.github.io/post/ti83-python/ via viewtopic.php?t=22469&p=241375#p241371

Téléchargements :
Liens :

Re: 1er firmware tiers (Python+giac) pour module externe 83P

Unread postPosted: 09 Apr 2019, 12:55
by zardam
En précision, il y a en fait deux versions :
- le première, c'est un CircuitPython modifié qui peut s'exécuter sur une Adafruit Feather M0 avec quelques adaptations (il faut encore un moyen simple de flasher la flash SPI). Pas de giacpy pour cette version
- la seconde, c'est le même CircuitPython modifié, mais qui transmet la console de la calculatrice sur son UART, qui est relié à un Raspberry Pi zero, où un vrai Python et giacpy s’exécutent.