La série d’articles ici initiée au sujet du module
Il est possible que certaines informations soient/deviennent erronées ou obsolètes.
Il peut arriver que d’autres points ne soient pas illustrés ou le soient avec une photo ne correspondant pas exactement à ce qui est décrit, soit parce que la photo n’avait pas été prise mais que le résultat avait bien été noté, soit parce que la photo était floue, soit parce que nous avons depuis recoupé plusieurs résultats, réfléchi et décidé de présenter la chose différemment.
Dans tous les cas, notez que ces tests ont été réalisés sur un prototype non final, certes de niveau
En vous priant donc de bien vouloir excuser toute imprécision ou inexactitude qui serait éventuellement restée malgré nos efforts, et en vous souhaitant bonne lecture et bonne découverte.
TI-Python
n’a malheureusement pas pu être réalisée dans des conditions optimales. En effet, nous n'avons pas pour le moment d’échantillon de ce produit, donc ils sont rédigés à posteriori et illustrés avec permission à l’aide des photos de tests prises et réalisés sur le stand de Texas Instruments
aux journées APMEP 2018 et congrès UdPPC 2018.Il est possible que certaines informations soient/deviennent erronées ou obsolètes.
Il peut arriver que d’autres points ne soient pas illustrés ou le soient avec une photo ne correspondant pas exactement à ce qui est décrit, soit parce que la photo n’avait pas été prise mais que le résultat avait bien été noté, soit parce que la photo était floue, soit parce que nous avons depuis recoupé plusieurs résultats, réfléchi et décidé de présenter la chose différemment.
Dans tous les cas, notez que ces tests ont été réalisés sur un prototype non final, certes de niveau
DVT
et donc habituellement proche du produit final qui sera livré dans quelques mois. Mais il reste quand même possible que des choses évoquées changent d’ici-là, en bien ou en mal d’ailleurs.En vous priant donc de bien vouloir excuser toute imprécision ou inexactitude qui serait éventuellement restée malgré nos efforts, et en vous souhaitant bonne lecture et bonne découverte.
Sommaire
:- Premier coup d’oeil module TI-Python
- Système TI-83 Premium CE 5.3.5 et application PyAdaptr
- Editeur de scripts Python et menus
- Bibliothèque native Python et menus
- Modules Python et menus
- Connexion module TI-Python et mise à jour
- Console Python et menus
- Stockage des scripts Python et mode examen
- Matériel module TI-Pyhon
- Conclusion
1) Premier coup d'oeil module TI-Python :
Go to topTI-Python
étaient manipulables sur le stand Texas Instruments
aux journées APMEP 2018 et congrès UdPPC 2018. Ils se présentent sous la forme d'un petit boîtier cubique très léger. Comme indiqué au dos par les inscriptions L-DVT-077
, L-DVT-153
et NOT FOR SALE
, il s'agit de prototypes de niveau DVT
assemblés dans l'usine de code L
aux Philippines. On note de plus au dos la présence d’un bouton reset
spécifique, confortant l’hypothèse que le module fait tourner son propre firmware (microgiciel)
.2) Système TI-83 Premium CE 5.3.5 et application PyAdaptr :
Go to topTI-Python
, il nous faut l'une des TI-83 Premium CE
du stand. Identifiées au dos par une étiquette manuscrite Marketing Python
, elles sont munies du futur système 5.3.5
, plus précisément de la version 5.3.5.0006
.PyAdaptr
(sans doute pour Python Adapter)
. L’écran de lancement de l’application nous apprend qu’elle est elle aussi en version 5.3.5.0006
. Un petit tour par le menu mémoire nous le confirme, et nous fait en prime remarquer qu’elle est tout bonnement énorme. Avec 306,210 Ko
c'est la plus grosse application jamais fournie par Texas Instruments
pour cette calculatrice ! Mais que renferme-t-elle ?...3) Editeur de scripts Python et menus :
Go to topPyAdaptr
nous offre un éditeur de scripts Python
. Il utilise une petite police à largeur fixe permettant de rentrer dans l’écran 11 lignes sur 32 colonnes (contre 9 lignes sur 26 colonnes pour l’éditeur de programmes pour le langage historique)
, gère la coloration syntaxique, l’indentation automatique et, comme sur Casio Graph 90+E
Notons qu’en cas de dépassement du bord droit de l’écran, l’éditeur retourne automatiquement à la ligne. Afin de distinguer ces retours à la ligne intermédiaires des indentations de nouvelles lignes, ces dernières sont préfixées par des points gris clair.
Outils
correspondant à la touche f3offre également la possibilité d’indenter ou désindenter manuellement, d’aller au numéro de ligne de son choix comme sur
Graph 90+E
Graph 90+E
Le menu de bas d’écran
Gérer
correspondant à la touche f5permet quant à lui de renommer ou supprimer les scripts.
4) Bibliothèque native Python et menus :
Go to topToujours comme sur
Graph 90+E
2nde
0a été entièrement adapté pour lister les commandes, fonctions, opérateurs et constantes utilisables dans le contexte
Python
, avec même des légendes pour certaines entrées.Depuis l’éditeur, le menu de bas d’écran
Fns
(peut-être pour Fonctionnalités)
correspondant à la touche f1permet également d’accéder plus rapidement par onglets à un sous-ensemble du catalogue, une sorte de sélection de ce qui a été jugé le plus utile selon le constructeur :
- I/Opour entrées/sorties(Input/Output)
- Type
- Ctlpour les commandes de boucles et instructions conditionnelles, confortablement déclinées sous différentes formes
- Opspour les opérateurs de tests et constantes associées(la liste ci-dessous se poursuit sur un 2nd écran avecA:TrueetB:False, photo manquante)
- Foncpour ce qui est relatif aux fonctions définies dans le script
- Listpour tout ce qui concerne les listes(ou tableaux), conformément au nouveau programme de Première de la rentrée 2019
- Modulpour les modulesPythondisponibles
2nde
mathspermettant historiquement d’accéder au menu de tests a été adaptée dans le contexte
Python
agissant en tant que raccourci vers la catégorie Ops
.5) Modules Python et menus :
Go to topmathsagit quant à elle comme raccourci vers la catégorie
Modul
. Les modules Python
sont donc à ce jour apparemment au nombre de deux, exactement comme sur Graph 90+E
math
et random
(photo manquante pour le contenu de ce dernier, mais nous le traiterons différemment dans un prochain article)
.Concernant le module
math
, notons qu’il s’agit donc du seul modèle à nous scinder son contenu, le répartissant sur 3 onglets :- Math
- Constpour les constantes
- Trigpour trigonométrie
6) Connexion module TI-Python et mise à jour :
Go to topTI-Python
à la calculatrice TI-83 Premium CE
n’est requise que pour l’accès à la console Python
et l’exécution des scripts. Comme le TI-Innovator Hub
USB mini-B
, et se relient donc tout simplement à la calculatrice avec le câble de transfert mini-USB
fourni avec celle-ci. 
Du côté module, la bonne connexion est indiquée par la diode
D1
verte. Du côté calculatrice, la bonne connexion est indiquée par un carré vert à droite dans la barre de titre.Pas de photo ici, mais notons que lors de la 1ère connexion d’un des deux modules du stand, nous avons obtenu dans l’application
PyAdaptr
une barre de progression peu bavarde (aucun texte)
qui a mis pas mal de temps à passer de 0 à 100%. Nous n’avons plus jamais obtenu cette barre sur les 3 journées de tests. Cela ressemble énormément à une mise à jour du firmware
du module TI-Python
par l’application. Si donc l’application PyAdaptr
embarque directement le firmware
du module, cela explique sa taille aussi énorme.Gérer
accessible via f5permet alors de découvrir enfin la version
firmware
du module TI-Python
, ici 3.0.0.0006
.7) Console Python et menus :
Go to topTI-Python
maintenant connecté, nous avons accès à la console (menu de bas d’écran
pour l’exécution des scripts et commandes saisies.Shell
)Le démarrage de la console semble bizarrement précharger systématiquement tous les scripts présents en mémoire, ce qui peut prendre un moment. Espérons donc que la mémoire du module
TI-Python
sera suffisamment généreuse.En tous cas cela semble bien être une véritable implémentation
Python
comme sur Graph 90+E
NumWorks

NumWorks
varsest ici fonctionnelle et permettra de lister non seulement les fonctions définies dans l’environnement courant, que ce soit via les scripts chargés ou en ligne de commande, mais également les variables globales !

Notons que comme dans
KhiCAS
Graph 90+E
Python
officiel de cette machine et à la NumWorks
↑ne permet pas de faire défiler l’écran pour parcourir l’historique des affichages/résultats de la console, juste de récupérer les dernières commandes saisies.
8) Stockage des scripts Python et mode examen :
Go to topPython
créés sont stockés en mémoire sous la forme de variables d’application (AppVars)
, et le menu mémoire se donne la peine de les identifier de façon spécifique par un suffixe PY
de couleur bleue.Mais c’est peut-être le point que
Texas Instruments
a le moins eu le temps de travailler. Ces scripts doivent obligatoirement rester en mémoire principale (RAM)
. Un script mis en mémoire d’archive (Flash)
ne sera listé ni par l’éditeur de l’application PyAdaptr
, ni même par sa console pour une simple exécution en lecture seule. 
Cela a l’inconvénient de nous inciter à nous contenter des 150K et quelques de la mémoire principale plutôt que des 3Mio de la mémoire d’archive, mais aussi de nous faire risquer la perte intégrale et définitive de tous les scripts Python de la machine au moindre plantage ou redémarrage.

On pouvait supposer que le suffixe
PY
était significatif d’un traitement spécifique de ces variables, peut-être pour le mode examen. Et bien non, l’activation du mode examen du système 5.3.5.0006
, en plus d’être toujours aussi lente, continue à effacer définitivement toutes les variables d’applications présentes en mémoire, archivées ou non, scripts Python
inclus donc. 
9) Matériel module TI-Python :
Go to topIl s’articule autour d’une unique puce
ATSAMD21
de chez Atmel
, embarquant donc :- un processeur Cortex-M0+cadencé à(ARMv6, Thumb)48 MHz
- une mémoire Flashde256Mio, donc compatible avec la taille observée de l’application
- une mémoire SRAMde32Kio
Une petite recherche au sujet de cette puce nous apprend son utilisation dans la console de jeux portable française, éducative et rétro , ou encore pour les cartes de développement
Arduino
et Zero.Mais de façon encore plus intéressante, c’est également la puce utilisée dans les
PyBoards
(cartes de développement
Python
)Trinket M0
et Feather M0
de chez AdaFruit
. 
Outre une possible compatibilité des
firmwares
, cela voudra peut-être dire que la base du code logiciel est commune. Auquel cas l’implémentation Python
serait du CircuitPython
, un dérivé du MicroPython
Graph 90+E
Numworks
Conclusion :
Go to topEnfin,
last but not least
, à quelques mois de sa sortie la solution TI-Python
de Texas Instruments
est déjà très aboutie sur nombre de points. Elle est comparable à la concurrence, empruntant selon le cas qualités ou défauts à l’un ou à l’autre, et parfois même supérieure sur certains points. 
Pour les défauts essentiels, nous retiendrons à ce jour :
- l’extrême volatilité des scripts Python, comme chez, avec l’absence de gestion des scriptsNumWorksPythonen mémoireFlashet leur destruction définitive par l'entrée en mode examen
- l’absence de module graphique, comme sur , dans l’optique du nouveau programme deGraph 90+EPhysique-Chimie Secondeà la rentrée 2019
- le choix d’un module externe, totalement interdit aux examens en France
Quoi qu’il en soit,
Texas Instruments
ne fait visiblement pas les choses à moitié, le travail est d’excellente facture. Pour un module externe inutilisable aux examens et dont l’utilisation en classe ne sera pas sans diverses contraintes matérielles et logistiques absentes chez la concurrence, c’est même paradoxal de se donner autant de mal… à moins que ce ne soit qu’un travail préparatoire pour autre chose qui va suivre ?... 