π
<-
Chat plein-écran
[^]

importer module python (pour transformées de Laplace)

TI's micropython + modules

Re: importer module python (pour transformées de Laplace)

Unread postby parisse » 27 Sep 2020, 21:02

Adriweb wrote:Rajouter un api python(...) a l'interieur de la version nspire-lua de khicas permetrait de palier quelque peu a ce manque.

Si quelqu'un veut se lancer la-dedans, je suivrai bien sur le projet avec bienveillance. Mais il me semble que c'est beaucoup de travail, dupliquant en grande partie ce que j'ai fait avec le shell de KhiCAS, et ce serait inutilisable sur d'autres calculatrices, contrairement a mon interface.
Il y a plein d'autres choses qui me semblent plus interessantes, par exemple rajouter le support des images dans le module graphic de KhiCAS (meme si on ne pourra pas s'en servir sur une Numworks, pour le moment en tout cas).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 32.9%
 
Posts: 2645
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: importer module python (pour transformées de Laplace)

Unread postby parisse » 27 Sep 2020, 21:15

Adriweb wrote:Travailler sur le logiciel ordi avec les fichiers tns qu'on a pu commencer sur ordi/calculatrice, puis qu'on a continuer d'utilisé sur ordi/calculatrice, est bien pratique, je sais que je faisais pas mal ca quand j'étais étudiant.

Mais on peut le faire avec KhiCAS. Il suffit d'utiliser Xcas sur son ordinateur ou Xcas pour Firefox sur son navigateur et d'exporter sa session pour TI Nspire, puis on la transfere sur la TI. L'interet de choisir KhiCAS c'est qu'on peut *aussi* exporter vers Numworks. Des eleves ayant certains des Numworks, d'autres des Nspire peuvent donc echanger des sessions entre eux (pas juste des scripts Python, qui en plus ne sont pas forcement compatibles).

C'est pour ca que je proposais d'ajouter python() a la version Lua (mais j'ai pas vérifié, est-ce que c'est deja censé marcher ?)

Pouvoir faire python(string,python) dans l'interface lua existante c'est trivial. Ce qui necessite du travail, c'est d'avoir l'ensemble des modules utiles pour l'enseignement dont 3 modules graphiques (pixel, repere, tortue) et d'avoir un UI pour l'edition de programmes + un shell. C'est precisement parce que faire ca en lua me paraissait tres complique et inutilisable ailleurs que je suis parti de l'interface pour les Casio et Numworks pour refaire l'UI de KhiCAS pour les nspire cx.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 32.9%
 
Posts: 2645
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: transformées de Laplace

Unread postby Adriweb » 28 Sep 2020, 01:32

Hamza.S wrote:Ce que tu souhaites faire n'est pas encore possible en python, Laplace retourne des expressions et non des nombres.


Bon en fait en explorant le python nspire, j'ai trouvé un moyen un peu contourné de faire ce que l'on voulait :D



Code: Select all
from ti_system import *
writeST("tmppy_","myBasicFunction(1,2,3)")
readST("tmppy_")


Y'a plus qu'a se faire un wrapper pythonesque et ca sera bon B-)
Image
MyCalcs
: Help the community's calculator documentations by filling out your calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 58.7%
 
Posts: 13611
Images: 1101
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Unread postby parisse » 28 Sep 2020, 06:52

Mouais, c'est complique et probablement tres inefficace (c'est quoi writeST et readST? Des fonctions de lecture/ecriture sur le systeme de fichiers?).
Python n'est pas concu pour faire du calcul avec des expressions. Si on veut en faire quand meme, il faut soit travailler avec des chaines pour communiquer avec le CAS (avec tous les inconvenients que ca pose), soit creer soi-meme son type et redefinir les operations arithmetiques de base dessus puis faire son propre noyau (mais je ne suis pas sur que la version de MicroPython de TI soit assez recente pour le faire, de memoire il faut la 1.12 au moins).
C'est quand meme beaucoup plus simple de travailler soit en TI-Basic soit avec KhiCAS en restant avec l'interpreteur de Xcas.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 32.9%
 
Posts: 2645
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: importer module python (pour transformées de Laplace)

Unread postby franky62217 » 28 Sep 2020, 08:57

je viens d'écrire à ti-cares français
TI nspire cas 2 T et Student software
User avatar
franky62217
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 56%
 
Posts: 22
Joined: 11 Sep 2020, 16:43
Gender: Male
Calculator(s):
Class: L2

Re: importer module python (pour transformées de Laplace)

Unread postby Hamza.S » 28 Sep 2020, 09:13

L'essentiel c'est que ça fonctionne. On a un moyen d'appeler une fonction Basic qui retourne des expressions depuis python.

Après par quelle magie il a trouvé ça ? On ne sait pas encore.
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 16.6%
 
Posts: 4238
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):

Re: importer module python (pour transformées de Laplace)

Unread postby parisse » 28 Sep 2020, 10:00

Hamza.S wrote:L'essentiel c'est que ça fonctionne. On a un moyen d'appeler une fonction Basic qui retourne des expressions depuis python.

Ca ne retourne surement pas une expression dans MicroPython. Plutot une chaine de caracteres, non? Du coup quel avantage a utiliser ca plutot que caseval du module cas de KhiCAS qui est autrement plus simple?
Sauf bien sur si vous voulez utiliser une fonction ti-basic qui n'a pas d'equivalent dans le CAS de KhiCAS, mais s'il s'agit de programmer pour faire des maths, c'est plutot Xcas qui est plus complet que le CAS de la Nspire!
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 32.9%
 
Posts: 2645
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: importer module python (pour transformées de Laplace)

Unread postby Adriweb » 28 Sep 2020, 12:56

Ce topic n'a a la base pas de lien avec KhiCas vu que la question était de faire ça avec les moyens du bord proposés par TI, donc je réponds à la question sans Khicas :p Je ne doute pas qu'on puisse faire librement davantage de choses si on se cantonne à l'environnement khicas vu qu'on a un MicroPython plus recent, mais perso si j'ai des maths à faire, je lance Wolfram Alpha/Mathematica Online/le logiciel Nspire (et je dois être un cas particulier; la plupart des gens n'utilisent sûrement qu'un seul truc, donc la portabilité de leur création n'intéresse probablement pas grand monde, sauf les enseignants peut être, dont il faut bien que leur fichiers puissent être ouvert sur un maximum de plateforme)

Dans readST/writeST, ST signifie Symbol Table (la couche appelée ainsi par TI pour gérer les variables dans le classeur). Ce sont juste des alias de read_value et store_value il me semble (mais plus bas niveau, sams les checks de type python en entrée...?), tout comme eval_function est en fait un alias de evalFunc. J'ai trouvé ça juste avec un dir() après import :p

En tout cas cela veut aussi dire que si les syscalls correspondant à ces 3 fonctions sont trouvés, khicas peut simplement aller lire/écrire des variables basic, et évaluer des fonctions basic. Ce qui serait pas mal pour une intégration avec l'os. Un appel direct depuis le micropython intégré devrait même convenir si l'abi est suffisamment stable (ça j'en sais rien, faut tester)

Comme autre fonctions intéressantes potentiellement (je crois que ça ajuste les types correctement), y'a celles avec les listes (et matrices? Je sais plus). Bref du coup on a au moins number/list/string d'interoperables. Mais je confirme que le evalFunc force en numérique par contre, même sur CAS (mais c'est pas bien grave si de l'autre côté, la fonction basic retourne un string d'une valeur exacte/symbolique :p)

En tout cas, je vais faire un wrapper qui prend des arguments variadiques etc ça devrait être pas si mal.
Image
MyCalcs
: Help the community's calculator documentations by filling out your calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 58.7%
 
Posts: 13611
Images: 1101
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Unread postby Hamza.S » 28 Sep 2020, 13:20

Je parlais pour la fonction écrit en Basic qui retourne une expression.
Le Python ne retourne pas si facilement des expressions mais si on peut récupérer l'expression sous forme de chaîne de caractères c'est déjà très intéressant.
Oui Xcas est plus complet que le Nspire CAS.
Ça fait 5 ans que je me plains chez eux pour qu'ils rajoutent Laplace et Fourrier car les élèves et étudiants en électrotechnique utilisent ces fonctions.
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 16.6%
 
Posts: 4238
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):

Re: importer module python (pour transformées de Laplace)

Unread postby parisse » 28 Sep 2020, 13:21

Adriweb wrote:Ce topic n'a a la base pas de lien avec KhiCas vu que la question était de faire ça avec les moyens du bord proposés par TI, donc je réponds à la question sans Khicas :p

A la base, c'etait une question sur la possibilite d'utiliser la transformee de Laplace depuis Python.
C'est pour cela que je suis revenu (avec insistance) montrer que c'est tres simple avec KhiCAS.

Dans readST/writeST, ST signifie Symbol Table (la couche appelée ainsi par TI pour gérer les variables dans le classeur). Ce sont juste des alias de read_value et store_value il me semble, tout comme eval_function est en fait un alias de evalFunc. J'ai trouvé ça juste avec un dir() après import :p

dans ce cas ca ne doit pas etre trop inefficace.

En tout cas cela veut aussi dire que si les syscalls correspondant à ces 3 fonctions sont trouvés, khicas peut simplement aller lire/écrire des variables basic, et évaluer des fonctions basic. Ce qui serait pas mal pour une intégration avec l'os. Un appel direct depuis le micropython intégré devrait même convenir si l'abi est suffisamment stable (ça j'en sais rien, faut tester)

On peut sans doute le faire si on sait comment appeler l'OS de la Nspire, mais ca restera specifique a la TI. Et comme je l'ai deja dit, les possibilites mathematiques de KhiCAS surpassent celles de la Nspire, alors je ne vois pas l'interet de passer du temps la-dessus pour in fine favoriser l'ecriture de programmes Python non portables. Maintenant si quelqu'un a envie de le faire, je ne vois aucun inconvenient a ajouter le source correspondant dans KhiCAS.

En tout cas, je vais faire un wrapper qui prend des arguments variadiques etc ça devrait être pas si mal.

Ca pourrait effectivement etre interessant de ne pas avoir a tout convertir de et vers chaine comme dans caseval. On pourrait imaginer que caseval("string",arg1,..) parse la string puis appelle la fonction de nom string avec comme arguments arg1, ... et renvoie soit une chaine soit un objet supporte par MicroPython quand c'est possible.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 32.9%
 
Posts: 2645
Joined: 13 Dec 2013, 16:35
Gender: Not specified

PreviousNext

Return to Python

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Social
-
Featured topics
Concours de rentrée 2021 - La Geste d'Alrys
Concours de rentrée 2021 - Synchro-donjon !
Comparaisons des meilleurs prix pour acheter sa calculatrice !
25€ remboursés par Casio sur l'achat de ta calculatrice fx-CP400 d'ici le 31 Octobre 2021
Journées APMEP 2021 à l'IUT de Bourges les 24-25 Octobre. Viens rencontrer Casio, NumWorks, TI et Vittascience.
Coque NumWorks édition limitée Octobre 2021 à gagner.
123456
-
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.
519 utilisateurs:
>497 invités
>16 membres
>6 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)