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
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.
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, et même de couper/copier/coller. Notons toutefois que contrairement à la Graph 90+E ces dernières opérations ne sont pas réalisables librement, ne s’appliquant pas à une sélection de caractères mais à une ligne entière, une seule à la fois.
Le menu de bas d’écran Gérer correspondant à la touche
f5permet quant à lui de renommer ou supprimer les scripts.
Toujours comme sur Graph 90+E, le catalogue alphabétique accessible via
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/O pour entrées/sorties (Input/Output)
- Type
- Ctl pour les commandes de boucles et instructions conditionnelles, confortablement déclinées sous différentes formes
- Ops pour les opérateurs de tests et constantes associées (la liste ci-dessous se poursuit sur un 2nd écran avec A:True et B:False, photo manquante)
- Fonc pour ce qui est relatif aux fonctions définies dans le script
- List pour tout ce qui concerne les listes (ou tableaux), conformément au nouveau programme de Première de la rentrée 2019
- Modul pour les modules Python disponibles
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.
mathsagit 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
- Const pour les constantes
- Trig pour trigonométrie

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.
f5permet alors de découvrir enfin la version firmware du module TI-Python, ici 3.0.0.0006.
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 et NumWorks, toutes les commandes que nous avons pu saisir ont été correctement reconnues.

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 pour Graph 90+E, et contrairement donc au Python officiel de cette machine et à la NumWorks, la touche
↑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.
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.

Il s’articule autour d’une unique puce ATSAMD21 de chez Atmel, embarquant donc :
- un processeur Cortex-M0+ (ARMv6, Thumb) cadencé à 48 MHz
- une mémoire Flash de 256Mio, donc compatible avec la taille observée de l’application
- une mémoire SRAM de 32Kio
Une petite recherche au sujet de cette puce nous apprend son utilisation dans la console de jeux portable française, éducative et rétro Gamebuino META, ou encore pour les cartes de développement Arduino M0 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 utilisé sur la Graph 90+E et la Numworks, ce qui expliquerait l’excellente compatibilité.
Enfin, 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 NumWorks, avec l’absence de gestion des scripts Python en mémoire Flash et leur destruction définitive par l'entrée en mode examen
- l’absence de module graphique, comme sur Graph 90+E, dans l’optique du nouveau programme de Physique-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 ?...
