π
<-

Script qui refuse de s’exécuter sur la Numworks N0100

Script qui refuse de s’exécuter sur la Numworks N0100

Unread postby cent20 » 07 Sep 2019, 16:38

Bonjour,

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 ...
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.5%
 
Posts: 1050
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Script qui refuse de s’exécuter sur la Numworks N0100

Unread postby critor » 07 Sep 2019, 16:55

Bonjour.

C'est tout un défi que de faire fonctionner des scripts Python un minimum conséquents (entre autres avec des interfaces/menus utilisateur) sur la NumWorks.
Sachant qu'à l'exécution, tout va dans la mémoire de travail d'environ 16Kio :
  • l'intégralité du texte du script
  • de plus toutes les fonctions qu'il définit sont également créées en mémoire de travail, chacune associée avec son nom et son code

Il faut réduire le nombre de lignes, utiliser des noms de fonctions/variables courts, éviter les commentaires, factoriser le code... et encore ça ne suffit pas toujours.

On est un petit peu moins à l'étroit chez Texas Instruments (environ 20Kio de mémoire de travail Python sur TI-83 Premium CE).
Chez Casio par contre aucun problème de ce genre : environ 100Kio de mémoire de travail sur Graph 35+EII, et 1Mio sur Graph 90+E.

Sinon en effet le script ne plantera pas sur Lexibook GC3000FR. :troll:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Script qui refuse de s’exécuter sur la Numworks N0100

Unread postby Lionel Debroux » 07 Sep 2019, 17:00

C'est quand même inquiétant de ne pas pouvoir construire des programmes non triviaux sur beaucoup de modèles de calculatrices gérant Python...
Ce n'est pas comme ça qu'on va rendre populaire l'algorithmique et donner le goût de la programmation à certains élèves qui auraient pu être intéressés.
Certes, les ordinateurs permettent de faire beaucoup plus de choses, mais pas tout le monde n'a encore accès à un ordinateur chez soi !
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Script qui refuse de s’exécuter sur la Numworks N0100

Unread postby cent20 » 07 Sep 2019, 17:31

critor wrote:Il faut réduire le nombre de lignes, utiliser des noms de fonctions/variables courts, éviter les commentaires, factoriser le code... et encore ça ne suffit pas toujours.


On a déjà épuisé le stock de possibilité ... Raccourcir tous les noms fut la première chose qu'on a fait, c'était tellement trivial que je ne l'ai pas précisé.

Quand on vu les premiers plantages on a testé la quantité de mémoire utilisée, et à force d'optimiser on est arrivé à moins de 8ko mais ça c'était sans compter la fragmentation de celle-ci et sa non optimisation...

Bon l'année prochaine je fais mettre la Lexibook GC3000FR sur la liste des fournitures scolaire, au moins on n'aura pas de problème de mémoire.
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.5%
 
Posts: 1050
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Script qui refuse de s’exécuter sur la Numworks N0100

Unread postby Lionel Debroux » 07 Sep 2019, 17:35

Bon l'année prochaine je fais mettre la Lexibook GC3000FR sur la liste des fournitures scolaire

Tu es sérieux ? :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Script qui refuse de s’exécuter sur la Numworks N0100

Unread postby cent20 » 07 Sep 2019, 17:36

Lionel Debroux wrote:C'est quand même inquiétant de ne pas pouvoir construire des programmes non triviaux sur beaucoup de modèles de calculatrices gérant Python...
Ce n'est pas comme ça qu'on va rendre populaire l'algorithmique et donner le goût de la programmation à certains élèves qui auraient pu être intéressés.
Certes, les ordinateurs permettent de faire beaucoup plus de choses, mais pas tout le monde n'a encore accès à un ordinateur chez soi !


Je plussois à 100%.

Autant en maths en seconde la limitation 16ko/16ko ne serait jamais atteinte, autant en NSI ça sera un vrai problème...

Pour s'implanter sur le marché il faut séduire :

- Les enseignants pour qu'ils recommandent la calculatrice,
- Les élèves en situation de réussite différée en leur proposant un outil simple,
- Les élèves en situation de réussite accéléré en CAR ils sont souvent des prescripteurs auprès de leurs camarades.

et cette troisième catégorie ne sera pas accessible avec 16ko / 16 ko !
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.5%
 
Posts: 1050
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Script qui refuse de s’exécuter sur la Numworks N0100

Unread postby cent20 » 07 Sep 2019, 17:38

Lionel Debroux wrote:
Bon l'année prochaine je fais mettre la Lexibook GC3000FR sur la liste des fournitures scolaire

Tu es sérieux ? :)


Toujours !

Pour avoir un problème de mémoire, il faut avoir de la mémoire.
Pas de mémoire, pas de problème.

:troll:
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.5%
 
Posts: 1050
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Script qui refuse de s’exécuter sur la Numworks N0100

Unread postby critor » 07 Sep 2019, 17:43

En m'arrachant pas mal de cheveux (il ne m'en reste déjà plus beaucoup), j'arrive à faire tourner des scripts une fois réduits à un peu moins de 4Kio.

8Kio serait un tout autre record...
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Script qui refuse de s’exécuter sur la Numworks N0100

Unread postby ptijoz » 07 Sep 2019, 17:50

Ah depuis le temps que je hurle que 16Ko c'est ridicule !
et encore au début on était à 4Ko et on était limité à 8 scripts (de mémoire)
Je ne comprends pas cette limitation ridicule ! Numworks a fait un choix audacieux en mettant une superbe calculatrice sur le marché avec python intégré. Malheureusement si on ne peut quasiment rien faire avec elle va finir aux oubliettes. D'ailleurs la mienne je l'ai quasiment remisée au fond d'une meuble en attendant un tableur et plus de mémoire pour Python.
provisoirement je me sers d'autres modèles ...

Alors Numwoks, si vous voulez rester en vie sur ce marché des calculatrices, Bougez-vous !
Un peu poète, un peu geek, un peu rêveur, un peu écolo.
https://joz.alwaysdata.net/info/
User avatar
ptijoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 34.3%
 
Posts: 334
Images: 0
Joined: 17 Oct 2018, 15:38
Location: France Loir et Cher
Gender: Male
Calculator(s):
MyCalcs profile
Class: a la poursuite du vent et des etoiles.

Re: Script qui refuse de s’exécuter sur la Numworks N0100

Unread postby cent20 » 07 Sep 2019, 18:07

ptitjoz wrote:Ah depuis le temps que je hurle que 16Ko c'est ridicule !
et encore au début on était à 4Ko et on était limité à 8 scripts (de mémoire)
Je ne comprends pas cette limitation ridicule !


Pour avoir lu a peu prés tout ce que j'ai trouvé la dessus, il me semble qu'un membre de ce forum a expliqué que c'était une mesure conservatrice pour éviter les crash causé par une saturation de la mémoire disponible, ce qui obligerait à un RESET de la calculatrice. (en tout cas c'est ce que j'ai compris !)

Bon une fois ceci dit, le problème reste le même.

Ce script devait servir de modèle à mes futurs élèves de NSI, pour fixer le niveau d'exigence attendu.
Mais s'il ne tourne pas sur la calculatrice, je vais avoir l'air fin !

D'ailleurs il ne tourne pas non plus sur la TI 83 CE avec l'adaptateur, on a testé ça il y a quelques jours.
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.5%
 
Posts: 1050
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Next

Return to Programmation Python

Who is online

Users browsing this forum: ClaudeBot [spider] and 0 guests

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


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1059 utilisateurs:
>1002 invités
>50 membres
>7 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)