π
<-
Chat plein-écran
[^]

News 2019
August (1)
July (3)
June (3)
May (5)
April (1)
March (2)

News 2018
August (4)
July (1)
June (5)
May (9)
April (13)
March (5)

News 2017
August (4)

Dumpe et reflashe facilement ta NumWorks N0110 depuis Chrome

New postby critor » 27 Sep 2019, 21:05

8668L'ancienne
NumWorks N0100
dispose de
1 Mio
de mémoire
Flash
directement intégrés à la puce
ASIC STM32F412
.

Grâce à notre outil en ligne
webdfu_numworks
, avec l'ancienne
NumWorks N0100
il était très facile de faire une copie de sauvegarde du
firmware
contenu dans les
1 Mio
de mémoire
Flash
de la calculatrice, mais également de reprogrammer cette dernière avec le contenu de ton choix comme par exemple un
firmware
tiers ! :bj:

La nouvelle
NumWorks N0110
utilise une architecture très différente avec :
  • seulement
    64 Kio
    de mémoire
    Flash
    directement intégrés à la nouvelle puce
    ASIC STM32F730
    , dite mémoire
    Flash
    interne
  • 8 Mio
    sur une puce distincte
    Flash Adesto AT25SF641
    , dite mémoire
    Flash
    externe

Hélas, notre outil en ligne
webdfu_numworks
n'était pas compatible avec la
NumWorks N0110
. :'(

Mais voilà qui, dans le contexte de son outil en ligne d'installation de l'émulateur
Nintendo NES
pour ta
NumWorks N0110
, en a profité pour apporter les modifications nécessaires au code de
webdfu_numworks
! :bj:

Tu n'auras pas eu à attendre bien longtemps, pour bénficier avec ta
NumWorks N0110
des mêmes libertés que sur la
NumWorks N0100
. ;)

Tu as désormais toute liberté de faire une copie de sauvegarde du
firmware
installé, ainsi que d'installer un
firmware
tiers comme Delta. :D

Dans le cas de la
NumWorks N0110
tu disposes désormais sur l'outil en question de deux boutons pour sauvegarder
(dumper)
/ reprogrammer
flasher
au choix la mémoire interne ou externe.

Que ce soit pour
dumper
ou
reflasher
, précisons que dans les deux cas il faudra traiter les deux mémoires, les
firmware
NumWorks N0110
les utilisant toutes les deux. Tu devras donc fournir ou récupérer deux fichiers.
Précisons également que dans le cas d'une reprogrammation, la mémoire externe doit être traitée avant la mémoire interne, car la calculatrice redémarrera automatiquement en fin de reprogrammation de cette dernière.

Gros avantage, contrairement à la
NumWorks N0100
avec la
NumWorks N0110
tu n'as plus besoin de redémarrer la calculatrice en mode DFU pour l'utiliser avec
webdfu_numworks
! :bj:
D'ailleurs il ne faut surtout pas le faire, car dans dans le contexte du redémarrage en mode DFU la Flash externe ne sera pas accessible. :#non#:

A noter que malheureusement,
webdfu_numworks
ne gère pas encore le format de fichier unifié
.dfu
des
firmwares
NumWorks N0110
.
Si tu récupères un
firmware
utilisant ce format il faudra commencer par en extraire les images pour les
Flash
interne et externe, en utilisant par exemple
Dfu File Manager
.

Lien
:
(nécessite un navigateur
Google Chrome
ou
Chromium
)


Téléchargement
:
Dfu File Manager
(pour
Windows
)


Source
:
viewtopic.php?f=97&t=21765&start=10#p245675 et posts suivants

Emulateur Nintendo NES déjà pour NumWorks N0110 !

New postby critor » 25 Sep 2019, 11:55

9829L'année dernière pour ta calculatrice
NumWorks
, avait sorti un émulateur de la console de jeux de salon
Nintendo NES
.

L'ajoute de l'application
NES
nécessitait une reprogrammation du
firmware
de la calculatrice, mais heureusement
zardam
avait sorti par la suite un outil en ligne automatisé où tu avais juste à fournir le fichier ROM du jeu auquel tu souhaitais jouer.

Mais voilà, ces outils n'étaient pas compatibles avec la nouvelle
NumWorks N0110
sortie pour cette rentrée 2019.

De plus, l'ancienne
NumWorks N0100
n'avait que
1 Mio
de mémoire Flash, déjà occupée à près de 80% par le système
NumWorks
, et selon la taille du fichier ROM que tu choisissais d'émuler tu pouvais donc être amené(e) à devoir supprimer une ou plusieurs des applications officielles.

11616Et bien sur l'incitation de ses fans dont ,
zardam
vient tout juste de mettre à jour son émulateur
NES
pour la
NumWorks N0110
, et de sortir un nouvel outil en ligne dédié à l'installation sur cette machine; tu n'auras vraiment pas attendu bien longtemps ! :bj:

Mais avec en prime une Flash de
8 Mio
dans la
NumWorks N0110
, plus aucun besoin de renoncer à des applications
NumWorks
officielles, et donc plus aucune raison de ne pas découvrir ou redécouvrir les meilleurs jeux de la console ! :bj:


Liens
:


Source
:
viewtopic.php?f=97&t=21765#p245578 et posts suivants

Firmware Delta N0110: calcul formel GIAC même en mode exam !

New postby critor » 18 Sep 2019, 10:48

Le calcul littéral et formel est un formidable outil de découverte et réelle compréhension des Mathématiques, permettant de porter un tout autre regard sur les problèmes du lycée.

Pour les lycéens passionnés de Mathématiques ou plus précisément d'algèbre, ainsi que pour les poursuites d'études supérieures avec une part significative de Mathématiques, la
HP Prime
est un excellent choix. Elle intègre un portage par du moteur de calcul formel
GIAC
de son logiciel de Mathématiques intégré
Xcas
.
Comme il s'agit d'un portage officiel, il est reconnu par le mode examen qui une fois activé peut laisser les fonctionnalités associées accessibles lorsqu'elles sont autorisées, notamment pour la France.
Le seul bémol à cette excellente solution est hélas son prix à 3 chiffres, qui en France fera fuir une large majorité des familles.

Mais
Bernard
a depuis quelques années entamé un formidable travail autour de la démocratisation et l'accessibilité du calcul littéral et formel, avec ses applications
KhiCAS
gratuites pour calculatrices de milieu de gamme.

L'application
KhiCAS
intègre un portage du moteur de calcul formel
GIAC
du logiciel
Xcas
, agrémenté de fonctionnalités annexes diverses selon les modèles ciblés.

Il en existait désormais 3 déclinaisons pour cette rentrée 2019 :
  • KhiCAS
    pour
    TI-Nspire
    :
    Ce programme étend donc les capacités formelles des
    TI-Nspire CAS
    au niveau de la
    HP Prime
    , ou rajoute ces mêmes capacités formelles aux
    TI-Nspire
    numériques
    (non
    CAS
    )
    . Il bénéficie d'une interface d'entrée-sortie qui fonctionne d'origine en écriture naturelle.
    Un exemple de capacité additionnelle bénéficiant à la fois aux
    TI-Nspire CAS
    et
    TI-Nspire
    numériques, c'est la possibilité d'obtenir un tableau d'étude de fonction !
    Nécessitant
    Ndless
    , il ne peut donc être installé que sur les seules
    TI-Nspire CX
    en version inférieure à
    4.5.1
    , et est à ce jour exclu des
    TI-Nspire CX II
    .
    En tant que portage non officiel, il sera systématiquement bloqué en mode examen. :#non#:
  • KhiCAS
    pour
    Casio Graph 90+E
    :
    On retrouve ici le moteur de calcul formel
    GIAC
    , avec une interface fonctionnant en écriture ligne et ne gérant l'écriture naturelle que sur demande
    (éditeur d'expression)
    .
    Toutefois l'application bénéficie ici de plusieurs compléments fort bienvenus.
    D'une part pour une prise en main bien plus autonome, une sélection de commandes
    GIAC
    est disponible via les menus de bas d'écran.
    D'autre part, il est ici possible de créer et exécuter des programmes et la syntaxe
    Python
    est gérée avec tout ce qu'il faut, éditeur et coloration syntaxique !
    Et en prime, le langage de programmation inclut des commandes de tracé à la
    Scratch/Logo
    !
    Là encore, en tant que portage non officiel, il sera inutilisable en mode examen. :#non#:
  • KhiCAS
    pour
    Casio Graph 35+E II
    :
    La non disponibilité de cette application pour les modèles précédents
    Casio Graph 35+E
    et
    Graph 75+E
    , s'explique par le fait que la version
    KhiCAS
    optimisée pour calculatrices
    Casio Graph
    prend à ce jour près de 2 Mio, or ces anciens modèles ne disposaient que de 1,5 Mio de capacité de mémoire de stockage. Avec désormais 3 Mio de mémoire de stockage sur
    Graph 35+E II
    , c'est bon maintenant.
    On retrouve exactement les mêmes fonctionnalités que dans la déclinaison
    Graph 90+E
    .
    Cela n'empêche pas l'application d'avoir été conçue sur mesures, avec des fonctionnalités pertinemment adaptées à l'écran monochrome de la
    Graph 35+E II
    . Par exemple, la coloration syntaxique des programmes et ici remplacé par de l'enrichissement syntaxique !
    Là encore, en tant que portage non officiel, il sera inaccessible en mode examen. :#non#:

11557Pour cette rentrée 2019, la
NumWorks
bénéficie d'une nouvelle révision matérielle avec une puce
Flash
de capacité accrue, on passe de 1 Mio à 8 Mio, désormais bien plus qu'il n'en faut.

Il n'en fallait pas davantage pour que
Bernard
se remette à faire des miracles, et avec l'aide de et voici venir
Delta
! :bj:

Il ne s'agit pas d'une application rajoutable cette fois-ci puisque contrairement à la concurrence la calculatrice
NumWorks
ne permet pas de rajouter des applications à chaud, mais d'un
firmware
complet conçu spécifiquement pour ta
NumWorks N0110
.
Plus précisément, il s'agit d'une reprise du
firmware
officiel, avec remplacement du moteur de calcul par
GIAC
.

Ce qui signifie non seulement le retour sur ta
NumWorks
du calcul littéral supprimé depuis la version 11, mais aussi plus que ça l'arrivée du calcul formel !

L'intégration du moteur
GIAC
s'est visiblement faite dans un grand respect de l'esprit du système
NumWorks
, puisque le moteur se fait totalement oublier tant qu'on n'y pense pas. Il ne perturbe pas le fonctionnement normal de l'application
Calculs
, où l'on continue à bénéficier de l'affichage mixte des résultats
(exact + décimal)
ainsi que de l'affichage naturel pour la saisie et les résultats.

Ici encore, un grand soin à été apporté pour une prise en main autonome, avec tout un travail sur la boîte à outils qui liste et documente les fonctions.

1155011556On y retrouve par exemple un nouveau menu
Algebre
, avec ce qu'il te faudra pour changer la forme de tes résultats
(factorisation réelle ou complexe, décomposition en éléments simples, simplification...)
.

Mais ce n'est pas tout, car d'autres menus comme celui
Matrice
se voient rajouter nombre d'éléments, ici entre autre pour l'algèbre linéaire en BAC+1/2 selon les cursus
(noyau, valeurs et vecteurs propres, réduction...)
.
1155211551


11554Méticuleusement,
Bernard
va même jusqu'à corriger la documentation des fonctions qui ont désormais un comportement différent, comme diff(...) pour la dérivation dans le menu calculs.

Et le gros avantage du
firmware
Delta
par rapport aux applications
KhiCAS
rajoutées sur
TI-Nspire
ou
Casio Graph
, c'est que ses fonctionnalités de calcul formel cette fois-ci intégrées restent disponibles en mode examen ! :bj:

Malheureusement, les licences protégeant le code
NumWorks
et le code
Delta
issu de
GIAC/KhiCAS/Xcas
, sont incompatibles.
Il n'est donc pas possible de distribuer le fichier firmware
Delta
.

La contribution a été soumise à
NumWorks
donc espérons qu'elle pourra être intégrée après correction des licences dans un sens ou dans l'autre.
Mais dans le contexte encore fort récent
(Juillet dernier)
de la suppression de tout calcul littéral pour s'ouvrir les portes des marchés de nos voisins européens dont les examens interdisent ces fonctionnalités
(Royaume-Uni, Pays-Bas, Portugal, Italie...)
, nous doutons qu'une évolution rapide soit possible.

En attendant le code source est public et, pour une installation moins complexe en attendant mieux, a été rendu disponible via un conteneur
Docker
.
Une dois
Docker
installé, l'unique commande ci-dessous suffira pour construire et flasher le firmware
Delta
.


Lien Docker
:
https://hub.docker.com/r/zardam/epsilon-builder
Commande Docker
:
docker run -it --rm --privileged zardam/epsilon-builder https://github.com/zardam/epsilon.git n110-giac

Sources et compléments
:
viewtopic.php?f=97&t=22870&start=50#p244721 , viewtopic.php?f=97&t=22870&start=70#p244750 et posts suivants à chaque fois

Firmware 11.1.0 tiers: Python avec 32K/40K mémoire travail !

New postby critor » 08 Sep 2019, 13:48


La
NumWorks
offre à ce jour l'implémentation
Python
la plus riche sur calculatrice, avec
188
éléments
builtins
et pas moins de 6 modules complémentaires dont le module graphique
kandinsky
et le module de tracé
turtle
. :bj:

C'est a priori une aubaine pour le nouvel enseignement numérique
NSI
de Première au lycée à compter de cette rentrée 2019. :)

Sauf que la
NumWorks
se traîne également un véritable boulet niveau mémoire. Elle dispose de :
  • 16 Kio
    de mémoire de stockage pour les scripts
    Python
  • 16 Kio
    de mémoire de travail pour l'exécution des scripts
    Python
    , comme le report notre script de test

Or les
16 Kio
de mémoire de travail constituent la plus faible valeur toute concurrence confondue ! :mj:

Etant ainsi très à l'étroit, faire fonctionner des scripts
Python
un minimum conséquents, comme par exemple avec une interface texte ou graphique, relève d'un véritable défi d'optimisation à l'aveugle comme nous avions déjà pu nous en rendre compte avec les scripts de notre concours de rentrée 2018. :'(

A noter que ces
16 Kio
sont une limite logicielle. Matériellement la
NumWorks
offre bien davantage avec
256 Kio
de mémoire
SRAM
.

La limite dépendra bien évidemment du contenu de chaque script et des habitudes de codage de chacun, mais le plus gros script que nous avons pu exécuter jusqu'à présent et fort péniblement sur
NumWorks
faisait près de 3,75 Ko soit, 23,5% de la capacité de travail totale.

En effet, lorsque l'interpréteur
Python
importe un script pour exécution :
  • tout le texte du script est chargé dans la mémoire de travail
  • tous les objets y étant définis
    (fonctions, variables, ...)
    sont alors créés en mémoire de travail en tant qu'objets
    Python
    utilisables, si bien qu'ils y seront alors présents en double exemplaire
    (une version texte, et une version Python)

Or, nous ne sommes pas en
C
mais en
Python
. Les objets
Python
ça prend beaucoup de place, beaucoup plus que ce que tu as saisi dans le script :
  • 24 octets juste pour un entier court
  • 49 octets rien que pour une chaîne de caractères vide
  • 64 octets pour une simple liste vide
  • 136 octets pour une fonction vide sans paramètres
  • ... :#roll#:

1150311504Ce problème vient d'être signalé chez nous une énième fois hier, cette fois-ci par dans le cadre d'un script sur les polynômes du second degré muni d'une interface texte pour ses élèves de Première. Un script dépassant les 6 Ko et n'ayant donc strictement aucune chance de marcher en l'état sur
NumWorks
.

Suite à cela, a décidé de s'attaquer au problème.

Il vient donc tout juste de compiler un
firmware
NumWorks 11.1.0
amélioré, avec une application
Python
qui s'alloue
32 Kio
de mémoire de travail, de quoi enfin pouvoir un peu respirer ! :bj:
Et en prime, c'est mieux que les
20 Kio
des
TI-83 Premium CE
! ;)

De quoi désormais pouvoir espérer exécuter des scripts
Python
faisant jusqu'à 7 Ko. :)

Une autre version, plus expérimentale toutefois car s'arrangeant avec d'autres choses, t'offrira même
40 Kio
de mémoire de travail pour l'exécution de tes scripts
Python
! :#tritop#:


En suivant les liens ci-après, tu peux dès maintenant installer facilement ce
firmware
si tu disposes de l'ancien modèle
NumWorks N0100
.

Pour la nouvelle
NumWorks N0110
, nous ne disposons pas encore d'outil grand public permettant d'installer un
firmware
non officiel.


Toutefois, l'amélioration a été soumise à l'équipe
NumWorks
. Espérons qu'elle sera acceptée et donc disponible dès la prochaine mise à jour pour
NumWorks N0110
également. ;)

Téléchargements
:

Lien
:
outil en ligne d'installation de firmware
NumWorks N0100
(nécessite le navigateur
Google Chrome
)

La NumWorks réinventée avec la N0110 - rentrée 2019

New postby critor » 06 Aug 2019, 17:54

La
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 :
  • 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.

En réalité moi-même puis avons reçu successivement un échantillon chacun (merci !), de références différentes pour la nouvelle révision matérielle
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
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 top

Commençons donc par ouvrir la boîte. Elle comprend donc la calculatrice, le guide de sécurité, le câble
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. ;)

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
! :bj:

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 ! :bj:

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
Dans les deux cas, les fonctionnalités correspondent à la version
11.2.0
sortie récemment pour les
NumWorks N0100
, comme on le remarque aisément à l'absence de possibilités de calcul littéral.




2) Diode examen et recharge batterie :

Go to top

Autre témoin de changements matériels, la diode examen joue maintenant également le rôle de témoin de charge lorsque la calculatrice est branchée sur une alimentation USB.

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.

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 top

La
HP Prime G2
était récemment passée devant la
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
: :bj:
  1. 0,498s
    :
    NumWorks N0110
    (?)
  2. 0,688s
    :
    HP Prime G2
    (32 bits : Cortex/ARMv7 @
    528MHz
    )
  3. 0,785s
    :
    NumWorks N0100
    (32 bits : Cortex/ARMv7 @
    100MHz
    )
  4. 2,414s
    :
    HP Prime G1
    (32 bits : ARM9/ARMv5 @
    400MHz
    )
  5. 8,93s
    :
    TI-Nspire CX II
    (32 bits : ARM9/ARMv5 @
    396MHz
    )
  6. 12,24s
    :
    TI-Nspire
    (32 bits : ARM9/ARMv5 @
    120MHz
    )
  7. 18,67s
    :
    TI-Nspire CX CR4+
    (révisions W+)
    (32 bits : ARM9/ARMv5 @
    156MHz
    )
  8. 20,92s
    :
    TI-Nspire CX
    (révisions A-V)
    (32 bits : ARM9/ARMv5 @
    132MHz
    )
  9. 50,77s
    :
    Casio Graph 90+E
    (32 bits : SH4 @
    117,96MHz
    )
  10. 81,03s
    :
    Casio Graph 35+E II
    (32 bits : SH4 @
    58,98MHz
    )
  11. 101,1s
    :
    Casio Graph 35/75+E
    (32 bits : SH4 @
    29,49MHz
    )
  12. 117,29s
    :
    Casio Graph 25+E
    (32 bits : SH4 @
    29,49MHz
    )
  13. 120,51s
    :
    TI-83 Premium CE Edition Python
    (8 bits : eZ80 @
    48MHz
    )
  14. 196,79s
    :
    TI-83 Premium CE
    /
    TI-84 Plus CE-T
    (8 bits : eZ80 @
    48MHz
    )
  15. 260,41s
    :
    TI-82 Advanced
    /
    TI-84 Plus T
    (8 bits : z80 @
    15MHz
    )
  16. 607,91s
    :
    Casio fx-CP400+E
    (32 bits : SH4 @
    117,96MHz
    )
  17. 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)
  18. 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: 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
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 top

Une fois les scripts préchargés effacés, le Workshop
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

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 top

On peut maintenant tenter la connectivité de la
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
6
pour enclencher le mode
DFU
, ce qui évitera désormais les activations involontaires et déroutantes. :bj:

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é. :o

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 :
  • 9212
    octets utiles pour la version
    11.0.0
  • 8720
    octets utiles pour la version
    11.1.0
De façon évidente le
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

Conséquence du point précédent, le mode
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
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 top

Et bien puisque tous les éléments observés dans les points précédents nous renvoient au matériel, il est grand temps de s'y plonger et de répondre ainsi aux ultimes interrogations.

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
, 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 ! :bj:

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




Conclusion :

Go to top

Après avoir chamboulé le marché avec la calculatrice graphique qui
"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é ! :bj:

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 ! :bj:

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
:

Challenge NumWorks++: résumé / wrap up...

New postby Lionel Debroux » 31 Jul 2019, 23:02



En octobre 2017, j'avais lancé le Challenge NumWorks++, visant à réaliser une modification matérielle relativement simple de la calculatrice NumWorks (modèle "N0100"), en l'occurrence l'ajout d'un chip de Flash externe sur l'emplacement de la carte mère prévu par NumWorks pour cet usage, et la réalisation de logiciel tirant parti de ce nouveau chip. Adriweb avait d'ailleurs écrit la news avec moi.
In October 2017, I had launched the NumWorks++ Challenge, aiming at making a relatively simple hardware mod of the NumWorks calculator ("N0100" model), i.e. the addition of an external Flash chip on the pins suitably provided by NumWorks for this usage, and the making of software leveraging this new chip. Adriweb wrote the news item with me.

Plusieurs personnes se sont lancées publiquement dans le challenge, aux 4 coins du monde. En France, plus particulièrement, Jean-Baptiste Boric et Damien "zardam" Nicolet. Ces personnes ont donc reçu par courrier un exemplaire des chips de Flash NOR QSPI
Adesto AT25SF641
de 8 MB (le modèle suggéré par les schémas officiels de NumWorks) et
Winbond W25Q128JV
de 16 MB, à pinout compatible, que nous avions achetés pour ce challenge, et se sont mises au travail…
Several persons, over the world, took on the challenge. In France, there were especially Jean-Baptiste Boric and Damien "zardam" Nicolet. Therefore, these persons were mailed two QSPI Nor Flash chips, and started working with them: 1 x
Adesto AT25SF641
of 8 MB (the model suggested by NumWorks' official schematics) and 1 x
Winbond W25Q128JV
of 16 MB, whose pinout is compatible. We had bought the chips for this challenge…

Trois (!) semaines plus tard, zardam disposait d'un firmware permettant de flasher le chip externe, comme il l'annonçait par ici. Seulement quelques semaines supplémentaires plus tard, toujours le même zardam avait produit une version patchée du firmware NumWorks de l'époque, comportant un build du puissant moteur CAS "giac" de Bernard Parisse (bien connu ici parce qu'il est à la base de Xcas, le logiciel des HP Prime G1 et G2 depuis le début, KhiCAS sur TI-Nspire et Casio, etc.), qui s'exécute depuis la Flash externe ajoutée sur la calculatrice. Une partie du firmware, en gros le code de NumWorks avec quelques modifications de zardam, s'exécute toujours depuis la Flash interne, grâce au script linker adéquat.
Three weeks later (!), zardam had a firmware able to flash the external chip, as he announced here. By only several weeks later, the same zardam had produced a patched version of the contemporary NumWorks firmware, featuring a build of the powerful "giac" CAS engine by Bernard Parisse (well known here because it's the foundation of Xcas, the HP Prime G1 and G2 firmware from the beginning, KhiCAS on the TI-Nspire and Casio calculators, etc.), running from the external Flash chip added to the calculator. Part of the firmware, basically NumWorks' code with several modifications by zardam, keeps running from the internal Flash memory, thanks to the appropriate linker script.

Voici la vidéo réalisée par zardam, présentant une version antérieure de son code, qui n'activait pas encore le mode QSPI qui a quadruplé la vitesse de lecture de la Flash (donc c'est nettement plus rapide maintenant):

Bref, des
fonctionnalités plus proches de celles d'une calculatrice haut de gamme dans le corps d'une calculatrice de milieu de gamme
, grâce à l'ajout d'un circuit coûtant moins d'1€ à l'unité (pour le chip de 8 MB) dans ce modèle conçu par le fabricant pour monter en gamme. le processus de soudage d'un circuit au pas de 1.27mm étant habituellement considéré comme faisable, même sans grande expérience, tant qu'on dispose d'un fer à souder avec une pointe dans un état correct. La performance est plutôt bonne pour le milieu de gamme, grâce au Cortex-M4 32 bits à 100 MHz utilisé par NumWorks - d'autant que contrairement à l'eZ80 à ~48 MHz des TI-84 Plus CE / TI-83 Premium CE (micro-architecture beaucoup moins efficace par cycle d'horloge et réalisant des opérations moins avancées que les ARM), le Cortex-M4 des calculatrices NumWorks n'est pas ralenti par des waitstates, car la RAM, les bus mémoires et les mémoires Flash peuvent fonctionner à 100 MHz.
Here's the video made by zardam, showcasing an older version of his code, which didn't enable the QSPI mode which quadrupled the Flash memory bandwidth (so it's much faster now):

Well, to sum up, this is
a feature set closer to that of a higher-end calculator, in the body of a mid-range calculator
, thanks to the addition of a < 1 USD/EUR chip (for the 8 MB one) into that model designed by the manufacturer for upgradability. The process for soldering a 1.27mm (50 mil) pitch chip is usually considered doable, even with limited experience, as long as the soldering iron's tip is in a decent state. The performance is rather good for a mid-range calculator, thanks to the 32-bit Cortex-M4 running at 100 MHz used by NumWorks - all the more unlike the ~48 MHz eZ80 powering the TI-84 Plus CE / TI-83 Premium CE (much less efficient micro-architecture per clock cycle, which performs less advanced operations), the NumWorks calculators' Cortex-M4 processor speed isn't hampered by waitstates, as the RAM, the memory bus and the Flash memories can run at 100 MHz.

zardam a donc clairement gagné le challenge, dès novembre 2017
:bj:
Un an plus tard, il a posté un résumé de certains éléments techniques et procédures dans un article sur son blog: modifications matérielles et logicielles réalisées, et la façon de les compiler et installer.
Je dois donc lui présenter mes excuses pour avoir pris
beaucoup
trop de temps, malgré un certain nombre de relances par d'autres membres de l'équipe, pour écrire, en partie à l'occasion de congés d'été, cet article promis dans la news annonçant le défi
(sans indication de durée il est vrai, mais ce n'est pas une raison valable :P)
. A vrai dire, je ne pensais pas que quelqu'un s'en emparerait et produirait aussi rapidement un tel résultat... j'avais tort :)
All in all, zardam clearly won the challenge, as early as November 2017
:bj:
A year later, he posted a summary of several technical notes and procedures in an article on his blog: hardware and software changes, and the way to build and install them.
Therefore, I need to apologize to him for taking
way
too much time, despite multiple pings by other staff members, to write, partially during summer holidays, the article promised in the news item announcing the challenge
(without giving a timeline, granted, but that's not a valid reason :P)
. To tell the truth, I didn't expect that anyone would raise up to the challenge and would produce such a result so quickly... I was wrong :)

Résumons et commentons certaines parties de son travail:
  • le premier programme permettant de flasher le chip externe de Flash se base sur deux éléments principaux de logiciel open source: libopencm3, une librairie pour gérer divers microcontrôleurs à base de coeurs ARM Cortex-M et leurs périphériques sans avoir à tout réinventer soi-même à partir de la datasheet et des éventuels exemples fournis par le fabricant, et Flashrom, auquel il faut fournir les paramètres et commandes du chip de Flash s'ils ne font pas encore partie de la banque de données standard du programme, mais qui s'occupe de tout (effacement de blocs, écriture, etc.) à partir de ces paramètres. zardam a eu bien raison d'utiliser ces briques de construction logicielle, d'autant qu'à l'époque, le firmware officiel NumWorks ne fournissait pas encore de capacité de communication USB: elle est arrivée 5 mois plus tard, dans la version 1.4 d'avril 2018.
  • zardam a implémenté un bootloader offrant le multi-boot dans un mini-firmware, pour permettre le basculement d'un firmware à un autre (y compris de quoi flasher une partie de la Flash interne du microcontrôleur à partir de la Flash externe) sans devoir passer par un ordinateur. Bonne idée, cela peut être utile dans certaines configurations de test qu'il devait rencontrer.
  • il semble que l'activation du mode QSPI de la Flash externe (pour plus de vitesse) avec le programme qu'il a fait ne doive être réalisée qu'une fois. C'est important, il pense que c'est en le faisant plusieurs fois qu'il a grillé le microcontrôleur principal STM32 de sa calculatrice, il a dû le remplacer. Cette opération de remplacement du chip principal est nettement plus difficile que le soudage du chip de Flash externe, car le pas des pattes est plus fin et les pattes sont beaucoup plus nombreuses.
    NdT
    : Il paraît que l'utilisation de flux de soudage aide.
Let's summarize, and comment on, several parts of his work:
  • the initial program for flashing the external chip ls based on two main pieces of open source software: libopencm3, a library for handling a variety of microcontrollers based on ARM Cortex-M cores and their devices without having to reinvent the wheel from scratch from the datasheet and code examples provided by the manufacturer (if any), and Flashrom, which needs to be given the Flash chip's parameters and commands if they're not part of the standard database of the program yet, but which takes care of everything (block erases, block writes, etc.) from these parameters. zardam totally did the right thing using these software building blocks, all the more at the time, NumWorks' official firmware didn't provide a USB communication ability yet: it came up 5 months later, in the 1.4 version released in April 2018.
  • zardam implemented a multi-boot-capable bootloader in a mini-firmware, so that the calculator can be switched from a firmware to another (including something to reflash the internal Flash chip from the external Flash chip) without having to be connected to a computer. It's a good idea, it can be useful in some testing configurations which were probably relevant to him.
  • it seems that the QSPI mode of the external Flash chip (for higher speed) with the additional program he made needs to be done only once. This is important, he thinks that doing it multiple times is the reason why fried his calculator's main STM32 microcontroller. He had to replace it, and the process for replacing the main chip is much harder than soldering the external Flash chip, as the pitch is finer and there are many more pins.
    Translator's note
    : it appears that using soldering flux can help.

Si vous voulez utiliser votre calculatrice NumWorks comme cobaye pour répliquer le travail de zardam, et ainsi la faire monter en gamme pour un très faible coût et un risque limité, basez-vous sur son billet de blog, qui détaille, comme déjà indiqué, les différentes étapes de la construction des images et du flashage :)
Peut-être que quelqu'un sera intéressé par la mise à jour de l'intégration firmware NumWorks <-> giac vers la version actuelle du firmware NumWorks ? ;)

Une nouvelle fois, bravo à zardam pour son travail
:)

Liens externes utiles
:
If you want to use your NumWorks calculator as a testbed for replicating zardam's work, thereby upgrading it at a very low cost and a limited hardware risk, use his blog's article, which lists, as already mentioned, the steps for building images and flashing the calculator :)
Maybe someone will be interested by upgrading the NumWorks firmware <-> giac integration to the current version of the NumWorks firmware ? ;)

Once again, congratulations to zardam for his work
:)

Useful external links
:
Link to topic: Challenge NumWorks++: résumé / wrap up... (Comments: 3)

Super-firmware 11.0.0 tiers: calcul littéral & autres ajouts

New postby critor » 13 Jul 2019, 23:59

11247Dans sa dernière version
11.2.0
,
NumWorks
a supprimé les fonctionnalités de calcul littéral de sa calculatrice.

Un choix probablement contraint par le fait que le constructeur ne commercialise actuellement qu'un seul modèle, et que nos voisins européens
(Italie, Pays-Bas, Portugal, Royaume-Uni)
interdisent les modèles disposant d'un moteur de calcul littéral aux examens de l'enseignement secondaire.

Tu pouvais certes remettre le calcul littéral sur ta
NumWorks
en réinstallant la dernière version précédente
10.1.0
via notre outil en ligne.

Mais voilà cela n'était pas une solution pérenne; cela te faisait renoncer à toutes les nouveautés de la version
11.2.0
, ainsi qu'à toutes les nouveautés futures. Un choix bien difficile... :'(

1139011391Mais aujourd'hui, comme il l'a déjà fait à plusieurs reprises, jean-baptiste boric revient à la charge avec la compilation d'un firmware amélioré. Déjà, le firmware
11.0.0
tiers qu'il vient de te partager te réactive les fonctionnalités de calcul littéral tout en incluant toutes les dernières améliorations nouveautés de la version
11.2.0
officielle ! :bj:

L'usage de ce firmware spécial aux examens interdisant les fonctionnalités de calcul littéral/symbolique/formel est bien évidemment strictement interdit, et ce même si la calculatrice
NumWorks
fait partie des modèles autorisés/validés. :#non#:

Il suffira tout simplement aux surveillants des pays interdisant le calcul littéral de taper x+x pour vérifier que la calculatrice utilise bien un firmware dépourvu de capacités de calcul littéral.

Pour nos voisins ayant adopté le mode examen
(Pays-Bas et Portugal)
, Jean-Baptiste a même inclus de quoi permettre une vérification collective sans effort à distance : avec son firmware la diode ne clignotera plus en rouge mais en bleu.

Mais ce n'est pas tout, Jean-Baptiste a également inclus dans son firmware plusieurs fonctionnalités qu'il a développées, mais qui n'ont à date pas été acceptées dans la branche officielle :

Mais ce n'est pas fini, Jean-Baptiste t'a également inclus dans sa compilation une sélection de nouveautés développées par d'autres utilisateurs, et là encore non acceptées à ce jour dans la branche officielle :


Téléchargement
:
firmware tiers
11.0.0
amélioré
(installable via notre outil en ligne)

-
Search
-
Featured topics
Concours TI-Planet-Casio de rentrée 2019. 3 défis pour plus d'une 15aine de calculatrices graphiques et nombre de goodies sortant de l'ordinaire ! :D
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

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 
-
Stats.
407 utilisateurs:
>377 invités
>24 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
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)