π
<-

TI-z80 TI-Python: import sys révèle du CircuitPython Adafruit !

New postby critor » 28 Jan 2019, 19:48

A la rentrée 2019 le Python sera le seul langage de programmation préconisé pour l'enseignement de l'algorithmique au lycée en Seconde et Première.

Plusieurs calculatrices graphiques intègrent déjà une implémentation Python officielle dans leur dernière mise à jour, plus ou moins complète, fidèle et réussie selon le cas :
  • NumWorks avec MicroPython 1.9.4
  • Casio Graph 90+E avec MicroPython 1.9.4
  • HP Prime avec l'écriture Python de Xcas
  • le module externe TI-Python pour TI-83 Premium CE avec CircuitPython (dérivé de MicroPython)
À côté de cela nous avons aussi plusieurs implémentations communautaires, qui à la différence ne fonctionneront pas en mode examen en 2020 :

Ces diverses implémentations ne sont pas équivalentes et diffèrent dans l'éventail de modules qu'elles proposent.

Aussi comme nous l'avons déjà vu, ces implémentations diffèrent également par le contenu proposé dans chaque module.
Nous avons en effet déjà comparé les modules builtins, math, random, time et cmath.

Voici un petit récapitulatif des modules disponibles sur chaque implémentation avec le nombre d'entrées offertes à chaque fois :
NumWorks
Casio
Graph 90+E
module externe
TI-Python pour
TI-83 Premium CE
builtins218188175204190
array???
collections?
cmath121212
gc???
math4141254128
random8888
sys???
time34
dessin
(spécifique)
?
(nsp)
?
(kandinsky)
Modules76378
Éléments271+252+208265+230+


D'où à date le classement suivant :
  1. TI-Nspire avec 7 modules et plus de 271 entrées
  2. Casio Graph 35+E/75+E avec 7 modules et plus de 265 entrées
  3. NumWorks avec 6 modules et plus de 252 entrées
  4. module externe TI-Python pour TI-83 Premium CE avec 8 modules et plus de 230 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entrées

Un classement bien évidemment non final, puisque basé sur la comparaison d'une partie des modules.

Aujourd'hui poursuivons avec la comparaison d'un module remarquable, le module sys, disponible uniquement sur les TI-Nspire, Casio Graph 35/75+E et module externe TI-Python.
C'est en effet l'occasion d'arracher quelques secrets supplémentaires au module externe TI-Python... ;)

Pour cela, utilisons le script suivant :
Code: Select all
#platforms:
#0: MicroPython / TI-Nspire
#1: MicroPython / NumWorks
#2: MicroPython / G90+E
#3: MicroPython / G35+E/USB / G75/85/95
#4: CircuitPython / TI-Python / 83PCE
#5: Xcas / HP Prime
#6: KhiCAS / Graph 90+E
def getplatform():
  id=-1
  try:
    import sys
    try:
      if sys.platform=='nspire':id=0
      if sys.platform=='TI-Python Adapter':id=4
    except:id=3
  except:
    try:
      import kandinsky
      id=1
    except:
      try:
        if chr(256)==chr(0):id=5+(not ("HP" in version()))
      except:
        id=2
  return id
 
platform=getplatform()
#lines shown on screen
plines=[29,12,  7, 9,11,0,0]
#max chars per line
#(error or CR if exceeded)
pcols =[53,99,509,32,32,0,0]

nlines=plines[platform]
ncols=pcols[platform]
curline=0

def mprint(*ls):
  global curline
  st=""
  for s in ls:
    if not(isinstance(s,str)):
      s=str(s)
    st=st+s
  stlines=1+int(len(st)/ncols)
  if curline+stlines>=nlines:
    input("Input to continue:")
    curline=0
  print(st)
  curline+=stlines

def sstr(obj):
  try:
    s=obj.__name__
  except:
    s=str(obj)
    a=s.find("'")
    b=s.rfind("'")
    if a>=0 and b!=a:
      s=s[a+1:b]
  return s

def isExplorable(obj):
  s=str(obj)
  return s.startswith("<module '") or s.startswith("<class '")

def explmod(pitm,pitmsl=[],reset=True):
  global curline
  if(reset):
    curline=0
    pitmsl=[sstr(pitm)]
  hd="."*(len(pitmsl)-1)
  spath=".".join(pitmsl)
  c=0
  for itms in sorted(dir(pitm)):
    c=c+1
    try:
      itm=eval(spath+"."+itms)
      mprint(hd+itms+"="+str(itm))
      if isExplorable(itm):
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c=c+explmod(itm,pitmsl2,False)
    except:
      mprint(hd+itms)
  if c>0:
    mprint(hd+"Total: "+str(c)+" item(s)")
  return c



Voici ci-contre ce que répondent les Graph 35/75+E et TI-Nspire, et ci-dessous une reconstitution de ce qu'affiche le module externe TI-Python à partir de nos observations et notes d'octobre 2018 aux journées APMEP et congrès UdPPC :
TI-Python wrote:>>> from explmod import *
>>> import sys
>>> explmod(sys)
__name__=sys
argv=[]
byteorder=little
exit=<function>
implementation=(name='circuitpython', version=(3, 0, 0))
maxsize=1073741823
modules={'handshake': <module 'handshake' from 'handshake.py'>}
path=['', '/', '/lib', '.frozen']
platform=TI-Python Adapter
print_exception=<function>
stderr=<io.FileIO 2>
stdin=<io.FileIO 0>
stdout=<io.FileIO 1>
version=3.4.0
version_info=(3, 4, 0)


10016Comme promis, nous en apprenons davantage sur le module externe TI-Python, notamment que contrairement aux autres calculatrices il n'utilise pas MicroPython mais CircuitPython, une implémentation en fait dérivée de MicroPython et développée par Adafruit.
Il s'agirait apparemment d'un Circuitpython 3.0.0 implémentant du Python 3.4.0.

Après avoir déjà remarqué que le module externe TI-Python utilisait la puce Atmel ATSAMD21, puce notablement connue pour son usage dans les PyBoards (cartes de développement Python) Trinket M0 et Feather M0 justement également conçues par Adafruit, cela commence à faire beaucoup de coincidences... :#roll#:

1020310204Le module externe TI-Python ne serait-il pas tout simplement une carte Adafruit Trinket M0 ou Feather M0, avec le port micro-USB remplacé par du mini-USB ?

9948En tous cas du point de vue logiciel il doit y avoir sans doute un firmware différent, vu que la carte Adafruit Trinket M0 que nous avions apportée au congrès UdPPC 2018 n'était tout simplement pas reconnue par la calculatrice du stand de Texas Instruments.

A part cela, l'on note la possibilité pour un script Python de déterminer très facilement si il tourne sur le module externe TI-Python en testant juste si platform=='TI-Python Adapter'.

Nous remarquons également dans sys.path la mention de plusieurs dossiers du module externe TI-Python : dossier courant, dossier racine /, dossier /lib ainsi qu'un .frozen.

9911sys.modules révèle la présence d'un mystérieux module handshake provenant du script handshake.py, dans le sens où il n'est pas présent sur la calculatrice du stand de Texas Instruments ! :o


Bref, récapitulons ce qu'il y a donc dans nos différents modules sys :
TI-NspireCasio
Graph 35+E/USB
Graph 75/85/95
module externe
TI-Python pour
TI-83 Premium CE
__name__=sys
argv=[]
byteorder=little
exc_info()
exit()
implementation=(name='micropython', version=(1, 4, 6))
maxsize=2147483647
.
path=['', '/documents/ndless']
platform=nspire
print_exception()
stderr=<io.TextIOWrapper 2>
stdin=<io.TextIOWrapper 0>
stdout=<io.TextIOWrapper 1>
version=3.4.0
version_info=(3, 4, 0)
__name__=sys
argv=
byteorder=big
.
exit()
implementation=(name='micropython', version=(1, 9, 4))
maxsize=2147483647
modules={'explmod'}
path=
.
print_exception()
.
.
.
version=3.4.0
version_info=(3, 4, 0)
__name__=sys
argv=[]
byteorder=little
.
exit()
implementation=(name='circuitpython', version=(3, 0, 0))
maxsize=1073741823
modules={'handshake'}
path=['', '/', '/lib', '.frozen']
platform=TI-Python Adapter
print_exception()
stderr=<io.FileIO 2>
stdin=<io.FileIO 0>
stdout=<io.FileIO 1>
version=3.4.0
version_info=(3, 4, 0)
Total: 15Total: 12Total: 15


Ce qui déjà nous fait remarquer que le Micropython pour TI-Nspire n'est apparemment plus mis à jour depuis des lustres, étant en version 1.4.6 quand toutes les autres calculatrices concernées ont du Micropython 1.9.4. :(

Notons aussi que sys.maxsize, taille maximale des listes, chaînes de caractères et autres objets composés, est nettement inférieure sur le module externe TI-Python, un peu moins de la moitié de ce qu'elle vaut sur les autres modèles.

Suite à cela, mettons à jour notre petit récapitulatif :
NumWorks
Casio
Graph 90+E
module externe
TI-Python pour
TI-83 Premium CE
builtins218188175204190
array???
collections?
cmath121212
gc???
math4141254128
random8888
sys151215
time34
dessin
(spécifique)
?
(nsp)
?
(kandinsky)
Modules76378
Éléments286+252+208277+245+


D'où le classement qui ne change toujours pas :
  1. TI-Nspire avec 7 modules et plus de 286 entrées
  2. Casio Graph 35+E/75+E avec 7 modules et plus de 277 entrées
  3. NumWorks avec 6 modules et plus de 252 entrées
  4. module externe TI-Python pour TI-83 Premium CE avec 8 modules et plus de 245 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entrées

A bientôt... ;)

TI-z80 Avec Symbolic+PrettyPt supers dérivations sur TI-82 Advanced

New postby critor » 27 Jan 2019, 17:00

La TI-82 Advanced est techniquement une TI-84 Plus, mais a été bridée pour empêcher l'ajout d'applications.

Toutefois dans un article précédent, nous t'annoncions enfin la possibilité d'installer les applications TI-82+/83+/84+ de ton choix sur ta TI-82 Advanced, grâce au formidable travail de parrotgeek1. :bj:

Dans un article précédent, nous traitions de l'ajout de l'application Symbolic, ouvrant notamment la voie à la dérivation formelle ! :bj:

Mais voilà, les expressions des dérivées étaient retournées en écriture ligne, et il n'était donc pas toujours facile de les retranscrire sans erreur. :'(

Dans l'article précédent, nous t'avions décrit presque toutes les fonctions de Symbolic accessibles via le raccourci
math
math
.

Nous avions omis pretty( puisqu'elle ne pouvait pas fonctionner en l'état, nécessitant l'ajout d'une autre application, PrettyPt.

10202PrettyPt par Sebastian Theiss est une application qui permet la saisie en écriture naturelle, chose inutile puisque intégrée dans le système TI-84 Plus à partir de la version 2.53MP de la rentrée 2010, et donc par extension sur TI-82 Advanced.

Nous venons pourtant de te préconvertir cette application pour TI-82 Advanced.

10201En effet, la commande pretty( de Symbolic permet d'ouvrir une expression dans l'application PrettyPt, et donc d'afficher des résultats en écriture naturelle.

Plus que quelques lignes, et te voici avec un programme de dérivation absolument génial : :#tritop#:
ImageImageImage


Maintenant étendue avec Symbolic et PrettyPt , ta TI-82 est enfin véritablement Advanced ! :bj:

Téléchargements :Liens :

TI-Nspire nSonic2MS 2.20, accès encore plus rapide à tes fichiers !

New postby critor » 27 Jan 2019, 15:20

6955nSonic2MS est une application Ndless pour TI-Nspire qui te permet :
  • d'accéder plus rapidement au dossier de ton choix, notamment si tu mets beaucoup de fichiers sur ta calculatrice
  • de protéger certains dossiers, avec configuration d'une combinaison secrète d'accès et d'un code pin, notamment si tu passes tes épreuves à Maubeuge

Elle prend la forme d'un explorateur de dossiers prenant temporairement la main sur celui de Texas Instruments quand tu déclenche le raccourci :nsho: :ns2: .

Toutefois, nSonic2MS avait un défaut, dans le sens où il se comportait moins bien que le système TI-Nspire lorsqu'il y avait beaucoup de sous-dossiers dans un même dossier.

Extra44 nous exposé le cas de sa calculatrice :
  • 222 fichiers occupant 70,9Mio
  • répartis dans 20 dossiers différents
  • dont 19 dossiers situés à la racine de l'espace de stockage
L'accès à cette racine mettait :
  • dans les 12 secondes avec l'explorateur officiel, ce qui n'est déjà pas génial... :#non#:
  • dans les 37 secondes via nSonic2MS 2.10, une catastrophe ! :mj:

Mais justement, comme Extra44 s'est donné la peine de signaler le problème, nous avons pu le corriger.

Voici donc dès aujourd'hui disponible le nouvel nSonic2MS 2.20 qui gère correctement ce cas, et dans cette même situation ne met plus que... 4 secondes à te lister la racine de ton espace de stockage, soit trois fois moins que l'explorateur officiel ! :bj:

Merci donc à toi, Extra44 ! :bj:

Téléchargement : nSonic2MS

Lien :Tutoriel d'installation nSonic2MS

Divers Le classement des Pythonnettes, comparaison modules cmath

New postby critor » 27 Jan 2019, 14:21

A la rentrée 2019 le Python sera le seul langage de programmation préconisé pour l'enseignement de l'algorithmique au lycée en Seconde et Première.

Plusieurs calculatrices graphiques intègrent déjà une implémentation Python officielle dans leur dernière mise à jour, plus ou moins complète, fidèle et réussie selon le cas :
  • NumWorks avec MicroPython 1.9.4
  • Casio Graph 90+E avec MicroPython 1.9.4
  • HP Prime avec l'écriture Python de Xcas
  • le module externe TI-Python pour TI-83 Premium CE avec CircuitPython (dérivé de MicroPython)
À côté de cela nous avons aussi plusieurs implémentations communautaires, qui à la différence ne fonctionneront pas en mode examen en 2020 :

Ces diverses implémentations ne sont pas équivalentes et diffèrent dans l'éventail de modules qu'elles proposent.

Aussi comme nous l'avons déjà vu, ces implémentations diffèrent également par le contenu proposé dans chaque module.
Nous avons en effet déjà comparé les modules builtins, math, random et time.

Voici un petit récapitulatif des modules disponibles sur chaque implémentation avec le nombre d'entrées offertes à chaque fois :
NumWorks
Casio
Graph 90+E
module externe
TI-Python pour
TI-83 Premium CE
builtins218188175204190
array???
collections?
cmath???
gc???
kandinsky?
math4141254128
random8888
sys???
time34
Modules66378
Éléments259+240+208253+230+


D'où à date le classement suivant :
  1. TI-Nspire avec 6 modules et plus de 259 entrées
  2. Casio Graph 35+E/75+E avec 7 modules et plus de 253 entrées
  3. NumWorks avec 6 modules et plus de 240 entrées
  4. module externe TI-Python pour TI-83 Premium CE avec 8 modules et plus de 230 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entrées

Un classement bien évidemment non final, puisque basé sur la comparaison d'une partie des modules.

Aujourd'hui poursuivons avec la comparaison du module cmath pour les nombres complexes, disponible uniquement sur les implémentations Casio Graph 35/75+E, NumWorks et TI-Nspire, à l'aide du script suivant :
Code: Select all
#platforms:
#0: MicroPython / TI-Nspire
#1: MicroPython / NumWorks
#2: MicroPython / G90+E
#3: MicroPython / G35+E/USB / G75/85/95
#4: CircuitPython / TI-Python / 83PCE
#5: Xcas / HP Prime
#6: KhiCAS / Graph 90+E
def getplatform():
  id=-1
  try:
    import sys
    try:
      if sys.platform=='nspire':id=0
      if sys.platform=='TI-Python Adapter':id=4
    except:id=3
  except:
    try:
      import kandinsky
      id=1
    except:
      try:
        if chr(256)==chr(0):id=5+(not ("HP" in version()))
      except:
        id=2
  return id
 
platform=getplatform()
#lines shown on screen
plines=[29,12,  7, 9,11,0,0]
#max chars per line
#(error or CR if exceeded)
pcols =[53,99,509,32,32,0,0]

nlines=plines[platform]
ncols=pcols[platform]
curline=0

def mprint(*ls):
  global curline
  st=""
  for s in ls:
    if not(isinstance(s,str)):
      s=str(s)
    st=st+s
  stlines=1+int(len(st)/ncols)
  if curline+stlines>=nlines:
    input("Input to continue:")
    curline=0
  print(st)
  curline+=stlines

def sstr(obj):
  try:
    s=obj.__name__
  except:
    s=str(obj)
    a=s.find("'")
    b=s.rfind("'")
    if a>=0 and b!=a:
      s=s[a+1:b]
  return s

def isExplorable(obj):
  s=str(obj)
  return s.startswith("<module '") or s.startswith("<class '")

def explmod(pitm,pitmsl=[],reset=True):
  global curline
  if(reset):
    curline=0
    pitmsl=[sstr(pitm)]
  hd="."*(len(pitmsl)-1)
  spath=".".join(pitmsl)
  c=0
  for itms in sorted(dir(pitm)):
    c=c+1
    try:
      itm=eval(spath+"."+itms)
      mprint(hd+itms+"="+str(itm))
      if isExplorable(itm):
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c=c+explmod(itm,pitmsl2,False)
    except:
      mprint(hd+itms)
  if c>0:
    mprint(hd+"Total: "+str(c)+" item(s)")
  return c

Et bien ici pas de perdante (sauf les absentes), contrairement au module math pour le module cmath les Casio Graph 35/75+E, NumWorks et TI-Nspire exposent toutes les mêmes 12 éléments :
>>> from explmod import *
>>> import cmath
>>> explmod(cmath)
__name__=cmath
cos=<function>
e=2.718281828459045
exp=<function>
log=<function>
log10=<function>
phase=<function>
pi=3.141592653589793
polar=<function>
rect=<function>
sin=<function>
sqrt=<function>

D'où mise à jour de notre petit récapitulatif :
NumWorks
Casio
Graph 90+E
module externe
TI-Python pour
TI-83 Premium CE
builtins218188175204190
array???
collections?
cmath121212
gc???
kandinsky?
math4141254128
random8888
sys???
time34
Modules66378
Éléments271+252+208265+230+


D'où à le classement qui pour le moment ne change pas :
  1. TI-Nspire avec 6 modules et plus de 271 entrées
  2. Casio Graph 35+E/75+E avec 7 modules et plus de 265 entrées
  3. NumWorks avec 6 modules et plus de 252 entrées
  4. module externe TI-Python pour TI-83 Premium CE avec 8 modules et plus de 230 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entrées

A bientôt... ;)

TI-Nspire TI-Nspire CX II, comme 2.5 fois plus rapide ! 330/390 MHz ?

New postby critor » 25 Jan 2019, 16:57

1018110175Dans un article précédent, nous t'annoncions l'arrivée pour la rentrée 2019 d'une nouvelle génération de calculatrices TI-Nspire, les TI-Nspire CX II et TI-Nspire CX II CAS.

Suite à leur annonce officielle qui promettait entre autres un processeur plus rapide, nous t'en avons par la suite détaillé les nouvelles fonctionnalités.

La France et l'Europe quant à elles vont bénéficier pour la première fois de déclinaisons spécifiques, les TI-Nspire CX II-T et TI-Nspire CX II-T CAS.


Comme jimbauwens nous l'apprend, c'est l'Europe qui a l'honneur de la première présentation publique des TI-Nspire CX II.

Les TI-Nspire CX II-T sont en effet exposées en ce moment-même sur le stand de Texas Instruments au salon NOT2019 à Utrecht aux Pays-Bas.

Salon qui a commencé mardi 22 janvier, jour de l'annonce officielle, et qui se termine demain samedi 26 janvier, donc il n'est pas encore trop tard pour toi si tu es à proximité... ;)

Mais ce qui est particulièrement intéressant, c'est que le communiqué de presse sorti à l'occasion du salon nous en apprend davantage, parlant d'un processeur 2.5 fois plus rapide ! :bj:

Pour rappel, le processeur TI-Nspire CX est cadencé à :
  • 132 MHz pour jusqu'à la révision matérielle V
  • 156 MHz depuis la révision matérielle W (produites depuis octobre 2015)

En supposant que la comparaison fasse bien référence aux TI-Nspire CX produites ces trois dernières années, si Texas Instruments avait gardé le même type de processeur cela nous donnerait donc du 156×2.5=390 MHz !

Si jamais l'équipe marketing de Texas Instruments avait préféré comparer aux premières TI-Nspire CX de 2011 afin de pouvoir annoncer un rapport de performances artificiellement plus élevé, nous serions sur du 132×2.5=330 MHz.

Source : http://persberichten.deperslijst.com/10 ... akken.html via jimbauwens

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2661 utilisateurs:
>2644 invités
>11 membres
>6 robots
Record simultané (sur 6 mois):
29271 utilisateurs (le 11/07/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)