Page 8 of 12

Re: Sortie/test TI-Nspire CX II 5.2 Python + QCC 2020 épilog

Unread postPosted: 17 Sep 2020, 22:22
by Pavel
Super! Merci beaucoup pour ce test!

Je pense que les fonctions send et getStr du module ti_innovator peuvent être utilisées pour communiquer avec micro:bit:
Code: Select all
from ti_innovator import send, getStr
send('')
send('display.show(Image.HAPPY)')
send('accelerometer.get_values()')
print(getStr().split('\r\n')[-2])

Je viens de tester ces commandes dans l'émulateur (TI-Nspire CX Student Software) et elles fonctionnent. J'espère qu'elles fonctionneront aussi sur la calculatrice.

Re: Sortie/test TI-Nspire CX II 5.2 Python + QCC 2020 épilog

Unread postPosted: 18 Sep 2020, 16:20
by Pavel
Après avoir joué avec les fonctions send et getStr pendant quelques heures, je trouve cette façon de communiquer avec micro:bit plus flexible que les modules (non) fournis par TI.

Par exemple, il est possible d'envoyer de petits programmes en Python et de les exécuter sur micro:bit indépendamment de TI-Nspire CX II. Voici un petit exemple qui fait clignoter un cœur sur l'écran micro:bit:
Code: Select all
code = '''
while(1):
    display.clear()
    sleep(500)
    display.show(Image.HEART)
    sleep(500)
'''
send('\x05') # enter paste mode (Ctrl-E)
send(code)
send('\x04') # exit paste mode (Ctrl-D)

Pendant que cette boucle infinie tourne sur micro:bit, on peut faire d'autres choses sur TI-Nspire CX II.

Pour arrêter cette boucle infinie, il suffit d'envoyer Ctrl-C:
Code: Select all
send('\x03') # interrupt (Ctrl-C)

On peut donc utiliser micro:bit comme co-processeur Python.

Re: Sortie/test TI-Nspire CX II 5.2 Python + QCC 2020 épilog

Unread postPosted: 18 Sep 2020, 16:28
by Lionel Debroux
C'est bien d'avoir fait ceci, qui était faisable pour le TI-Python Adapter et qui l'est pour pas mal d'autres boards Python similaires :)

Tant qu'on peut envoyer des octets arbitraires sur le port, on n'a pas forcément besoin que TI fournisse des modules spécifiques plus ou moins avancés et bien réalisés. Mais peut-être que comme ça permet de faire des choses bien, TI va enlever cette possibilité d'envoyer des octets arbitraires, comme ils ont enlevé l'accès au code natif sur TI-eZ80...

Re: Sortie/test TI-Nspire CX II 5.2 Python + QCC 2020 épilog

Unread postPosted: 21 Sep 2020, 19:40
by Hamza.S
Il y a un problème niveau numérotation on passe de 11 à 13, dans les chapitres.
Sinon lorsque je clique sur le lien 10 du sommaire ça ne fonctionne pas, je suis sur mobile.

Pour les 2, éditer serait compliqué

Re: Sortie/test TI-Nspire CX II 5.2 Python + QCC 2020 épilog

Unread postPosted: 21 Sep 2020, 20:01
by critor
Merci.

J'avais simplement prévu une partie sur ti_plotlib, et puis TI a sorti sans me laisser le temps de la rédiger.

Donc c'est au cas où je la rajoute un jour.

Re: Sortie/test TI-Nspire CX II 5.2 Python + QCC 2020 épilog

Unread postPosted: 22 Sep 2020, 21:04
by parisse
J'ai rapidement teste puisque j'ai achete une nspire cx ii. Je suis completement perdu entre les classeurs et les fichiers. J'arrive a acceder au Python officiel de TI avec Nouveau puis A Python, puis creer un fichier tst.py, dans le menu je choisis tester la syntaxe et enregistrer, mais ou est-il enregistre ce fichier? Je ne le vois pas dans le gestionnaire de fichiers. D'ailleurs s'il y etait, aurait-il une extension .py ou .py.tns?
Truc bizarre, si on fait une erreur sur le nombre d'arguments d'une commande d'un module comme ti-draw on a un trace back qui fait reference a un mysterieux repertoire python. Y-a-t-il une partie de l'arborescence qui est cachee?
Sinon, il y a effectivement des trucs pas mal pour l'aide a la saisie dans l'editeur, mais TI n'est pas en avance sur tout, loin de la, par exemple il n'y a pas de parenthese match et une fois les arguments entres pour une fonction si on veut modifier, je n'ai pas trouve comment on accede a de l'aide. Je doute un peu de la pertinence de mettre le module de trace graphique dans un sous-menu en laissant la priorite dans le menu aux modules hub et rover.
Au final, j'ai un peu l'impression que c'est sorti un peu avant d'etre completement finalise a cause de la rentree.

Re: Sortie/test TI-Nspire CX II 5.2 Python + QCC 2020 épilog

Unread postPosted: 22 Sep 2020, 21:11
by Ti64CLi++
Euh, tu as un dossier PyLib dans tes fichiers normalement si tu regardes ;)
Il contient notemment des fichiers tels que ti_hub, ti_image, etc

Re: Sortie/test TI-Nspire CX II 5.2 Python + QCC 2020 épilog

Unread postPosted: 22 Sep 2020, 21:31
by parisse
J'ai regarde la, mais je n'ai pas vu trace de mon fichier python.

Re: Sortie/test TI-Nspire CX II 5.2 Python + QCC 2020 épilog

Unread postPosted: 22 Sep 2020, 21:44
by Ti64CLi++
Ah non par contre ton fichier python ne sera pas là dedans. C'était ma réponse à l'autre partie de ton message, sur l'arborescence python cachée ;)
Pour ton fichier, les scripts Pythons sont internes au fichier tns. Donc quand tu l'enregistres, tu l'enregistres en fait dans ton classeur .tns. Il faut ensuite que tu enregistres ton classeurs tns ;)

Re: Sortie/test TI-Nspire CX II 5.2 Python + QCC 2020 épilog

Unread postPosted: 23 Sep 2020, 07:06
by parisse
C'est un defaut majeur a mon avis, d'abord parce que quand on choisit dans le menu Tester la syntaxe et sauvegarder, ben on s'attend a avoir une sauvegarde meme si on ne conserve pas le classeur.

Ca veut aussi dire que l'echange de scripts (entre la nspire et ordinateur et autres marques de calculatrices) est complexe voir impossible. En fait je ne peux meme pas acceder a mon script sur mon ordinateur, car la derniere version du logiciel ti-nspire ne fonctionne pas dessus, et celle qui fonctionne n'a evidemment pas le support pour les tns Python. Il ne va pas etre possible d'avoir des scripts python communs utilisables dans l'environnement natif de la Nspire et dans KhiCAS.

En plus les librairies proprietaires de TI n'ont guere de compatibilite avec ce qui existe. C'est donc une solution avec des caracteristiques proprietaires poussees (peut-etre volontairement) pour pieger l'utilisateur dans l'univers Nspire, je pense qu'il faut absolument le faire savoir.