Au cours de l'année scolaire 2018-2019, tous les autres constructeurs de calculatrices graphiques nous ont sorti de nouvelles éditions de leurs modèles phares :
- Casio avec la Graph 35+E II qui remplace la Casio Graph 35+E
- Texas Instruments avec la TI-83 Premium CE Edition Python qui remplace la TI-83 Premium CE
- et les TI-Nspire CX II qui remplacent les TI-Nspire CX
- Hewlett Packard avec la HP Prime G2 qui remplace la HP Prime (G1)
- et même dans un certain sens Lexibook, avec l'Esquisse GCEXFR qui clone la Lexibook GC3000FR (soit en réalité la Truly TG206) tout en changeant quelques petites choses, et dont nous te parlerons prochainement
La NumWorks quant à elle avait déjà bénéficié d'une première révision matérielle pour la rentrée 2018 avec des changements esthétiques, au niveau du boîtier et du clavier. Toutefois, la référence du modèle était restée la même, N0100.
Cette fois-ci par contre pour sa révision matérielle de rentrée 2019 que nous venons de recevoir, la calculatrice NumWorks adopte apparemment une nouvelle référence, N0110. Référence effectivement indiquée dans le FCCID sur la tranche, 2ALWP-N0110, ainsi qu'à l'arrière de la boîte sur la représentation de la face arrière de la calculatrice.
Vu le changement de référence, il se pourrait donc bien que les changements ne soient pas juste cosmétiques mais bien plus croustillants cette année; nous allons donc découvrir ensemble la toute nouvelle édition NumWorks N0110 de la rentrée 2019.
- un prototype qui portait la référence N0200
- puis la version finalisée avec la référence N0110
Il s'agit de la même révision matérielle, la référence N0200 un temps envisagée n'ayant donc finalement pas été retenue pour nommer la révision matérielle de rentrée 2019.
Certaines illustrations qui vont suivre pourront ainsi porter la référence non finale N0200 qu'il faudra donc ignorer et remplacer par N0110.
Sommaire :
1) Déballage et tour d'observation :
Go to topEt si tu as l'œil observateur, peut-être as-tu déjà remarqué ci-dessus plusieurs changements vu que la calculatrice est représentée sur la boîte.
A priori la calculatrice NumWorks N0110 et son couvercle pèsent toujours 166g comme avant. Mais en réalité cela cache quelque chose d'intéressant :
- la calculatrice seule a perdu du poids, passant de 136g à seulement 127g
- le couvercle dans le même temps a gagné du poids, passant de 28g à 37g
En effet nous disposons d'un nouveau couvercle nettement plus épais et donc résistant bien mieux à la flexion lorsque l'on appuie dessus pour le retirer.
Les bosses latérales internes au couvercle sont également bien plus prononcées, ce qui permet de mieux surélever le couvercle et ainsi l'éloigner davantage de l'écran.
Deux changements permettant de bien mieux protéger l'écran contre les rayures dont ont pu souffrir des utilisateurs de la NumWorks N0100 !
Si l'on se concentre sur la calculatrice maintenant, on note plusieurs choses.
Déjà, la vitre de protection de l'écran est nettement plus épaisse.
Niveau clavier on note enfin l'ajout du caractère pourcent (%) fort utile en Python. Toutefois, ce caractère a été ajouté en tant que fonction alphabétique de la touche d'effacement :
.
Nous comprenons bien qu'il n'y avait pas d'autre possibilité dans la partie supérieur du clavier où figurent les autres caractères spéciaux, mais nous trouvons cela fort embêtant qu'une touche aussi importante puisque l'on peut être amené à devoir corriger une saisie à tout moment, puisse ainsi être détournée de sa fonction principale. Particulièrement dans le contexte du Python où l'on sera très souvent en verrouillage alphabétique, il ne faudra pas oublier de désactiver ce dernier... Peut-être est-ce une simple question d'habitude.
Mais ce n'est pas tout. Au dos de la calculatrice on note une position différente du bouton reset, ce qui implique donc l'usage interne d'une toute nouvelle carte mère...
Et en passant sur la NumWorks N0110 le bouton reset n'est plus à aller chercher dans le boîtier. Fini les mines de criterium (conductrices) que tu cassais dans ta calculatrice !
Enfin, allons vérifier la version firmware à l'écran À propos de l'application Paramètres :
- le prototype NumWorks N0200 non final est muni de la version 11.0.0
- la calculatrice NumWorks N0110 finalisée est quant à elle munie de la version 11.1.0 bien évidemment un peu plus récente
2) Diode examen et recharge batterie :
Go to topLa diode RVB restant alors allumée en orange, cela ne peut être confondu avec le signal du mode examen (rouge clignotant). De plus, cette fonctionnalité est désactivée une fois la calculatrice en mode examen, ce qui évite donc de parasiter le signal du mode examen en branchant par exemple une batterie USB externe.
Mais quelque chose qui est curieux, c'est que cette diode est bien faiblarde par rapport à celle des NumWorks N0100. La luminosité est bien plus faible que ce à quoi nous étions habitués, et les contours du disque dessiné par le faisceau sont également flous.
Tentons d'explorer ce mystère. Nous allons lancer le test usine pour pouvoir allumer les différents composants de la diode RVB. Pour cela il nous suffit dans l'application Paramètres d'accéder à l'écran À propos, de sélectionner FCC ID puis de taper
6.
Et effectivement, voilà découvert le pot aux roses. Lorsque l'on éclaire la diode dans ses composantes les plus lumineuses, rouge, bleu et blanc, on note au dos un chemin lumineux qui traverse l'écran verticalement. Encore un signe qui plaide pour une toute nouvelle carte mère. En effet la diode n'est visiblement plus accolée à la tranche supérieure du boîtier. La carte mère probablement plus petite doit désormais s'arrêter en-dessous de l'écran, et c'est un guide qui conduit alors sa lumière jusqu'à la tranche supérieure.
3) Performances :
Go to topPrenons le script Python suivant, et adaptons-le dans le langage historique de chaque calculatrice programmable conforme pour les examens français 2020 :
- Code: Tout sélectionner
try:
from time import *
except:
pass
def hastime():
try:
monotonic()
return True
except:
return False
def seuil(d):
timed,n=hastime(),0
start,u=0 or timed and monotonic(),2.
d=d**2
while (u-1)**2>=d:
u=1+1/((1-u)*(n+1))
n=n+1
return [(timed and monotonic() or 1)-start,n,u]
L'appel
seuil(0.008)
s'exécute sur la NumWorks N0110 en seulement 0,498s : - 0,498s : NumWorks N0110 (?)
- 0,688s : HP Prime G2 (32 bits : Cortex/ARMv7 @528MHz)
- 0,785s : NumWorks N0100 (32 bits : Cortex/ARMv7 @100MHz)
- 2,414s : HP Prime G1 (32 bits : ARM9/ARMv5 @400MHz)
- 8,93s : TI-Nspire CX II (32 bits : ARM9/ARMv5 @396MHz)
- 12,24s : TI-Nspire (32 bits : ARM9/ARMv5 @120MHz)
- 18,67s : TI-Nspire CX CR4+ (révisions W+) (32 bits : ARM9/ARMv5 @156MHz)
- 20,92s : TI-Nspire CX (révisions A-V) (32 bits : ARM9/ARMv5 @132MHz)
- 50,77s : Casio Graph 90+E (32 bits : SH4 @117,96MHz)
- 81,03s : Casio Graph 35+E II (32 bits : SH4 @58,98MHz)
- 101,1s : Casio Graph 35/75+E (32 bits : SH4 @29,49MHz)
- 117,29s : Casio Graph 25+E (32 bits : SH4 @29,49MHz)
- 120,51s : TI-83 Premium CE Edition Python (8 bits : eZ80 @48MHz)
- 196,79s : TI-83 Premium CE / TI-84 Plus CE-T (8 bits : eZ80 @48MHz)
- 260,41s : TI-82 Advanced / TI-84 Plus T (8 bits : z80 @15MHz)
- 607,91s : Casio fx-CP400+E (32 bits : SH4 @117,96MHz)
- 672,65s : Casio fx-92+ Spéciale Collège (8 bits : nX-U8/100 >1,5MHz - spécifications ancien modèle fx-92 Collège 2D+, non confirmées sur le nouveau)
- ≈738,75s : Lexibook GC3000FR (non programmable, estimation relative par comparaison des performances en tracé de graphes avec le modèle le plus proche technologiquement, la TI-82 Advanced)
La NumWorks N0110 rafle donc ainsi la tête du classement, plus performante que la HP Prime G2 qui ne sera donc pour sa part pas restée bien longtemps à cette place, surtout avec le retard d'une année qu'a subi sa disponibilité en France. La NumWorks N0110 serait donc en calcul dans les 1,57 fois plus performante que la NumWorks N0100, et dans les 1,38 fois plus performante que la HP Prime G2. Des différences tellement grandes qu'elles suggèrent non pas seulement une nouvelle carte mère, mais bien l'utilisation d'un tout nouveau cœur.
Voici maintenant un test un peu plus visuel, non plus purement calculatoire mais graphique, avec le script Python suivant retranscrit ligne à ligne dans le langage historique de chaque machine :
- Code: Tout sélectionner
from kandinsky import *
def mb(n,w=320,h=222):
for x in range(w):
for y in range(h):
z=0
d=3.5*x/(w-1)-2.5-2.5j*y/(h-1)+1.25j
k=0
while k<n and abs(z)<2:
k=k+1
z=z*z+d
t=int(255*k/n)
c=color(int(t),int(t*0.75),int(t*0.25))
set_pixel(x,y,c)
import kandinsky
def mandelbrot(W,H,N) :
for x in range(W):
for y in range(H):
z=complex(0,0)
c=complex(2.7*x/(W-1)-2.1,-(1.87*y/(H-1)-.935))
j=0
while j<N and abs(z)<2:
j=j+1
z=z*z+c
t=255*j/N
kandinsky.set_pixel(x,y,kandinsky.color(int(t),int(.75*t),int(.25*t)))
On note là encore que la NumWorks N0110 (en bas à droite) reste la calculatrice la plus performante, battant aussi bien les deux HP Prime que la TI-Nspire CX II, et de loin dans ce dernier cas. Mais on peut noter que dans le contexte de ce test, c'était déjà le cas dans une moindre mesure de la NumWorks N0100.
4) Mémoire de stockage et mémoire de travail Python :
Go to topAfin d'estimer la mémoire de travail Python on peut utiliser le script suivant :
- Code: Tout sélectionner
def sizeenv():
s=0
import __main__
for o in dir(__main__):
try:s+=size(eval(o))
except:pass
return s
def size(o):
s,t=0,type(o)
if t==str:s=49+len(o)
if str(t)=="<class 'function'>":s=136
if t==int:
s=24
while o:
s+=4
o>>=30
if t==list:
s+=64
for so in o:s+=8+size(so)
return s
def mem(v=1,r=1):
try:
l=[]
try:
l+=[r and 793+sizeenv()]
if v*r:print(" ",l[0])
l+=[0]
l+=[""]
l[2]+="x"
while 1:
try:l[2]+=l[2][l[1]:]
except:
if l[1]<len(l[2])-1:l[1]=len(l[2])-1
else:raise(Exception)
except:
if v:print("+",size(l))
try:l[0]+=size(l)
except:pass
try:l[0]+=mem(v,0)
except:pass
return l[0]
except:return 0
Là encore, la mémoire de travail offerte aux scripts Python par la NumWorks N0110 reste sur le même ordre de grandeur que pour la NumWorks N0100, dans les 16 Kio.
Si le nouveau cœur dispose de capacités mémoires accrues, ce qui est sûr c'est qu'à date l'édition N0110 du firmware ne les exploite pas.
5) Mode DFU et dumping :
Go to topPetit changement bienvenu, le mode DFU ne se déclenche plus en faisant redémarrer la calculatrice (reset) avec une connexion USB. C'était en effet très embêtant dans le contexte d'une batterie à plat. En cas de batterie à plat, le démarrage de la charge correspondant à une mise sous tension la calculatrice effectuait un démarrage à froid, et déclenchait donc automatiquement le mode DFU (avec écran qui restait noir) en lieu et place du fonctionnement normal. Il faut maintenant faire redémarrer la calculatrice tout en maintenant la touche
6pour enclencher le mode DFU, ce qui évitera désormais les activations involontaires et déroutantes.
Le mode DFU avait également le défaut de ne donner aucun signe de vie puisque n'allumant pas l'écran. On ne pouvait donc pas savoir si la calculatrice était allumée ou pas sans la connecter en USB. Autre changement appréciable donc, le mode DFU signale désormais son activation via l'allumage de la diode en rouge.
C'est visiblement toujours un STM32 BOOTLOADER associé qui est détecté, on resterait donc a priori sur la même famille de puces ASIC (processeur 32 bits Cortex/ARMv7).
Notre outil en ligne continue à lister 4 interfaces DFU pour la NumWorks N0110, mais avec plusieurs changements dont un d'importance par rapport à la NumWorks N100 :
- Internal Flash : capacité réduite, ne faisant plus 4×16+1×64+7×128=1024 Kio mais comme sa description l'indique seulement 4×16+1×64+3×128=512 Kio désormais
- Option Bytes : capacité augmentée de 16 à 48 octets
- OTP Memory : capacité faisant apparemment toujours 528 octets, mais dont nous n'arrivons pas à récupérer le contenu à la différence des autres
- Device Feature : capacité toujours de 4 octets
La dernière version compilée du firmware NumWorks dépassant les 800 Kio, il est ici strictement impossible qu'elle rentre dans la mémoire Flash interne de la puce ASIC réduite à 512 Kio de capacité.
Cela voudrait-il dire que NumWorks a fait le choix de rajouter enfin une puce Flash externe, comme encouragé dès octobre 2017 par Lionel Debroux avec le challenge NumWorks++ ?
En tous cas cela y ressemblerait très fortement puisque l'image récupérée des 512 Kio de la Flash interne à la puce ASIC ne comporte qu'une minuscule portion de code utile :
- 9212 octets utiles pour la version 11.0.0
- 8720 octets utiles pour la version 11.1.0
Nous n'avons rien noté de spécial dans les images récupérées des autres interfaces, mais pour ceux qui souhaiteraient creuser elles sont téléchargeables en fin de test.
6) Flashing firmwares et compatibilités :
Go to topLes firmwares officiels déjà compilés pour NumWorks N0100 que nous hébergeons font tous plus de 512 Kio et ne rentreront donc pas dans la Flash interne de la puce ASIC de la NumWorks N0110.
Pour ceux qui souhaitent pouvoir installer autre chose que la dernière version du firmware officiel, une ancienne version du firmware officiel (par exemple les versions 1.2.0 à 10.1.0 pour remettre le calcul littéral) ou bien une version modifiée, il faudra donc trouver une autre méthode. Dommage car notre outil en ligne avait vraiment l'avantage de la simplicité.
Toutefois grâce au convertisseur en ligne de ROMs Nintendo NES, il est possible de produire des firmwares NumWorks N0100 plus petits que 512 Kio, notamment quand on fournit une petite ROM et fait le choix de supprimer nombre d'applications intégrées. A la différence, ces firmwares modifiés peuvent donc rentrer dans la Flash interne de 512 Kio de la NumWorks N0110 à laquelle nous avons accès en DFU. Nous avons donc testé et donc non, ces firmwares ne fonctionnent pas sur NumWorks N0110. L'écran reste noir et la calculatrice n'est pas détectée en USB, bref le firmware ne s'amorce même pas correctement, probablement à cause de différences matérielles.
Mais comment fait NumWorks dans ce cas-là, la possibilité de récupérer la calculatrice en DFU étant essentielle pour le cas où le firmware serait endommagé ou absent et ne s'amorcerait donc pas correctement ?
Dans le cas de la NumWorks N0110, le mode de récupération offert par le Workshop NumWorks charge et exécute dans la calculatrice une image minimaliste qui s'occupera donc à son tour de recevoir le firmware complet et de l'écrire dans la Flash externe.
Cette image est visiblement chargée en mémoire RAM, puisqu'elle disparaît en cas de redémarrage de la calculatrice avant toute réception de firmware, aussi n'avons-nous pas pu cette fois-ci te la récupérer.
7) Matériel :
Go to topOn note au passage que le boîtier nous semble bien plus solide, avec des vis de plus gros calibre cachées sous les 6 patins au dos, ainsi que des clips maintenant les 2 faces solidaires.
Effectivement, on confirme bien une nouvelle carte mère plus petite s'arrêtant sous l'écran sur la NumWorks N0110, et dont la lumière de la diode est conduite jusqu'à la tranche supérieure via un guide.
La NumWorks N0110 bénéficie également d'une nouvelle batterie, une PD295572, batterie LiPo (Lithium Polymère). Elle offre à la fois une tension inférieure, 3.7 Volts au lieu de 3.8 Volts, et une capacité inférieure, 1450 mAh au lieu de 1820 mAh.
Nous n'avons pas eu le temps de réaliser pour aujourd'hui des tests d'autonomie, mais sur ce genre de batterie sans marque il n'est pas certain que cette baisse nominale de 20% implique forcément une baisse d'autonomie de 20%, les protocoles de mesure variant fortement d'un constructeur à un autre, et par ailleurs des composants plus récents consomment généralement moins. En tout cas, la page des specs techniques indique la même durée en heure qu'avant
La NumWorks N0110 nous offre également un tout nouvel écran. Plus précisément on passe de TFT-LCD sur NumWorks N0100, à du IPS-LCD sur NumWorks N0110. Cela implique entre autres un bien meilleur angle de vision, avec des couleurs désormais quasiment plus altérées lorsque l'on regarde l'écran de biais !
Penchons-nous pour finir sur la carte.
Comme sur la NumWorks N0100, on note que la broche d'identification USB n'est toujours pas connectée sur la NumWorks N0110, ce que l'on confirme au multimètre. Il ne sera donc toujours pas possible de faire fonctionner des périphériques USB (clavier, souris, clé, capteurs...).
Niveau puces, on note :
- À l'emplacement U1, à la place de la STM32F412 de la NumWorks N0100, la NumWorks N0110 nous offre une STM32F730V8.
C'est-à-dire que l'on reste sur un coeur Cortex/ARMv7, à la différence que nous passons d'un Cortex-M4 cadencé à 100 MHz, à désormais un Cortex-M7 cadencé à 216 MHz !
Par contre pour la Flash interne à cette puce, oubliés les 1 Mio de la NumWorks N0100, ce ne serait pas non plus du 512 Kio comme supposé plus haut, mais apparemment seulement du 64 Kio. Peut-être pour ça que le test de notre firmware allégé n'a pas marché, il était en effet quand même plus gros que ça.
Niveau mémoire de travail maintenant, on reste sur du 256 Kio de SRAM. - Et comme dans 64 Kio de Flash interne il ne rentre pas grand chose, on note à l'emplacement U4 une puce Flash externe, plus précisément une Adesto AT25SF641, comme par hasard l'une des deux puces utilisées pour le le challenge NumWorks++, offrant 8 Mio de capacité.
Globalement, on passe donc de 1 Mio de Flash sur la NumWorks N0100 à 8,0625 Mio sur la NumWorks N0110 !
Conclusion :
Go to topMais ce n'est pas tout. Bouton reset désormais externe qui évitera de casser et laisser des mines de criterium dans sa calculatrice, nouveau couvercle qui évitera de rayer l'écran quand on le retire, plus de déclenchement automatique déroutant du mode DFU (avec écran restant noir) en cas de batterie déchargé... Nous ne pouvons que féliciter à nouveau NumWorks qui semble avoir été à l'écoute de tous les moindres retours de ses utilisateurs !
NumWorks avait déjà été très productif niveau mises à jour sur les années scolaires 2017-2018 et 2018-2019, pas moins de 15 mises à jour publiées soit en moyenne une toutes les 6 semaines (contre au mieux 0 à 2 par an et par modèle chez la concurrence), une grande réactivité et pertinence par rapport aux actuelles évolutions des programmes scolaires dans le cadre de la réforme du lycée et du BAC.
Mais voilà avec plus de 800 Kio pour le dernier firmware NumWorks N0100, la limite de 1024 Kio de Flash commençait à s'approcher dangereusement, et on aurait pu craindre des mises à jour moins fréquentes ou moins intéressantes.
A priori il n'en sera rien, avec désormais 8 Mio de Flash sur la N0110 NumWorks vient de faire sauter la limite, nous avons hâte de voir ce que les prochaines mises à jour vont bien pouvoir donner maintenant qu'il n'y a plus à se préoccuper de la taille du firmware !
Nous avons également hâte de voir ce que la communauté NumWorks va pouvoir faire de ces 8 Mio de Flash. Quid de porter le moteur programmable de calcul formel Xcas/KhiCAS comme déjà fait pour HP Prime, TI-Nspire, Casio Graph 35+E II et Graph 90+E ?
Se pose par contre la question des anciennes NumWorks N0100, qui avec seulement 1 Mio de Flash ne pourront plus un jour ou l'autre bénéficier de toutes les dernières nouveautés. Selon le le challenge NumWorks++, il est possible de leur rajouter la puce Flash externe manquante, mais cela risque de ne pas suffire pour que le Workshop NumWorks leur envoie un firmware compatible et le programme bien dans la Flash externe, puisque c'est donc le workshop ici qui détecte le type de calculatrice et choisit le firmware approprié. Il reste donc des outils à inventer à la communauté NumWorks.
Téléchargements :