π
<-

Upsilon : firmware successeur d'Omega par sa communauté !

Re: Upsilon : firmware successeur d'Omega par sa communauté

Unread postby cent20 » 12 Jan 2022, 22:39

parisse wrote:[*] pas de simulateur en ligne: c'est impossible pour des raisons de licence incompatible


J'essaye de comprendre ce point spécifique. Je ne comprends pas trop ce qui permet de d'assembler KhiCAS et Epsilon dans une ROM pour la NumWorks et de distribuer cette ROM sur le web et qui interdirait de proposer un simulateur de l'ensemble sur une page web ?
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: Upsilon : firmware successeur d'Omega par sa communauté

Unread postby Lauryy06 » 12 Jan 2022, 23:12

Bonsoir,
comme vous pouvez le deviner à mon pseudo, je l'une des personnes à l'initiative d'Upsilon, et j'aimerais revenir sur quelques points.

Avant tout, oui, certaines parties du site et du firmware ne fonctionnent pas tout à fait (cf. le simulateur et fill_polygon), mais cette première version est encore en développement.

J'ai présenté, rapidement, les raisons qui ont amené la communauté des contributeurs Omega à lancer et sortir son propre firmware alors que nous avions déjà annoncé et présenté Khi en tant que successeur d'Omega il y a quelques mois.

A vrai dire, j'ai annoncé l'idée d'Upsilon le jour de l'arrêt d'Omega et les premiers ajouts ont suivis assez vite, mais étant donné que je ne l'ai fais que sur le serveur Discord, c'est normal que vous n'ayez pas été au courant, j'aurais dû l'annoncer ici aussi plus tôt.


pour moi Khi et KhiCAS ce sont essentiellement 2 calculatrices distinctes, et on fait tout dans la deuxieme des qu'on s'en sert pour faire des maths un peu serieuses.

Je suis d'accord sur ce point, mais pour les utilisateurs, lycéens notamment qui ne font des maths à plus bas niveau, l'interface de de Khi/Upsilon a l'avantage d'être beaucoup plus conviviale comparée à celle de KhiCAS. Même si celui-ci est bien plus puissant, il demande un temps d'adaptation pour être utilisé.


Je n'ai absolument rien contre arreter Khi et utiliser Upsilon ou tout autre fork de Omega comme lanceur de KhiCAS, au contraire ca m'arrangerait. Mais ca suppose d'integrer dans Upsilon les changements que j'ai fait pour une bonne prise en compte de KhiCAS

Je n'ai moi aussi rien contre, et ça permettrait d'éviter aux utilisateurs d'avoir à sacrifier une partie des fonctionnalités du firmware qu'ils n'ont pas.


je voulais faire par de mon sentiment de deception, que les mises a jour de KhiCAS ne beneficient pas d'une mise en valeur comparable par exemple aux mises a jour de firmwares par les constructeurs (pour etre caricatural, le moteur 3d et la geometrie 3d ou le support de flash oncalc sur la Numworks vs la derniere mise a jour de nspire cx 2) ou meme dans cet article, je suis un peu jaloux de la mise en valeur des additions Python d'Upsilon alors qu'elles existent dans KhiCAS (depuis peu pour ulab, mais depuis longtemps pour graphic, qui est d'ailleurs plus complet que ce qui est presente ici).

Je trouve également que les nouvelles fonctionnalités de KhiCAS sont peu mises en avant, et au passage je trouve le moteur 3D génial et regrette de ne pas y avoir accès (pour le moment ?) dans Upsilon.
User avatar
Lauryy06Premium
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 6.7%
 
Posts: 5
Joined: 12 Jan 2022, 22:15
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 1ère
GitHub: Lauryy06

Re: Upsilon : firmware successeur d'Omega par sa communauté

Unread postby cent20 » 12 Jan 2022, 23:28

Lauryy06 wrote:Bonsoir,
comme vous pouvez le deviner à mon pseudo, je l'une des personnes à l'initiative d'Upsilon, et j'aimerais revenir sur quelques points.

Avant tout, oui, certaines parties du site et du firmware ne fonctionnent pas tout à fait (cf. le simulateur et fill_polygon), mais cette première version est encore en développement.


Merci d'avoir repris le dev de Omega, je ne sais pas si le projet a de l'avenir (au delà d'un an) face au rouleau compresseur des nouvelles fonctionnalités qui seront inévitablement ajoutées régulièrement sur Epsilon, la branche officielle de l'OS mais merci ! :favorite:

Nos jeunes ont du talent.
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: Upsilon : firmware successeur d'Omega par sa communauté

Unread postby parisse » 13 Jan 2022, 07:52

cent20 wrote:
parisse wrote:[*] pas de simulateur en ligne: c'est impossible pour des raisons de licence incompatible


J'essaye de comprendre ce point spécifique. Je ne comprends pas trop ce qui permet de d'assembler KhiCAS et Epsilon dans une ROM pour la NumWorks et de distribuer cette ROM sur le web et qui interdirait de proposer un simulateur de l'ensemble sur une page web ?

KhiCAS et Epsilon ne sont pas assembles en une seule ROM, mais en 2 firmwares (et ils sont distincts, il y a 2 fichiers). KhiCAS appelle des fonctions de Epsilon sur la calculatrice, exactement comme Xcas appelle des fonctions de Windows sur PC, c'est en mode l'appli appelle l'OS.
Le simulateur natif par contre est un unique binaire, ce qui d'ailleurs complique deja pas mal les choses, car il n'y a qu'un seul interpreteur MicroPython commun a Epsilon et KhiCAS. Sa redistribution sous forme binaire est donc illegale. Mais on peut bien sur recompiler l'archive source du simulateur (https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/delta_simu.tar.bz2), cf. la partie simulateur de la doc https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khicasnw.html#sec48
Apres, si quelqu'un veut se lancer dans la compilation en 2 morceaux du simulateur web avec emscripten, il n'y a pas d'obstacles theoriques, mais c'est un gros boulot. Je peux porter assistance sur la compilation de giac avec emscripten (ou l'utilisation de giacwasm.js), mais je ne vais pas faire le gros boulot moi-meme parce que c'est hors de mon champ de competences et j'ai deja beaucoup d'autres choses a faire.
Mon avis c'est que le simulateur natif suffit, si un prof veut vraiment montrer l'utilisation sur la Numworks, sinon ce sont les memes commandes que Xcas alors on peut montrer avec Xcas. Et l'important c'est quand meme plus la calculatrice.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.1%
 
Posts: 3664
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Upsilon : firmware successeur d'Omega par sa communauté

Unread postby redgl0w » 13 Jan 2022, 08:29

parisse wrote:Apres, si quelqu'un veut se lancer dans la compilation en 2 morceaux du simulateur web avec emscripten, il n'y a pas d'obstacles theoriques, mais c'est un gros boulot.

En effet, c'est faisable (par exemple avec la possibilité de dynlibs avec WASM). Mais la difficulté n'en vaut peut être pas la peine.
Image
User avatar
redgl0wVIP+
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 62.7%
 
Posts: 285
Images: 0
Joined: 30 Oct 2019, 20:36
Location: Grenoble
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENSIMAG 1A
Twitter: Gl0wRed
GitHub: RedGl0w

Re: Upsilon : firmware successeur d'Omega par sa communauté

Unread postby parisse » 13 Jan 2022, 08:32

Lauryy06 wrote:Bonsoir,
comme vous pouvez le deviner à mon pseudo, je l'une des personnes à l'initiative d'Upsilon, et j'aimerais revenir sur quelques points.

Avant tout, oui, certaines parties du site et du firmware ne fonctionnent pas tout à fait (cf. le simulateur et fill_polygon), mais cette première version est encore en développement.

Sur le fill_polygon, au cas ou, voici mon code
Code: Select all
  // L might be modified by closing the polygon
  void draw_filled_polygon(vector< vector<int> > &L,int xmin,int xmax,int ymin,int ymax,int color,GIAC_CONTEXT){
    int n=L.size();
    // close polygon if it is open
    if (!(L[n-1]==L[0]))
      L.push_back(L[0]);
    else
      n--;
    // ordered list of ymin,x,index (ordered by ascending ymin)
    vector< vector<int> > om(n,vector<int>(4)); // size==12K for n==384
    for (int j=0;j<n;j++){
      int y0=L[j][1],y1=L[j+1][1];
      om[j][0]=y0<y1?y0:y1;
      om[j][1]=y0<y1?L[j][0]:L[j+1][0];
      om[j][2]=j;
      om[j][3]=y0<y1?j:(j==n-1?0:j+1);
    }
    qsort(&om.front(),om.size(),sizeof(vector<int>),asc_sort_int);
    // reverse(om.begin(),om.end());
    vector<double> p(n); // inverses of slopes
    for (int j=0;j<n;j++){
      double dx=L[j+1][0]-L[j][0];
      double dy=L[j+1][1]-L[j][1];
      p[j]=dy==0?(dx>0?1e300:-1e300):dx/dy;
    }
    // initialization, lowest horizontal that is crossing the polygon
    // y at ymin-1, that way lxj is initialized in the loop
    int y=om[0][0]-1,j,ompos=0;
    vector< vector<double> > lxj; // size about 12K for n==384
    // main loop
    for (;y<ymax;){
      if (y>=ymin){ // draw pixels for this horizontal frame
   size_t lxjs=lxj.size();
   qsort(&lxj.front(),lxjs,sizeof(vector<double>),asc_sort_double);
   bool odd=false;
   vector<char> impair(lxjs);
   for (size_t k=0;k<lxjs;++k){
     int arete=lxj[k][1]; // edge L[arete]->L[arete+1]
     int y1=L[arete][1],y2=L[arete+1][1];
     if (y!=y1 && y!=y2)
       odd=!odd;
     else {
       int ym=giacmin(y1,y2);
       if ( y1!=y2 && (ym==y || ym==y)){
         odd=!odd;
       }
     }
     impair[k]=odd;
   }
   for (size_t k=0;k<lxjs;++k){
     if (impair[k]){
       int x1=giacmax(xmin,int(lxj[k][0]+.5));
       int x2=k==lxjs-1?xmax:giacmin(xmax,int(lxj[k+1][0]+.5));
       for (;x1<=x2;++x1)
         set_pixel(x1,y,color,contextptr);
     }
   }
      } // end if y>=ymin
      y++;
      if (y>=ymax) break;
      // update lxj
      for (j=0;j<lxj.size();++j){
   int k=lxj[j][1];
   if (y<=giacmax(L[k][1],L[k+1][1]))
     lxj[j][0] += p[k];
   else {
     lxj.erase(lxj.begin()+j);
     --j;
   }
      }
      // new edges
      for (j=ompos;j<n;++j){
   ompos=j;
   if (om[j][0]>y)
     break;
   if (om[j][0]<y)
     continue;
   vector<double> add(2,om[j][1]);
   add[1]=om[j][2];
   lxj.push_back(add);
      }
    } // end for (;y<ymax;)
  }



pour moi Khi et KhiCAS ce sont essentiellement 2 calculatrices distinctes, et on fait tout dans la deuxieme des qu'on s'en sert pour faire des maths un peu serieuses.

Je suis d'accord sur ce point, mais pour les utilisateurs, lycéens notamment qui ne font des maths à plus bas niveau, l'interface de de Khi/Upsilon a l'avantage d'être beaucoup plus conviviale comparée à celle de KhiCAS. Même si celui-ci est bien plus puissant, il demande un temps d'adaptation pour être utilisé.

On est tout a fait d'accord la-dessus. Typiquement pour les maths de seconde, les gens travaillent avec Epsilon, et progressivement en 1ere et Tale on passe a KhiCAS pour faire des maths plus avancees. Pour la programmation, l'utilisation de KhiCAS peut se faire des la classe de seconde avec l'avantage de ne pas avoir a quitter l'editeur pour corriger des erreurs de syntaxe, et la presence du debuggueur.

Je n'ai absolument rien contre arreter Khi et utiliser Upsilon ou tout autre fork de Omega comme lanceur de KhiCAS, au contraire ca m'arrangerait. Mais ca suppose d'integrer dans Upsilon les changements que j'ai fait pour une bonne prise en compte de KhiCAS

Je n'ai moi aussi rien contre, et ça permettrait d'éviter aux utilisateurs d'avoir à sacrifier une partie des fonctionnalités du firmware qu'ils n'ont pas.

Parfait, alors voila ce qu'il faudrait faire:
1/ recopier l'integralite du sous-repertoire apps/external de khi (https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khi.tgz) vers upsilon
2/ regarder le diff des quelques autres fichiers que j'ai du modifier dans Omega:
ion/src/shared/keyboard/layout_B3/layout_events.cpp
apps/usb/base.*.i18n
apps/home/controller.cpp
apps/settings/base.*.i18n
apps/settings/sub_menu/exam_mode_controller.cpp
apps/global_preferences.h
apps/code/script_template.cpp apps/code/script_template.h
build/config.mak
apps/home/apps_layout.csv
kandinsky/include/kandinsky/color.h
kandinsky/include/kandinsky/ion_context.h
kandinsky/include/kandinsky/context.h
apps/home/app.h
apps/apps_container.cpp
ion/src/shared/platform_info.cpp
ion/include/flash.h
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.1%
 
Posts: 3664
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Upsilon : firmware successeur d'Omega par sa communauté

Unread postby parisse » 13 Jan 2022, 08:41

cent20 wrote:
Merci d'avoir repris le dev de Omega, je ne sais pas si le projet a de l'avenir (au delà d'un an) face au rouleau compresseur des nouvelles fonctionnalités qui seront inévitablement ajoutées régulièrement sur Epsilon, la branche officielle de l'OS mais merci ! :favorite:

Nos jeunes ont du talent.

Je ne comprends pas pourquoi vous pensez (c'est pas specialement vous d'ailleurs, vous n'etes pas le seul) qu'il est impossible de rivaliser avec l'equipe de developpement de Numworks. Si on avait pense ca, il n'y aurait jamais eu de hp49 ni de HP Prime. Il suffit juste de trouver un modus vivendi, personnellement je travaille en solitaire sur mon propre code, mais je n'ai jamais eu de problemes pour collaborer ni avec Geogebra ni avec HP, eux s'occupent de l'UI et moi des maths. On peut echanger sur tiplanet ou par mail.

Pour info, les stats de telechargement Numworks de KhiCAS sont encourageantes
Sep 2021: 885 (doc), 1122 (nws.html)
Oct 2021: 1138 (doc), 1306 (nws), 127 (apps)
Nov 2021: 763 (doc), 782 (nws.html), 67+24 (apps)
Dec 2021: 918 (doc), 821 (nws), 89+12 (apps)
Pour 2020 par comparaison, j'ai uniquement la doc
September 2020: 450
October 2020: 444
November 2020: 535
December 2020: 461
Avec un peu de pub, on doit pouvoir faire encore mieux.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.1%
 
Posts: 3664
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Upsilon : firmware successeur d'Omega par sa communauté

Unread postby parisse » 13 Jan 2022, 09:47

AlexisBG wrote:Ah ouai.. J'ai toujours eu l'impression de l'inverse perso. Ceux qui aiment l'info aiment les maths. Et ceux qui aiment les maths n'aiment pas la physique. En tout cas ça a toujours été mon ressenti.

C'est probablement different entre prepa et fac : il y a plus de 2* plus d'heures de maths en prepas par an, avec une presentation des maths pour des matheux. Beaucoup de themes qui servent en physique ont ete vires en prepa: courbes parametrees, formes quadratiques, series de Fourier par exemple. J'imagine tres bien que des etudiants qui veulent faire de la physique soient mecontents.
A la fac, on enseigne selon les filieres, par exemple pour les etudiants d'info, je fais un cours d'arithmetique en 2eme annee oriente crypto (https://www-fourier.univ-grenoble-alpes.fr/~parisse/#mat309), pour ceux de physique 2eme annee c'est juste au-dessus. Il me semble avoir fait des efforts en direction des deux publics, mais rien a faire, beaucoup d'etudiants en info detestent les maths, c'est rare en physique.

Enfin écoute, moi si il y a une chose dont je suis le plus heureux sur ma numworks c'est khicas/xcas. (D'ailleurs je t'avais envoyé un mail pour corriger un bug que j'avais trouvé ds mes longues heures d'amusement avec, tester ses limites etc etc etc) (PS: d'ailleurs il faut vraiment que ds le menu affichage 3D, quand tu cliques sur diff(), il faut que ça fasse apparaître la fraction d/dx avec une case pour l'ordre aussi; car quand tu veux dériver rapidement 1) faut s'assurer que c'est en fonction de x, 2) pour des dérivées 3ème il faut que tu fasses trois fois le diff(), et ça vaut le coup car c'est mine de rien long de taper ds l'éditeur, alors que tout le reste marche très bien ds le menu 3d) )
En ts cas force!

Mon conseil: commencer par entrer l'expression (en utilisant l'editeur 2d si on prefere) et la stocker dans f (il y a des chances que f tout seul serve de toutes facons).
Puis taper f' pour deriver f en fonction de x, et pour une derivee troisieme, f''' ou bien diff(f,x,3)
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.1%
 
Posts: 3664
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Upsilon : firmware successeur d'Omega par sa communauté

Unread postby Lauryy06 » 13 Jan 2022, 17:34

J'ai résolu le problème des lignes blanches avec fill_polygon (qui n'est plus limité à 32 points maintenant) :
Image
Serait-il possible d'avoir le script du logo de TI qui cause le reset de la calculatrice pendant le dessin ? Ca m'aiderait à débugger.

Pour rendre Upsilon compatible avec les nouveauté de KhiCAS, je verrais ça d'ici une semaine ou deux, j'ai pas mal de travail en ce moment, mais merci pour les instructions !
User avatar
Lauryy06Premium
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 6.7%
 
Posts: 5
Joined: 12 Jan 2022, 22:15
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 1ère
GitHub: Lauryy06

Re: Upsilon : firmware successeur d'Omega par sa communauté

Unread postby critor » 13 Jan 2022, 17:38

Quelle rapidité, merci beaucoup.

Lauryy06 wrote:Serait-il possible d'avoir le script du logo de TI qui cause le reset de la calculatrice pendant le dessin ? Ca m'aiderait à débugger.

Et malheureusement non, bien désolé, j'ai perdu le contenu exact avec le freeze.
Mais il est possible que ça ait été un cas particulier des lignes blanches, donc si ça se trouve ça a été corrigé en même temps.

La nouvelle version sortira quand ?
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

PreviousNext

Return to News NumWorks

Who is online

Users browsing this forum: ClaudeBot [spider] and 5 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.
1121 utilisateurs:
>1061 invités
>53 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)