


NumWorks
, calculatrice graphique programmable en Python
, de conception française et au code ouvert, fut lancée à la rentrée 2017.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 :
- Casioavec laqui remplace laGraph 35+E IICasio Graph 35+E
- Texas Instrumentsavec laqui remplace laTI-83 Premium CE Edition PythonTI-83 Premium CE
- et les qui remplacent lesTI-Nspire CX IITI-Nspire CX
- Hewlett Packardavec laqui remplace laHP Prime G2HP Prime(G1)
- et même dans un certain sens Lexibook, avec l'Esquisse GCEXFRqui clone laLexibook GC3000FR(soit en réalité latout en changeant quelques petites choses, et dont nous te parlerons prochainementTruly TG206)
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.

NumWorks
de la rentrée 2019, afin notamment de préparer cet article :- 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
Certaines illustrations qui vont suivre pourront ainsi porter la référence non finale
N0200
N0110
.Sommaire :
1) Déballage et tour d'observation :
Go to top

USB A ↔ USB micro-B
de connectivité aux couleurs de NumWorks
ainsi que, nouveauté, un autocollant NumWorks
. 
Et 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.




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 à seulement136g127g
- le couvercle dans le même temps a gagné du poids, passant de à28g37g


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


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.
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 ! 



firmware
à l'écran À propos
de l'application Paramètres
:- le prototype NumWorksnon final est muni de la versionN020011.0.0
- la calculatrice NumWorks N0110finalisée est quant à elle munie de la version11.1.0bien évidemment un peu plus récente
11.2.0
sortie récemment pour les NumWorks N0100
2) Diode examen et recharge batterie :
Go to top
La 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.


NumWorks N0100


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 topLa était récemment passée devant la
Prenons le script
L'appel

La 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 , et dans les . 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
On note là encore que la que la , 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 .
HP Prime G2
NumWorks
pour le titre de calculatrice graphique la plus performante. Est-ce toujours le cas ?Prenons le script
Python
suivant, et adaptons-le dans le langage historique de chaque calculatrice programmable conforme pour les examens français 2020 :- Code: Select all
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, laTI-82 Advanced)
La
NumWorks N0110
rafle donc ainsi la tête du classement, plus performante que la HP Prime G2
NumWorks N0110
serait donc en calcul dans les 1,57
fois plus performante que la NumWorks N0100
1,38
fois plus performante que la HP Prime G2

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: Select all
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
TI-Nspire CX II
NumWorks N0100
4) Mémoire de stockage et mémoire de travail Python :
Go to topUne fois les scripts préchargés effacés, le Workshop .
Afin d'estimer la mémoire de travail
Là encore, la mémoire de travail offerte aux scripts , dans les
Si le nouveau cœur dispose de capacités mémoires accrues, ce qui est sûr c'est qu'à date l'édition
NumWorks
reporte un espace de stockage de 16382
octets sur la NumWorks N0110
, comme sur la NumWorks N0100
Afin d'estimer la mémoire de travail
Python
on peut utiliser le script suivant :- Code: Select all
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

Python
par la NumWorks N0110
reste sur le même ordre de grandeur que pour la NumWorks N0100
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 top

NumWorks N0110
dans le contexte du boot
. Mettons donc la calculatrice en mode DFU
afin d'accéder à son firmware
à l'aide de notre outil en ligne.Petit 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
)

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=mais comme sa description l'indique seulement 4×16+1×64+3×128=1024 Kio512 Kiodésormais
- Option Bytes: capacité augmentée deà1648octets
- OTP Memory: capacité faisant apparemment toujours528octets, mais dont nous n'arrivons pas à récupérer le contenu à la différence des autres
- Device Feature: capacité toujours de4 octets


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 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 :- 9212octets utiles pour la version11.0.0
- 8720octets utiles pour la version11.1.0
firmware
n'est plus dans la Flash
interne de la puce ASIC
sur NumWorks N0110
, donc oui on va considérer qu'il y a forcément une Flash
externe.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 top
DFU
ne permet apparemment plus d'accéder directement au firmware
sur la NumWorks N0110
, ni en lecture ni en écriture. Les
firmwares
officiels déjà compilés pour NumWorks N0100
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
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é.1.2.0
à 10.1.0
pour remettre le calcul littéral)Toutefois grâce au convertisseur en ligne de
ROMs Nintendo NES
NumWorks N0100
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.
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 top
On 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
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
NumWorks N0100
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 ! 


Comme sur la
NumWorks N0100
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 lade laSTM32F412, laNumWorks N0100NumWorks N0110nous offre une .
C'est-à-dire que l'on reste sur un coeurCortex/ARMv7, à la différence que nous passons d'uncadencé àCortex-M4, à désormais un100 MHzCortex-M7cadencé à216 MHz!
Par contre pour laFlashinterne à cette puce, oubliés lesde la1 Mio, ce ne serait pas non plus duNumWorks N0100comme supposé plus haut, mais apparemment seulement du512 Kio64 Kio. Peut-être pour ça que le test de notrefirmwareallé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 du256 KiodeSRAM. - Et comme dans 64 KiodeFlashinterne il ne rentre pas grand chose, on note à l'emplacementU4une puceFlashexterne, plus précisément uneAdesto AT25SF641, comme par hasard l'une des deux puces utilisées pour le le challengeNumWorks++, offrant8 Miode capacité.
Globalement, on passe donc dede1 MioFlashsur laàNumWorks N01008,0625 Miosur laNumWorks N0110!
Conclusion :
Go to topAprès avoir chamboulé le marché avec la calculatrice graphique qui , 
Mais ce n'est pas tout. Bouton
Mais voilà avec plus de, la limite de de
A priori il n'en sera rien, avec désormais
Nous avons également hâte de voir ce que la communauté, , et 
Se pose par contre la question des anciennes, qui avec seulement de 
"fait aimer les Maths"
pour la rentrée 2017, et après avoir été brièvement dépassé en performances par la HP Prime G2
NumWorks
t'offre à nouveau pour la rentrée 2019 la calculatrice graphique la plus performante du marché ! 
Mais 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
1024 Kio
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
Graph 90+E
? 
Se pose par contre la question des anciennes
NumWorks N0100
1 Mio
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
: