Page 1 of 1

MicroPython & pyWrite : mise à jour + carte clavier

Unread postPosted: 15 Sep 2019, 22:22
by critor
Cette année pour tes matières scientifiques en Seconde, Première et de plus en plus d'autres cursus ainsi que les examens qui les ponctuent, il te faut le Python sur ta calculatrice graphique.

Ta TI-Nspire n'intègre hélas pas d'évaluateur Python, mais tu peux sous conditions en rajouter un, MicroPython. Oeuvre de Vogtinator, comme son nom l'indique il s'agit d'un portage de MicroPython, plus précisément dans sa version 1.4.6.

MicroPython, nécessite l'installation de Ndless.
Si tu disposes d'une TI-Nspire CX, il ne faut pas qu'elle ait été mise à jour avec la dernière version 4.5.1, car Texas Instruments y a bloqué l'installation de Ndless. :mj:

Pour ceux qui ont une TI-Nspire CX II ou ont déjà mis à jour leur TI-Nspire CX en version 4.5.1 il n'existe aucune solution à ce jour, même pas en privé. :#non#:


MicroPython est par contre utilisable sans condition sur les anciens modèles monochromes :
  • TI-Nspire
  • TI-Nspire CAS
  • TI-Nspire TouchPad
  • TI-Nspire CAS TouchPad

MicroPython te donne donc accès à une console Python.

Or à part pour de petits calculs simples, la console Python n'est pas pratique pour définir ou pire modifier des fonctions ou même scripts entiers.

Heureusement il y avait une solution en installant et utilisant l'un des éditeurs Python suivants :


11541Nous allons nous intéresser aujourd'hui à pyWrite.

pyWrite est construit autour d'un éditeur de texte très complet, avec entre autres la possibilité de sélectionner du texte avec la touche
shift
et le pavé tactile, et de le couper/copier/coller avec les combinaisons usuelles
ctrl
X
,
ctrl
C
et
ctrl
V
. :bj:

On apprécie également la possibilité d'exécuter directement le script saisi grâce au menu Run.

Pour cela il vaut mieux placer le fichier micropython.tns dans le dossier /ndless/. Sinon il faudra préciser le chemin à l'écran de réglages accessible via
ctrl
S
.

Toutefois en tant qu'éditeur Python par contre, on pourra reprocher une coloration syntaxique extrêmement balbutiante.

Egalement mais ça c'est un problème qui vient de MicroPython et non de l'éditeur, en fin d'exécution de script MicroPython ne rend pas la main mais se ferme. Il n'y a donc pas de retour à la console Python, ce qui incite à intégrer directement dans le script de définitions les appels accompagnés d'éventuelles instructions d'entrée/sortie, pas du tout dans l'esprit des programmes de Seconde et Première en cette rentrée 2019. :#non#:

La console MicroPython et l'éditeur pyWrite partagent un gros problème d'intuitivité pour la saisie clavier. Ils ne respectent pas du tout les inscriptions clavier de la calculatrice : :mj:
  • Pour saisir : par exemple, ce ne sera pas :nsct: :nsab: comme tu as l'habitude mais :nssh: :nssd: ! :o
  • Pour saisir { }, ce ne sera pas :nsct: :nspf: comme indiqué, mais :nssh: :nspf: :nsct: :nspf: ! :#roll#:
  • Pour saisir [ ], ce ne sera pas :nsct: :nspo: comme écrit, mais :nssh: :nspo: :nsct: :nspo: ! :'(
  • ...
Le pire étant que l'interpréteur et l'éditeur n'incluent aucun écran d'aide détaillant ces diverses fantaisies ! :mj:

Voici dès ce soir une solution pour une programmation Python désormais un peu plus agréable sur ta TI-Nspire, avec ci-contre la carte du clavier TI-Nspire CX/TouchPad pour l'utilisation de MicroPython et pyWrite ! :)

De plus, nous publions également pour ta calculatrice le programme py_keypad, qui te permettra d'inclure cette documentation directement dans ta TI-Nspire et ainsi de la conserver toujours sous la main ! :D

1154411545


11546Il n'est sans doute pas pratique en cas d'hésitations à la saisie d'avoir sans cesse à fermer MicroPython / pyWrite pour ouvrir py_keypad, puis le fermer pour relancer alors MicroPython / pyWrite.

Mais ne t'inquiète pas, c'est prévu, la touche
0
dans py_keypad te permettra d'exporter la carte clavier au format QR Code, pour un affichage sur ton smartphone que tu n'auras plus qu'à mettre à côté de ta calculatrice ! :bj:

Terminons avec un dernier léger problème. Si tu disposes d'une TI-Nspire CX CR4+ (révision matérielle W+ assemblée à partir d'octobre 2015), pyWrite t'embêtait au lancement jusqu'à présent avec une alerte concernant le mode de compatibilité Ndless.

Mais grâce à nbenm pyWrite est désormais mis à jour avec la version 0.3 qui n'a plus ce problème. :)


Téléchargements :

Source : viewtopic.php?f=17&t=15440&start=30#p245315

Re: MicroPython & pyWrite : mise à jour + carte clavier

Unread postPosted: 16 Sep 2019, 08:23
by Noury
Comme un enfant qui s'émerveille de beaucoup de choses, je suis épaté par la solution du QR Code.
C'est excellent, c'est une idée géniale !

J'aurais une petite réserve concernant le manque de contraste entre le jaune et le fond blanc.
Ça ne concernera pas beaucoup de monde, mais dans mon cas, j'ai un peu de mal.
J'avais d'ailleurs fait la même remarque au sujet de la HP Prime, et de ses caractères en orange sur fond blanc.
Peut-être que le RGB: 214, 145, 69 (soit: d69145 ) conviendrait de ce point de vue...

Re: MicroPython & pyWrite : mise à jour + carte clavier

Unread postPosted: 16 Sep 2019, 16:03
by critor
Merci pour ton retour, je vais voir ça. :)

En passant, py_keypad inclut un véritable générateur de QR Code en Lua.
Vous pouvez donc en reprendre le code, et remplacer l'adresse de l'image du clavier par autre chose. ;)

Re: MicroPython & pyWrite : mise à jour + carte clavier

Unread postPosted: 16 Sep 2019, 16:04
by Ti64CLi++
Donc le mieux serait d'intégrer les combinaisons les plus intuitives à PyWrite et Micropython.
Je réinstalle le SDK et je regarde ce que je peux faire ;)

Re: MicroPython & pyWrite : mise à jour + carte clavier

Unread postPosted: 16 Sep 2019, 16:21
by critor
Les 3 combinaisons que j'ai données ne sont qu'un détail (même si ça prouve que le clavier Nspire n'a pas du tout été pris en compte); les autres combinaisons donnent des caractères qui de toutes façons ne sont pas inscrits sur le clavier Nspire.

Ce qui manque donc dans tous les cas c'est un écran comme j'ai fait, mais directement intégré à MicroPython et/ou pyWrite.

Pour MicroPython, ça pourrait être simplement de rajouter l'entrée ici manquante builtins.help(), et de décrire les combinaisons dans le texte alors affiché.

Re: MicroPython & pyWrite : mise à jour + carte clavier

Unread postPosted: 16 Sep 2019, 16:26
by Ti64CLi++
Ok, je vois ce que je peux faire