Page 6 of 13

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

Unread postPosted: 16 Aug 2019, 21:19
by critor
gabmiral wrote:Dans la partie 3, le tableau de performances, je m'interroge sur les performances des TI-83 Premium CE. Pour le modèle Edition Python, ce qui a été testé a été codé en Basic z80/assembleur ou en Python ? Il faudrait spécifier. Aussi, ce serait interessant de mettre la vitesse d’exécution du script Python sur une TI-83 Premium CE normale couplée au module TI-Python

Bonsoir.

Comme dit dans l'article, le script est codé dans le langage de programmation historique de chaque modèle.
Donc dans le cas des TI-83 Premium CE, le TI-Basic.

Il n'est pas possible de comparer (équitablement) les performances en C/Assembleur, tout simplement parce que ce n'est pas accessible sur plusieurs modèles.

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

Unread postPosted: 17 Aug 2019, 18:22
by Arka_Voltchek
Je me demande : l'écran est-il bien meilleur ? Car l'ancien n'était vraiment pas très lisible, et se rayait très facilement.

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

Unread postPosted: 17 Aug 2019, 19:24
by jean-baptiste boric
Arka_Voltchek wrote:Je me demande : l'écran est-il bien meilleur ? Car l'ancien n'était vraiment pas très lisible, et se rayait très facilement.

L'écran du modèle N0110 est vraiment meilleur. La dalle IPS a des couleurs beaucoup plus fidèles et moins délavées, il dispose d'un angle de vision nettement supérieur à l'ancien (qui devient rapidement illisible en le regardant de côté) et d'un contraste plus élevé. Il est un peu tôt pour se prononcer sur les rayures, mais a minima le nouvel étui devrait offrir une meilleure protection pendant le transport.

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

Unread postPosted: 22 Aug 2019, 23:49
by zardam
J'ai essayé de compiler giac et epsilon, mais je tombe sur des erreurs de link sur des symboles dans giac :

Code: Select all
/home/damien/dev/gcc-arm-none-eabi-8-2019-q3-update/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld: ../giac-1.5.0/src/libgiac.a(moyal.o): in function `giac::Bessel(giac::gen const&, int, giac::context const*)':
moyal.cc:(.text+0xa4cc): undefined reference to `j0'
/home/damien/dev/gcc-arm-none-eabi-8-2019-q3-update/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld: moyal.cc:(.text+0xa4dc): undefined reference to `j1'
/home/damien/dev/gcc-arm-none-eabi-8-2019-q3-update/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld: moyal.cc:(.text+0xa4e2): undefined reference to `jn'
/home/damien/dev/gcc-arm-none-eabi-8-2019-q3-update/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld: moyal.cc:(.text+0xa4ea): undefined reference to `y0'
/home/damien/dev/gcc-arm-none-eabi-8-2019-q3-update/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld: moyal.cc:(.text+0xa4f4): undefined reference to `y1'
/home/damien/dev/gcc-arm-none-eabi-8-2019-q3-update/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld: moyal.cc:(.text+0xa4fa): undefined reference to `yn'
/home/damien/dev/gcc-arm-none-eabi-8-2019-q3-update/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld: ../giac-1.5.0/src/libgiac.a(usual.o): in function `giac::Gamma(giac::gen const&, giac::context const*)':
usual.cc:(.text+0x17fd4): undefined reference to `gammaf'
/home/damien/dev/gcc-arm-none-eabi-8-2019-q3-update/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld: ../libtommath-0.39/libtommath.a(bn_mp_read_radix.o): in function `mp_read_radix':
bn_mp_read_radix.c:(.text.mp_read_radix+0x3a): undefined reference to `__locale_ctype_ptr'


J'ai peut être raté quelque chose, mais je n'ai pas eu du tout le temps de creuser le problème. Si j'arrive à quelque chose, je peux effectivement tout pusher sur GitHub, sauf si quelqu'un s'est déjà lancé sur le sujet ?

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

Unread postPosted: 24 Aug 2019, 16:05
by parisse
Il faut la version a jour de giac-1.5.0, datee apres le 24 aout 16h48 et suivre les instructions du post de la page 5 que je viens de mettre a jour. J'ai commente Bessel sur la Numworks car la version de la newlib nano ne contient pas d'implementation des fonctions de Bessel, j'ai aussi ajoute des flags de compilation pour diminuer la taille memoire et declarer statiquement tous les noms de commande giac.
Je prefere laisser quelqu'un de competent pour mettre le tout sur git et permettre de recompiler facilement son firmware CAS. Comme indique dans le post expliquant la compilation, il ne faut pas diffuser de firmware liant giac et epsilon dont les licences sont incompatibles, on peut seulement se faire son petit firmware pour soi a des fins de prototypage (en ce qui concerne la GPL en tout cas, je n'ai pas trop regarde pour la licence d'epsilon).

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

Unread postPosted: 24 Aug 2019, 16:46
by Lionel Debroux
Super travail de Jean-Baptiste Boric, zardam et toi ces jours-ci :)

Techniquement, on peut faire un repo Git contenant un README modifié et un script du genre
Code: Select all
apt install gcc-arm-none-eabi
git clone https://github.com/author/reponame
cd reponame
<ENVVARS> make <targets>
qu'on pourrait ensuite faire lancer aux utilisateurs dans un conteneur Docker, ou similaire, de Debian 10, pour obtenir leurs propres binaires.

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

Unread postPosted: 24 Aug 2019, 16:49
by Adriweb
En effet, félicitations :)

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

Unread postPosted: 25 Aug 2019, 01:29
by zardam
Lionel Debroux wrote:]qu'on pourrait ensuite faire lancer aux utilisateurs dans un conteneur Docker, ou similaire, de Debian 10, pour obtenir leurs propres binaires.


J'ai vérifié, et dfu-util fonctionne directement dans un conteneur (avec --privileged). Cela permettrait de faciliter grandement l'installation depuis les sources, mais ça ne doit être valable que sous linux (donc des utilisateurs déjà un minimum "avancés" en général).

Je vais essayer de mettre ça un minimum au propre, car ça peut être assez utile effectivement.

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

Unread postPosted: 25 Aug 2019, 07:02
by parisse
Lionel Debroux wrote:Super travail de Jean-Baptiste Boric, zardam et toi ces jours-ci :)

Tout-a-fait, un grand merci pour leur aide qui est determinante pour le portage de giac sur la Numworks.

Je vais maintenant un peu tester et modifier le menu, puis probablement contacter Numworks pour voir si ca les interesse. Ils ont seduit une partie des prescripteurs avec la primaute de Python, la simplicite de leur interface (particulierement pour les probas) et l'envie de casser le duopole avec un produit francais, mais il devient surement plus difficile d'en gagner de nouveaux. Avoir un CAS (+tout le reste, par exemple la geometrie), eventuellement desactivable en mode examen pour contenter les profs grincheux, ca pourrait etre un argument decisif maintenant que TI a sorti son modele couleur Python et Casio sa monochrome Python, d'autant plus que les programmes de lycee ont evolue, les parts de marche en filiere technique pour les calculatrices graphiques risquent de fondre tres rapidement, et en filiere generale, les programmes sont redevenus plus ambitieux en spe maths.

Un accord avec Numworks reste toutefois purement speculatif... Avoir une solution technique le plus simple possible a mettre en oeuvre des maintenant et juridiquement conforme, c'est du concret et donc hautement souhaitable.

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

Unread postPosted: 25 Aug 2019, 09:32
by zardam
J'ai poussé un projet Docker « minimaliste » qui permet de construire et flasher epsilon ici : https://github.com/zardam/epsilon-builder

L'image est pushé sur Docker Hub (https://hub.docker.com/r/zardam/epsilon-builder).

Du coup, pour construire et transférer la dernière version d'epsilon, il suffit de lancer la commande
Code: Select all
$ docker run -it --rm --privileged zardam/epsilon-builder

Il faut connecter la calculatrice avant de lancer docker, sinon il me semble qu'elle n'est pas reconnue.

Il ne reste plus qu'a créer un dépôt avec les modifications nécessaires pour intégrer le tout.