Surprise inattendue pour cette rentrée 2022, Texas Instruments nous sort une mise à jour de TI-Connect CE, son logiciel de connectivité pour calculatrices TI-82/83/84 munies d'un port USB.
Mais ce qui est suprenant c'est surtout le numéro de version du logiciel, qui habituellement suivait la numérotation des mises à jour de calculatrices. Nous passons en effet de la version 5.6.3 qui était sortie pour la rentrée 2021 avec le support de la nouvelle TI-82 Advanced Edition Python, à une version 6.0.
Or la TI-82 Advanced Edition Python est restée depuis en version 5.6.3, pendant que les TI-83 Premium CE et TI-84 Plus CE viennent à peine de passer à la version 5.8.
Un saut de version aussi important, c'est curieux hors contexte de toute sortie d'un nouveau modèle ou d'une mise à jour majeure de calculatrice.
Tentons donc de creuser les nouveautés.
Mais ce qui est suprenant c'est surtout le numéro de version du logiciel, qui habituellement suivait la numérotation des mises à jour de calculatrices. Nous passons en effet de la version 5.6.3 qui était sortie pour la rentrée 2021 avec le support de la nouvelle TI-82 Advanced Edition Python, à une version 6.0.
Or la TI-82 Advanced Edition Python est restée depuis en version 5.6.3, pendant que les TI-83 Premium CE et TI-84 Plus CE viennent à peine de passer à la version 5.8.
Un saut de version aussi important, c'est curieux hors contexte de toute sortie d'un nouveau modèle ou d'une mise à jour majeure de calculatrice.
Tentons donc de creuser les nouveautés.
Les scripts Python que tu transférais vers ta calculatrice TI-83 Premium CE ou TI-84 Plus CE pouvaient être sous deux formats différents :
- le format .py issu de n'importe quel outil de concetpion Python
- le format .8xv de Texas Instruments pour les variables d'applications
Mais inversement, lorsque tu faisais ressortir des scripts depuis ta calculatrice, tu les obtenais obligatoirement au format .8xv, pour lequel il n'existe aucun lecteur autre que la calculatrice et aucun convertisseur non plus.
C'est-à-dire qu'ils ne pouvaient pas être édités ni même utilisés dans un autre environnement Python. Et c'était particulièrement embêtant pour les scripts dont tu ne disposais d'aucune copie sous un autre format, par exemple parce que tu les avais saisis directement sur la calculatrice.
C'est-à-dire qu'ils ne pouvaient pas être édités ni même utilisés dans un autre environnement Python. Et c'était particulièrement embêtant pour les scripts dont tu ne disposais d'aucune copie sous un autre format, par exemple parce que tu les avais saisis directement sur la calculatrice.
Et bien bonne nouvelle.
Désormais, lorsque tu exporte un script Python de ta calculatrice, TI-Connect CE te donne enfin le choix du format d'enregistrement : .8xv ou .py !
Désormais, lorsque tu exporte un script Python de ta calculatrice, TI-Connect CE te donne enfin le choix du format d'enregistrement : .8xv ou .py !
Le langage Python supporté par les derniers modèles TI-83 Premium CE et TI-84 Plus CE est très riche. Pour tes scripts tu disposes entre autres de la possiblité d'importer ti_graphics, une bibliothèque de tracé par pixels gérant tout une collection d'objets graphiques élémentaires :
La couleur se règle via
ti_graphics est de loin la bibliothèque Python de tracé par pixels la plus complète toute concurrence confondue. C'est de plus une véritable pépite pédagogique, avec le gros avantage de permettre dès la Seconde d'aborder et mener à bien des projets graphiques ambitieux en un minimum de lignes, sans avoir à traiter au préalable l'intégralité des notions mathématiques ou algorithmiques qu'il y a derrière tout cela !
Et c'est loin d'être tout, dans le même esprit la formidable bibliothèque ti_graphics permet également d'afficher des images !
Ici encore nul besoin d'attendre le chapitre sur le codage des images, une seule ligne suffit dès la Seconde :
Pour enrichir ainsi tes projets, Texas Instruments t'avait partagé une banque de 14 images libres.
Ces images utilisent un format IM8C que nous t'avions analysé et documenté :
Aussi t'avions-nous intégré le support de ce format à notre outil de conversion en ligne img2calc.
- pixel -
setPixel(x,y)
- texte -
drawString(text,x,y)
- ligne -
drawLine(x1,y1,x2,y2)
- ligne brisée et polygone -
drawPolyLine([(x1,y1),(x2,y2),...,(xn,yn)])
etfillPolygone([(x1,y1),(x2,y2),...,(xn,yn)])
- rectangle et rectangle plein -
drawRect(x,y,largeur,hauteur)
etfillRect(x,y,dx,dy)
- disque -
fillCircle(x,y,r)
- arc et secteur d'ellipse -
drawArc(x,y,dx,dy,t1,t2)
etfillArc(x,y,dx,dy,t1,t2)
La couleur se règle via
setColor([r,g,b])
en RGB-888, pour un affichage effectif en RGB-565 sur l'écran de la calculatrice.setPen(taille,type)
permet également de régler le stylo, l'épaisseur du trait ainsi que son style : continu ou en pointillés.ti_graphics est de loin la bibliothèque Python de tracé par pixels la plus complète toute concurrence confondue. C'est de plus une véritable pépite pédagogique, avec le gros avantage de permettre dès la Seconde d'aborder et mener à bien des projets graphiques ambitieux en un minimum de lignes, sans avoir à traiter au préalable l'intégralité des notions mathématiques ou algorithmiques qu'il y a derrière tout cela !
Et c'est loin d'être tout, dans le même esprit la formidable bibliothèque ti_graphics permet également d'afficher des images !
Ici encore nul besoin d'attendre le chapitre sur le codage des images, une seule ligne suffit dès la Seconde :
drawimage("nom",x,y)
. Cet appel va alors chercher en mémoire la variable d'application nom.8xv pour l'afficher.Pour enrichir ainsi tes projets, Texas Instruments t'avait partagé une banque de 14 images libres.
Ces images utilisent un format IM8C que nous t'avions analysé et documenté :
- Les images utilisent une palette d'au plus 256 couleurs, dont éventuellement 1 couleur transparente.
- Les données des pixels ainsi indexées sont compressées au format RLE.
Toutefois fallait-il déjà être capable de produire des images au format IM8C en question, et aucun outil de conversion officiel n'était disponible jusqu'à présent.
Aussi t'avions-nous intégré le support de ce format à notre outil de conversion en ligne img2calc.
TI-Connect CE gérait déjà la conversion d'images en fonds d'écran pour les calculatrices couleur ; il suffisait pour cela de tenter de transférer une image.
Et bien nouveauté, la conversion d'images au format IM8C des scripts Python pour TI-83 Premium CE et TI-84 Plus CE est maintenant supportée !
Pour y accéder, dans la liste déroulante de la boîte de dialogue, il te suffit de choisir Image Python au lieu d'un des 10 noms de fonds d'écran.
Nous obtenons à une boîte de dialogue a priori très complète, suggérant un grand soin apporté à cet outil :
Et bien nouveauté, la conversion d'images au format IM8C des scripts Python pour TI-83 Premium CE et TI-84 Plus CE est maintenant supportée !
Pour y accéder, dans la liste déroulante de la boîte de dialogue, il te suffit de choisir Image Python au lieu d'un des 10 noms de fonds d'écran.
Nous obtenons à une boîte de dialogue a priori très complète, suggérant un grand soin apporté à cet outil :
- permettant de choisir le nom que prendra l'image sur la calculatrice
- indiquant des règles de nommage (imposant une écriture en lettres capitales, contrairement à img2calc)
- rappelant les dimensions originales de l'image soumise
- permettant de préciser les dimensions souhaitées sur calculatrice, tout en rappelant la taille maximum de 320×210 pixels
Testons tout-de-suite une comparaison des conversions TI-Connect CE et img2calc. Prenons les 2 images suivantes :
Voici un script Python exploitant ces deux images, ainsi que ce qu'il donne ci-contre :
Déjà, premier problème évident avec TI-Connect CE, la transparence pourtant supportée par le format IM8C conçu par Texas Instruments, n'est visiblement pas gérée correctement au niveau du convertisseur.
À y regarder de plus près, on peut également noter des différences globales sur ce genre d'images, les algorithmes de réduction en pixels et en couleurs n'étant bien évidemment pas les mêmes pour les deux outils, on pouvait s'attendre à ce qu'ils génèrent des palettes de couleurs différentes..
Mais explorons ces conversions plus en détails. Malgré un affichage similaire si l'on fait abstraction du bug précédent, nous pouvons noter que les images converties avec TI-Connect CE occupent sensiblement plus de place :
Ce n'est probablement pas la seule, mais nous trouvons rapidement une des explications de cette hausse dans la palette de couleurs, plus importante avec TI-Connect CE :
À mieux regarder les fichiers obtenus à l'éditeur hexadécimal, nous pensons comprendre le problème avec TI-Connect CE. En fait ce n'est pas que la palette contient des couleurs jamais affichées, mais c'est qu'elle contient plein de couleurs absolument identiques, ce qui certes gaspille un petit peu de place, mais est surtout un éparpillement sabotant littéralement la compression RLE.
Nous pensons donc que l'équipe de développement, peut-être prise par le temps, a commis les erreurs de :
L'affichage précédent ayant raté avec les conversions TI-Connect CE, nous te laissons de quoi te permettre de comparer toi-même séparément les images converties :
- ZELDAB : une image de fond d'écran de 800×450 pixels en 94570 couleurs, que les deux outils passent en 320×180 pixels
- ZELDAF : une image de premier plan de 1000×933 pixels en 80570 couleurs avec transparence, que les deux outils passent en 225×210 pixels
Voici un script Python exploitant ces deux images, ainsi que ce qu'il donne ci-contre :
- Code: Select all
from ti_graphics import *
from ti_system import *
drawImage("ZELDAB", 0, 30)
drawImage("ZELDAF", 0, 30)
disp_wait()
Déjà, premier problème évident avec TI-Connect CE, la transparence pourtant supportée par le format IM8C conçu par Texas Instruments, n'est visiblement pas gérée correctement au niveau du convertisseur.
À y regarder de plus près, on peut également noter des différences globales sur ce genre d'images, les algorithmes de réduction en pixels et en couleurs n'étant bien évidemment pas les mêmes pour les deux outils, on pouvait s'attendre à ce qu'ils génèrent des palettes de couleurs différentes..
Mais explorons ces conversions plus en détails. Malgré un affichage similaire si l'on fait abstraction du bug précédent, nous pouvons noter que les images converties avec TI-Connect CE occupent sensiblement plus de place :
- ZELDAB occupe non pas 47,453 Ko mais 54,821 Ko (+15,53%)
- ZELDAF occupe non pas 14,411 Ko mais 15,795 Ko (+9,60%)
Ce n'est probablement pas la seule, mais nous trouvons rapidement une des explications de cette hausse dans la palette de couleurs, plus importante avec TI-Connect CE :
- ZELDAB définit non pas 252 mais 254 couleurs, mais quel gapillage quand on se rend compte finalement que l'image n'affiche que 221 couleurs différentes !
- ZELDAF définit non pas 248 mais le maximum de 256 couleurs, pour de façon absolument ridicule n'afficher que 157 couleurs différentes !
À mieux regarder les fichiers obtenus à l'éditeur hexadécimal, nous pensons comprendre le problème avec TI-Connect CE. En fait ce n'est pas que la palette contient des couleurs jamais affichées, mais c'est qu'elle contient plein de couleurs absolument identiques, ce qui certes gaspille un petit peu de place, mais est surtout un éparpillement sabotant littéralement la compression RLE.
Nous pensons donc que l'équipe de développement, peut-être prise par le temps, a commis les erreurs de :
- rechercher la palette de couleurs optimale non pas en directement en RGB565 (16 bits) mais en RGB888 (24 bits), et effectivement lorsque l'on passe ensuite au format 16 bits les couleurs trop proches peuvent devenir identiques
- ne pas supprimer les doublons en découlant de la palette RGB565 obtenue
L'affichage précédent ayant raté avec les conversions TI-Connect CE, nous te laissons de quoi te permettre de comparer toi-même séparément les images converties :
Nous ne pouvons que saluer une belle évolution de TI-Connect CE allant enfin dans le bon sens pour faciliter la création de projets Python, la mettant ainsi à portée de tout-le-monde.
La conversion d'images au format IM8C mériterait certes d'être retravaillée concernant le support de la transparence ainsi que le gaspillage significatif et inutile d'espace mémoire.
Mais quelque chose nous tracasse ; nous avons malgré tout l'impression de passer à côté d'une nouveauté majeure avec ce saut de version à 6.0...
La conversion d'images au format IM8C mériterait certes d'être retravaillée concernant le support de la transparence ainsi que le gaspillage significatif et inutile d'espace mémoire.
Mais quelque chose nous tracasse ; nous avons malgré tout l'impression de passer à côté d'une nouveauté majeure avec ce saut de version à 6.0...
Téléchargement : TI-Connect CE 6.0 pour Windows Mac