π
<-
Chat plein-écran
[^]

Numworks Episodes 4 et 5: N0120 et applications externes

Nouveautés, projets, mises à jour.
Online

Numworks Episodes 4 et 5: N0120 et applications externes

Unread postby parisse » 03 Jul 2022, 07:34

Numworks s'apprête à mettre sur le marché son nouveau modèle de calculatrice N0120, sans doute pendant l'été. Contrairement aux modèles précédents, on peut parier sans risques qu'il sera verrouillé dès la sortie d'usine, pour satisfaire aux exigences des institutions scolaires de certains pays. Il sera en particulier impossible d'installer des firmware tiers (Omega, Upsilon, Khi) permettant de réactiver le calcul symbolique en mode examen...

On est donc à l'opposé de l'ouverture des premiers modèles de Numworks, un des arguments clefs qui a permi à Numworks de s'imposer en France. Cela n'a sans doute pas semblé très important à Numworks qui pensait continuer à croitre en s'imposant à l'étranger de la même manière que ce qui s'est passé en France, en particulier aux USA.

Mais de ce qu'on peut déduire des avis de clients sur amazon US, cela ne semble pas être le cas pour le moment (on recense un seul avis sur le 1er semestre 2022 contre une bonne trentaine pour la Casio FXCG50 et bien plus pour les TI). L'essentiel des ventes de Numworks se fait toujours en France où le constructeur ne doit plus guère progresser en parts de marché, avec la concurrence de la TI82 couleur et des offres de rentrée Casio. Pire, avec la réforme du lycée, une partie des élèves n'achète plus de calculatrice graphique. De plus le marché de l'occasion va voir arriver des Numworks N0110 achetées en 2019 par des élèves de seconde qui ont passé le bac en 2022. Or ces modèles seront non verrouillés ou déverrouillables et risquent de faire un peu d'ombre aux ventes de N0120 neuves, peut-être suffisamment pour que Numworks s'en inquiète.

Alors Numworks aimerait probablement continuer à communiquer sur l'ouverture des Numworks, en jouant sur l'ambiguité du terme "ouverture" pour les N0120. Il s'agirait ici de mettre en avant la possibilité d'installer des applications externes, créées par la communauté. Sauf qu'à ce jour il n'existe qu'une seule application externe communautaire Epsilon, c'est Phi, l'application qui permet de déverrouiller les N0110 (https://phi.getomega.dev/), que Numworks ne va évidemment pas mettre en avant. Donc Numworks entame une opération de séduction de la communauté des développeurs, en améliorant un peu le support des applications externes:
https://github.com/numworks/epsilon-sample-app-cpp/releases/tag/1.1
Mais en se gardant bien de modifier un des points clefs : le crash d'une application ou l'appui sur la touche reset efface les applications externes. Ils veulent probablement continuer à caresser les institutions dans le sens du poil pour se donner un avantage compétitif, en apparaissant comme encore plus sécurisés que TI et Casio qui n'effacent pas la mémoire en cas de reset, au détriment de l'utilisation des applications externes.

J'invite tous les développeurs à ne pas céder aux sirènes de Numworks tant que ce point clef du reset/crash n'a pas été résolu. Les addins Casio restent en mémoire après un crash/reset, à Numworks de faire de même. Faute de quoi, le risque est grand de voir les institutions suivre Numworks et imposer à Casio/TI un effacement complet en cas de crash/reset, en diminuant un peu plus nos libertés.
Last edited by parisse on 03 Mar 2024, 08:39, edited 1 time in total.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 77.5%
 
Posts: 3506
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Numworks Episode 4: la N0120 et les applications externe

Unread postby toml_12953 » 20 Sep 2023, 14:27

Now, in September 2023, the N0120 is the only model available, so sales of the older models won't affect the sale of the N0120. Also, it's so much faster than the N0100 or N0110 that the need for third party software may be diminished. I wish it was unlocked but it is what it is.
User avatar
toml_12953
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 53.3%
 
Posts: 5
Joined: 02 Oct 2017, 15:41
Gender: Not specified
Calculator(s):
MyCalcs profile

Online

Numworks Episode 5: la N0120 et les applications externes

Unread postby parisse » 02 Mar 2024, 17:40

Je reviens sur ce sujet, presque 2 ans après. A ma connaissance, il y a toujours très peu d'applications natives pour Epsilon>=16, il s'agit principalement des portages des applications externes des forks d'Epsilon 15.5 fait par "nwagyu" ainsi que quelques autres applications : https://yaya-cout.github.io/Nwagyu/guide/apps/. Les conditions d'utilisation sont toujours aussi pénibles aussi bien pour l'utilisateur que pour le développeur: pas de persistance en cas de crash (ou au retour du mode examen), sans même parler de pouvoir aussi être utilisable en mode examen, ce qui serait plus que légitime pour KhiCAS.
Mais Numworks a sans doute aujourd'hui la moitié voir plus des parts de marché au lycée, et les nouvelles N0115/N0120 ne sont à ma connaissance pas déverrouillables, ils sont en position dominante, il y a peu de levier pour les faire améliorer le support des applis externes. Alors plutôt que de laisser les élèves équipés de Numworks récentes et intéressés par le calcul formel avec la version incomplète du KhiCAS portée par nwagyu, j'ai décidé de me fournir une Numworks récente et de passer un peu de temps pour améliorer le support de KhiCAS en application externe.

En attendant d'avoir la calc physique, et comme il est indispensable de disposer d'une méthode de mise au point, j'ai décidé de modifier le simulateur d'Epsilon (22.2) pour y ajouter du support pour une application externe, pour moi ce sera KhiCAS, mais ça peut facilement servir à un autre développeur pour une autre application externe.
Je me réserve pour le futur l'étude de la faisabilité de redistribuer une version compilée du simulateur, pour l'instant je vais me contenter d'indiquer comment le compiler soi-même sur un Linux. Il s'agit encore d'une version préliminaire susceptible de modifications et de bugs, mais ça a l'air assez fonctionnel.

Commencer par installer si nécessaire les dépendances, sur Debian compatible (Debian, Ubuntu...)
Code: Select all
sudo apt install libgmp-dev libmpfr-dev libmpfi-dev git python-lz4 webp wget

Faire l'équivalent sur d'autres Unix (avec yum, brew, ...)
Puis
Code: Select all
git clone https://github.com/numworks/epsilon
cd epsilon
wget https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/ext.tar.bz2
tar xfa ext.tar.bz2
wget https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/nwsimu.tgz
tar xfa nwsimu.tgz
./mk
ln -sf output/release/simulator/linux/epsilon.bin simu

Ensuite ./simu lance le simulateur. Prière de me signaler les problèmes éventuels rencontrés:-)

Pour obtenir la touche shift de la calculatrice appuyer sur la touche Ctrl (gauche) du PC. La touche shift du PC sert à faire les touches majuscules (chiffres 1 à 9 et 0, sinon ils ne sont pas gérés dans KhiCAS).
Autres raccourcis: Esc dans le menu principal Numworks lance directement KhiCAS
La touche shift droit simule la touche HOME. Donc pour quitter KhiCAS il suffit
de taper plusieurs fois de suite sur shift droit.

Attention, les modules Numworks turtle et kandinsky de Python ne fonctionnent pas depuis KhiCAS. Vous pouvez utiliser tortue et graphic à la place. Le problème est qu'il n'y a qu'une seule application sur le simulateur qui lie Epsilon et KhiCAS, donc il ne peut y avoir qu'un seul interpréteur MicroPython (alors que sur la calculatrice il peut y en avoir deux car Epsilon et KhiCAS sont séparés).

Si vous êtes un simple utilisateur et pas un développeur, vous pouvez arrêter de lire ici.

Pour le développement d'applications externes Numworks sur le simulateur: au lieu de linker avec la libgiac, vous pouvez linker avec n'importe quelle bibliothèque ou fichiers objets ayant une déclaration extern "C" void ext_main();
On peut alors utiliser gdb pour débugguer le code de l'appli externe sur le simulateur
Notez que python/port/port.h/.cpp et python/port/mod/modkandisky.cpp contiennent des implémentations d'un certain nombre de fonctions du SDK C de KhiCAS, qui sont aussi disponibles via le EADK et le portage de l'application KhiCAS pour Epsilon>=16.
https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khicasnw.html#sec52
Attention, une partie des fonctions du SDK C de KhiCAS fonctionnent sur le simulateur mais pas sur la calculatrice, car le EADK de Numworks est incomplet. Je vais essayer de rajouter dans les prochaines semaines le support du scriptstore Numworks, ce qui permettrait de sauvegarder/restaurer des scripts et sessions dans KhiCAS pour Epsilon>=16. A plus long terme, il faudrait aussi porter le support de fichiers dans la flash qui reste, soit avec le support actuel de KhiCAS pour Epsilon 15.5, soit en ajoutant un vrai système de fichiers (yaffs?).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 77.5%
 
Posts: 3506
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Online

Re: Numworks Episode 5: la N0120 et les applications externe

Unread postby parisse » 03 Mar 2024, 08:38

Je viens d'ajouter le support simulateur pour disposer de fichiers préchargés, par exemple des scripts Python ou des sessions KhiCAS, comme c'est le cas sur KhiCAS pour Numworks non verrouillée (cela pourrait permettrait d'avoir de la sauvegarde flash de scripts sur la calculatrice sur une zone fixe de flash)

Mode d'emploi: créer dans le répertoire où vous lancez le simulateur une archive tar nommée apps.tar contenant les fichiers à charger au lancement du simulateur. Par exemple, on crée un fichier session.xw depuis Xcas en exportant au format HP/Casio et un script test.py avec n'importe quel éditeur puis dans le terminal on tape
tar cvf apps.tar test.py session.xw
Les fichiers de l'archive apps.tar apparaissent alors lorsqu'on veut ouvrir un script Python ou une session KhiCAS depuis KhiCAS. Ils apparaissent également dans Applications/Personnaliser la flash de KhiCAS et les scripts Python peuvent même être recopiés dans le scriptstore Numworks. Par exemple si on souhaite utiliser un fichier test.py depuis l'app Python du simulateur, on crée le fichier apps.tar comme ci-dessus, puis on lance le simulateur, Esc pour aller dans KhiCAS, shift droit, 8 ouvre l'éditeur Python de KhiCAS, puis on sauvegarde (touches shift droit puis 2). On quitte KhiCAS (shift droit 4 fois), on peut au passage scanner le QR code pour cloner la session dans Xcas pour Firefox, Esc, on ouvre l'app Python, le script y est.

Je vais voir si je peux améliorer la persistance et l'échange de fichiers entre le simulateur et l'hote comme sur les Casio ou les Nspire, avoir de la persistance sur le simulateur serait certainement un plus, même s'il s'agit seulement de persistance partielle (i.e. les scripts Python, le format de sauvegarde du reste du scriptstore n'est pas portable).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 77.5%
 
Posts: 3506
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile


Return to Actualités

Who is online

Users browsing this forum: No registered users and 0 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
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.
1199 utilisateurs:
>1164 invités
>30 membres
>5 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)