J'ai pu avancé en faisant ca, oui.
Et finalement, c'est bon avec giac-1.6.0 (avant j'avais la 1.2 je sais pas trop d'ou), mais il a fallu que je corrige quelque "vector" en "std::vector" dans modpoly.h sinon ca ne compilait pas.
Yapuka demander a Vogtinator si on peut override le flag disant que c'est bon pour ne pas passer par le mode de compat, ou si y'en a en fait vraiment besoin...
KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14744
- Images: 1119
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
Quelques screenshots, meme si j'arrive pas a faire de calculs ou lancer un script (j'ai toujours une erreur, bad argument ou qqchose du genre, aussi "stopped in in_eval") :
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14744
- Images: 1119
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
J'ai mis a jour le source avec la correction dans le fichier header, et j'ai rajoute un README.nspire (cf. ci-dessous) expliquant comment compiler, il faudra aussi inclure tout ca dans la doc HTML.
Par contre c'est curieux que le noyau de calcul bloque. Stopped in in_eval est le message d'erreur qui est declenche lorsqu'on interrompt un calcul en tapant sur la touche ON.
Par contre c'est curieux que le noyau de calcul bloque. Stopped in in_eval est le message d'erreur qui est declenche lorsqu'on interrompt un calcul en tapant sur la touche ON.
giac/KhiCAS sur TI nspire CX
============================
Pour cross-compiler KhiCAS, il faut installer le SDK de ndless
https://hackspire.org/index.php/C_and_a ... troduction
Ensuite installer GMP, MPFR, MPFI les versions importent peu mais autant prendre les plus recentes. Il suffit de prendre les archives standard (https://gmplib.org/, https://www.mpfr.org/, https://gforge.inria.fr/frs/?group_id=157), a cross-compiler, ce qui peut se faire avec les instructions suivantes
- Code: Select all
#! /bin/bash
export CC=nspire-gcc
export CXX=nspire-g++
export LD=nspire-ld
export AR=arm-none-eabi-ar
export AS=nspire-as
puis pour compiler GMP
./configure --host=arm-none-eabi
installer a la main gmp*h dans chemin_vers_ndless-sdk/toolchain/install/include et libgmp.a vers chemin_vers_ndless-sdk/toolchain/install/lib
puis pour compiler MPFR
./configure --with-gmp=chemin_vers_ndless-sdk/toolchain/install --host=arm-none-eabi
meme procedure d'install et compilation de MPFI de maniere analogue.
Puis recuperer le source a jour de giac,
https://www-fourier.univ-grenoble-alpes ... .0.tar.bz2
cp config.h.nspire config.h
editer Makefile.nspire pour s'adapter a votre installation locale et faire
make -f Makefile.nspire
Si vous faites des modifications et que vous voulez executer en pas a pas au debuggueur:
* a faire une fois: installez firebird-emu
https://github.com/nspire-emus/firebird.
Installer sur l'emulateur les fichiers de boot et de flash de votre
nspire CX. Puis envoyez avec firebird-send ndless 4.5.0 pour la nspire
(viewtopic.php?t=20446), activez ndless.
Faites deux sauvegardes (dont une de snapshot pour redemarrer firebird-emu).
* apres chaque compilation: envoyez l'executable giac.tns sur l'emulateur.
Tapez alors dans un shell la commande
arm-none-eabi-gdb -ex "target remote localhost:3333" giac.elf
ou dans emacs: Esc x gdb (enter) puis
arm-none-eabi-gdb -i=mi -ex "target remote localhost:3333" giac.elf
Cela doit interrompre l'emulateur (affichage grise). Mettez un point
d'arret dans votre code source (dans emacs Ctrl-X Ctrl-A Ctrl-B sur
la ligne souhaitee, dans gdb avec la commande b pour break, b nom de fonction
ou b nom de ficher source:numero de ligne) et tapez c (cont).
Ensuite lorsque le point d'arret est atteint vous pouvez executer en pas
a pas comme avec une session gdb normale
(p print, n next, s step into, f frame, u until, c continue, etc.).
Dans le repertoire src de giac, il y a un fichier .gdbinit qui contient
une macro fort utile pour afficher des variables de type gen,
c'est v (comme voir) qui s'utilise comme p mais au lieu d'afficher
la variable comme une structure C, il l'affiche comme dans Xcas.
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3663
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
De mon coté, ca a buildé avec les toutes dernieres version de gmp/mpfr/mpfi.
J'ai une suggestion qui me permettra de faire un script générique:
Au lieu de mettre en hardcodé les chemins, utiliser plutot une variable (d'environnement) comme $NDSDK. Au moins chacun customise ca sur son ordi, et le script est générique.
Donc ca donnerait, pour MPFR etc. :
Et donc les developpeurs auront juste a mettre quelque chose comme
Possible de mettre a jour les archives utilisant des trucs harcdcodés ici ou la, et de mentionner dans le readme l'export a faire ?
Par ailleurs, je ne sais pas trop pourquoi/comment ca peut marcher actuellement pour les libs/headers (ou alors c'est parce que ca se rajoute et non remplace... mais quand meme) pour gmp/mpfr/mpfi parce qu'il faut en fait non pas les mettre dans
Autrement dit, ici :
J'ai une suggestion qui me permettra de faire un script générique:
Au lieu de mettre en hardcodé les chemins, utiliser plutot une variable (d'environnement) comme $NDSDK. Au moins chacun customise ca sur son ordi, et le script est générique.
Donc ca donnerait, pour MPFR etc. :
./configure --with-gmp=$NDSDK --host=arm-none-eabi
tout simplement, sans avoir besoin de le changer.Et donc les developpeurs auront juste a mettre quelque chose comme
export NDSDK=/home/toto/ndless-sdk
dans leur .bashrc ou .bash_profile ou .zshrc equivalent.Possible de mettre a jour les archives utilisant des trucs harcdcodés ici ou la, et de mentionner dans le readme l'export a faire ?
Par ailleurs, je ne sais pas trop pourquoi/comment ca peut marcher actuellement pour les libs/headers (ou alors c'est parce que ca se rajoute et non remplace... mais quand meme) pour gmp/mpfr/mpfi parce qu'il faut en fait non pas les mettre dans
[...]/ndless-sdk/toolchain/install/{lib,include}
(ca c'est interne a la toolchain), mais dans [...]/ndless-sdk/{lib,include}
(c'est la ou il y a tous les autres fichiers .a et .h utilises au build de projets utilisant des libs).Autrement dit, ici :
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14744
- Images: 1119
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
De mon point de vue, GMP/MPFR/MPFI devraient etre disponibles dans la toolchain! Mais le chemin exact d'install des librairies n'a pas vraiment d'importance du moment qu'ils sont automatiquement recherches par la toolchain, je voulais en tout cas eviter de devoir ajouter des -I... et des -L dans les lignes de commande de compilation et de link.
Je peux evidemment modifier le Makefile.nspire et le README.nspire pour faciliter le travail aux developpeurs, du moment qu'on me fournit les modifs (et que ca marche chez moi!)...
Je peux evidemment modifier le Makefile.nspire et le README.nspire pour faciliter le travail aux developpeurs, du moment qu'on me fournit les modifs (et que ca marche chez moi!)...
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3663
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
Je vais demander à Vogtinator ce qu'il en pense, je pense pas que ce soit très problématique d'avoir ces libs en plus
Ca simplifiera d'autant plus le build vu qu'il n'y aura presque plus rien à faire comme pré-requis "custom".
Ca simplifiera d'autant plus le build vu qu'il n'y aura presque plus rien à faire comme pré-requis "custom".
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14744
- Images: 1119
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
Nouvelle mise a jour, avec une amelioration pour la documentation en ligne. La touche "livre" sert dorenavant de touche de completion/affichage de la documentation sur une commande, la touche tab fait la meme chose dans le shell KhICAS (comme dans un terminal unix) et tab sert a re-indenter une ligne dans l'editeur de scripts. Une grande partie de l'aide est maintenant disponible en 5 langues (francais, anglais, espagnol, grec et allemand).
https://www-fourier.univ-grenoble-alpes.fr/~parisse/ti/khicas.zip
(Le source devrait aussi etre a jour.)
https://www-fourier.univ-grenoble-alpes.fr/~parisse/ti/khicas.zip
(Le source devrait aussi etre a jour.)
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3663
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
Mise a jour (https://www-fourier.univ-grenoble-alpes ... khicas.zip) avec un mode examen fantome, i.e. qui ne fait pas clignoter les LEDs.
Quand ce mode est actif on ne peut plus consulter de documents utilisateurs et on ne peut plus quitter KhiCAS (sauf par reset de la calculatrice). Voici comment activer le mode examen de KhiCAS:
Appuyer sur la touche "calculatrice" (en-dessous de esc), cela ouvre le setup de KhiCAS puis sur la touche e^x. On demande la duree de l'examen en heures. Vous avez 3 possibilites:
L'idee est de montrer que la communaute peut produire du logiciel qui peut etre mis en conformite avec le mode examen (si on fait clignoter les LEDs bien sur), sans presenter plus de failles que le mode examen des constructeurs. Et en prime, suggerer des ameliorations: je pense qu'afficher le delai de temps restant est tres utile pour les eleves/etudiants qui n'ont pas toujours de montre (car ils utilisent leur smartphone pour ca mais en examen le smartphone n'est pas accessible). Et que forcer l'arret par connexion peut poser des problemes alors qu'un arret automatique du mode examen apres un delai egal a la duree de l'epreuve n'a pas cet inconvenient.
Quand ce mode est actif on ne peut plus consulter de documents utilisateurs et on ne peut plus quitter KhiCAS (sauf par reset de la calculatrice). Voici comment activer le mode examen de KhiCAS:
Appuyer sur la touche "calculatrice" (en-dessous de esc), cela ouvre le setup de KhiCAS puis sur la touche e^x. On demande la duree de l'examen en heures. Vous avez 3 possibilites:
- mettre un nombre positif: dans ce cas le mode examen se desactive sans connexion une fois le delai ecoule +3%. Le delai restant est affiche pendant toute la duree de l'examen dans la ligne d'etat. Ce mode n'est pas conforme a la reglementation francaise actuelle
- mettre 0: le mode examen ne peut etre desactive qu'en branchant sur un ordi. Taper menu menu pour desactiver le mode examen (ou bien calculatrice fleche vers le haut enter).
- mettre un nombre negatif (l'oppose du delai): le mode examen ne peut etre desactive qu'en branchant sur un ordi, le temps indicatif restant est affiche pendant toute la duree de l'examen.
L'idee est de montrer que la communaute peut produire du logiciel qui peut etre mis en conformite avec le mode examen (si on fait clignoter les LEDs bien sur), sans presenter plus de failles que le mode examen des constructeurs. Et en prime, suggerer des ameliorations: je pense qu'afficher le delai de temps restant est tres utile pour les eleves/etudiants qui n'ont pas toujours de montre (car ils utilisent leur smartphone pour ca mais en examen le smartphone n'est pas accessible). Et que forcer l'arret par connexion peut poser des problemes alors qu'un arret automatique du mode examen apres un delai egal a la duree de l'epreuve n'a pas cet inconvenient.
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3663
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
Superbe !
Dans une version finale, pour la France (détection de la langue française comme fait NumWorks ?...), il faudrait ignorer le délai et n'autoriser la désactivation que par connexion externe.
Il me semble en effet essentiel pour une telle réalisation de respecter la réglementation actuelle à la lettre près.
Et bien sûr aussi, il faudrait que ça clignote...
Dans une version finale, pour la France (détection de la langue française comme fait NumWorks ?...), il faudrait ignorer le délai et n'autoriser la désactivation que par connexion externe.
Il me semble en effet essentiel pour une telle réalisation de respecter la réglementation actuelle à la lettre près.
Et bien sûr aussi, il faudrait que ça clignote...
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41981
- Images: 15887
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire
Je suis en train de tester l'ajout du support de l'interpreteur micropython a l'interieur de l'environnement KhiCAS. L'idee est de laisser l'utilisateur quel interpreteur il choisit pour evaluer sa ligne de commande.
Pour le moment c'est juste un prototype pour tester l'idee et l'interet que ca suscite. S'il y a de l'interet on peut surement ajouter des modules au portage existant de micropython, ceux existant chez les constructeurs (a commencer par (u)random, mais aussi les modules graphiques et graphique dans un repere) et pourquoi pas un module de calcul formel. Apres on pourrait le porter aussi chez Numworks.
Sur le prototype, le passage de l'interpreteur Xcas a Python se fait en tapant python (enter), le retour vers Xcas en tapant xcas (enter).
Pour le moment c'est juste un prototype pour tester l'idee et l'interet que ca suscite. S'il y a de l'interet on peut surement ajouter des modules au portage existant de micropython, ceux existant chez les constructeurs (a commencer par (u)random, mais aussi les modules graphiques et graphique dans un repere) et pourquoi pas un module de calcul formel. Apres on pourrait le porter aussi chez Numworks.
Sur le prototype, le passage de l'interpreteur Xcas a Python se fait en tapant python (enter), le retour vers Xcas en tapant xcas (enter).
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3663
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Who is online
Users browsing this forum: ClaudeBot [spider] and 12 guests