Cet été avec deux élèves volontaires et motivé de 1ère S nous avons conçu un script pour la NumWorks, une boîte à outil pour les polynômes du second degré en y intégrant un menu et en essayant de rendre le tout User-Friendly.
Très vite nous avons été confronté à des problèmes de gestion de la mémoire de la Numworks, et après quelques échanges intéressants avec les développeurs de NumWorks nous avons tenté de réduire encore et encore la taille du script.
S'ils ont répondu à nos messages, avec précision et rapidité, la limitation 16/16 ko stockage/exécution nous parait ridiculement faible, risible, agaçante même !
Bref, d'un script incomplet de 12ko nous avons réussi à aboutir à un script de 6ko parfaitement fonctionnel mais ... uniquement sur Thonny, Spyder, etc ... Et comme il ne tourne pas sur la numworks on ne peut pas faire les derniers réglages.
Lassé de cette situation, et ne voulant pas attendre une hypothétique mise à jour qui augmenterait l'espace pour exécuter les scripts, j'ai tenté de recompiler la ROM et là cela fut pire.
La documentation officielle de numworks est très incomplète, elle est belle, courte, ça parait hyper facile mais elle ne permet pas de compiler une ROM.
Le wiki non officiel est plus complet, mais dans le meilleur des cas, à la fin de la compilation j'ai un message qui me dit que le .bin est trop gros pour la calculatrice (d'ailleurs j'ai un .elf mais le .bin je ne l'ai jamais vu dans aucun sous dossier.)
J'ai parcouru reddit, github, et ce forum et j'ai l'impression que tous ceux qui réussissent à compiler la ROM de la calculatrice sont ici.
Tests effectués pour le script en Python
Définir un maximum de f°
Définir un minimum de f°
Stocker les f° dans deux scripts différents
Effacer tous les autres scripts
Limiter les manipulations des chaines de caractère
Définir le moins de variable possible
Regrouper des f°
I=input P=print etc ...
Couper des morceaux du script pour identifier d'ou viendrait le pb
Tests effectués pour la compilation
Windows 10 : 2x
Ubuntu sur VM : 2x
Debian sur VM : 2x
Ubuntu sur machine dédié fraîchement installée : 1x
Debian 10 sur machine dédié fraîchement installée : 1x > Meilleur résultat observé, ça compile sans erreur, on déplace le .elf au bon endroit mais ça refuse de flasher.
Quelques liens
Le script en question sur github. 9 ko pas optimisé.
Le script sur workshop 6ko minimal
La première version non fonctionnelle qui c'est mise à planter nous obligeant à procéder à des coupes massives et à chercher ou était passé la mémoire.
Et en remontant l'historique de github, on peut trouver les versions précédentes, mais je ne vous apprend rien là.
Je ne vois qu'une solution à mon problème, partir sur une Lexibook GC3000FR et laisser la numworks dans un placard ...