π
<-
Chat plein-écran
[^]

Le module Python Turtle porté pour ta NumWorks !

En ligne

Le module Python Turtle porté pour ta NumWorks !

Message non lude critor » 05 Nov 2018, 20:30

Pour la rentrée 2019, selon le nouveau programme de
Physique-Chimie
de la
Seconde Générale et Technologique
, il faudra programmer des tracés en langage
Python
:
  • mouvement plan d'un objet ponctuel
  • nuage de points
  • vecteurs vitesse et variations
C'est bien, puisque ta
NumWorks
est la seule calculatrice à permettre tout ça, et depuis bien longtemps grâce à son module graphique
kandinsky
. :bj:

Mais le tracé de la flèche d'un vecteur avec des instructions graphiques absolues est algorithmiquement tout sauf trivial à un niveau Seconde.

Une solution peut être l'utilisation d'un module
Python
offrant des instructions graphiques relatives, que les élèves ont été habitués à utiliser pendant toute leur scolarité au collège avec le langage
Scratch
, comme par exemple le module
turtle
.

Et bien ça tombe bien, puisque vient tout juste de porter le module
turtle
sur ta calculatrice
NumWorks
pendant ces vacances ! :bj:

Un portage d'excellente facture puisque Jean-Baptiste est même aller jusqu'à l'intégrer à la perfection, en listant et décrivant correctement le module et ses nouvelles fonctions apportées dans la boîte à outils ! :)

La liste très complète de fonctions permet même de contrôler la taille et la couleur du stylo de la tortues, pour de très larges possibilités de tracés : :bj:
Code: Tout sélectionner
from turtle import *
def spiral(N_iteration):
  N_iteration *= 25
  for i in range(N_iteration):
# Change pen color
    gray=255-(i*255/N_iteration)
    pencolor(int(gray),int(gray*0.75),int(gray*0.25))
# Draw a segment of the spiral
    forward(i*0.1)
    left(10)

9889Il est parfaitement possible de rajouter ce module à une vraie calculatrice : :)
Code: Tout sélectionner
from kandinsky import *
from turtle import *
pensize(1)
def starx(a,s,d):
  h0=0
  h=h0
  a0=a
  while a==a0 or (h-h0)%360 or (a-a0)%360:
    forward(d)
    left(a)
    h+=a
    a+=s

Toutefois, cela implique à ce jour la programmation d'un
firmware
non officiel, ce qui bien que relativement simple n'est absolument pas une solution pérenne. :#non#:
Espérons donc que ce module ou un équivalent sera bientôt intégré au
firmware
officiel.


Téléchargement
:
firmware
1.8.0 bêta
précompilé avec ce module
(installable facilement via https://devanlai.github.io/webdfu/dfu-util/ )


Liens
:
soumission au firmware officiel avec code source

Source
:
viewtopic.php?f=102&t=21922
Image
Avatar de l’utilisateur
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 77.3%
 
Messages: 30714
Images: 7278
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Le module Python Turtle porté pour ta NumWorks !

Message non lude jean-baptiste boric » 05 Nov 2018, 20:48

En fait, je suis en train de refaire ma pull request en ré-implémentant la tortue en Python pour des raisons techniques (y'a beaucoup trop de glue sinon), ça va rajouter du délai avant de pouvoir merger la tortue dans epsilon... :whistle:

Cependant, ça permettra (enfin!) d'avoir des primitives graphiques dignes de ce nom et la gestion du temps dans le Python de la NumWorks car la tortue va se reposer sur un kandinsky amélioré et un moignon de time. Malheureusement, l'absence d'une fonction à la getKey() limitera fortement les jeux vidéos réalisables avec, mais ça c'est pour une autre histoire pull request...
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 63.7%
 
Messages: 152
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié

Re: Le module Python Turtle porté pour ta NumWorks !

Message non lude Thom986 » 05 Nov 2018, 23:53

Passionnant à suivre. Merci.
La réalité, c'est ce qui refuse de disparaître quand on cesse d'y croire.
-
Philip K. Dick
Avatar de l’utilisateur
Thom986Premium
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 89.1%
 
Messages: 92
Inscription: 21 Fév 2018, 19:11
Genre: Homme
Calculatrice(s):
GitHub: homeostasie

Re: Le module Python Turtle porté pour ta NumWorks !

Message non lude ptitjoz » 08 Nov 2018, 10:07

bonjour
j'essaie de faire tourner cette rom sur ma Numworks
(mais je n'ai abslolument aucune expérience en la matière)

1) je suis sous Linux
2) j'ai installé Chrome et suivi le lien https://devanlai.github.io/webdfu/dfu-util/

le vendor ID je ne sais pas quoi choisir ... (donc je ne mets rien)

la calculatrice est reconnue avec connect

Image

et quand je j'essaie d'envoyer sur la machine
Copying data from browser to DFU device

DFU DOWNLOAD failed state=10, status=15

ça plante...
une idée ?

merci
Avatar de l’utilisateur
ptitjoz
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 39.8%
 
Messages: 31
Inscription: 17 Oct 2018, 15:38
Localisation: France Loir et Cher
Genre: Non spécifié
Calculatrice(s):
Twitter: @PtitJoz

En ligne

Re: Le module Python Turtle porté pour ta NumWorks !

Message non lude critor » 08 Nov 2018, 13:09

Je ne remplis même pas ce champ, je clique directement sur le bouton
Connect
et ensuite ça liste les périphériques compatibles détectés.

La calculatrice est à mettre en mode mise à jour
(branchement en USB puis bouton reset)
et est alors listée en tant que STM32.
Image
Avatar de l’utilisateur
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 77.3%
 
Messages: 30714
Images: 7278
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Le module Python Turtle porté pour ta NumWorks !

Message non lude ptitjoz » 08 Nov 2018, 14:57

Je n'y arrive pas la calculatrice est bien connectée et reconnue..
c'est bien le fichier epsilon.bin.rom à mettre en entrée je suppose ?
donc je ferme cet onglet et laisse Chrome ouvert

Si je compile la version 1.8.0 beta (j'ai récupéré le source)
Code: Tout sélectionner
make clean
make
make epsilon_flash


pour info j'avais installé dfu-util

Code: Tout sélectionner
Opening DFU capable USB device...
ID 0483:a291
Run-time device DFU version 0100
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0100
Device returned transfer size 2048
DfuSe interface name: "Flash"
Downloading to address = 0x08000000, size = 675834
Download        [=========================] 100%       675834 bytes
Download done.
File downloaded successfully
Transitioning to dfuMANIFEST state
rm epsilon.bin


la calculatrice est reconnue automatiquement et ça flash la calculatrice !
pour info si je tape ça
make PLATFORM=simulator clean
make PLATFORM=simulator
./epsilon.elf

j'obtiens la calculatrice virtuelle :)
Image
alors je pourrais compiler les sources de cette manière de Turtle mais je n'ai pas trouvé où les télécharger malgré les liens de Jean-Baptiste

Merci pour votre aide
Avatar de l’utilisateur
ptitjoz
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 39.8%
 
Messages: 31
Inscription: 17 Oct 2018, 15:38
Localisation: France Loir et Cher
Genre: Non spécifié
Calculatrice(s):
Twitter: @PtitJoz

Re: Le module Python Turtle porté pour ta NumWorks !

Message non lude jean-baptiste boric » 08 Nov 2018, 17:56

ptitjoz a écrit:alors je pourrais compiler les sources de cette manière de Turtle mais je n'ai pas trouvé où les télécharger malgré les liens de Jean-Baptiste

La version courte (sans Git): il suffit de visiter sur mes branches sur GitHub et de télécharger une archive ZIP avec le bouton vert "Clone or Download" (ou trafiquer l'URL pour récupérer une archive TAR.GZ):

La version longue et propre (avec Git): il faut:

J'ai pas testé les commandes pour la version Git, mais ça doit être correct.
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 63.7%
 
Messages: 152
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié

Re: Le module Python Turtle porté pour ta NumWorks !

Message non lude ptitjoz » 08 Nov 2018, 18:30

Bonsoir
j'ai essayé la version "courte"
et ça fonctionne :) un grand merci
Image
je n'ai pas tout compris pour la version longue mais ce n'est pas une urgence

NB en compilant il y a quelques warning. Je pense que tu es au courant.

Bien à toi
Avatar de l’utilisateur
ptitjoz
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 39.8%
 
Messages: 31
Inscription: 17 Oct 2018, 15:38
Localisation: France Loir et Cher
Genre: Non spécifié
Calculatrice(s):
Twitter: @PtitJoz

Re: Le module Python Turtle porté pour ta NumWorks !

Message non lude telpe51 » 08 Nov 2018, 19:19

Bonsoir,
Je me lance à essayer d'installer le firmware 1.8 avec le module turtle : avec Chrome j'ai suivi le lien https://devanlai.github.io/webdfu/dfu-util/ que Critor a indiqué et après branchement et reset j'obtiens bien le choix STM32 que je clique. J'ai alors une liste de choix à cocher :

Your device has multiple DFU interfaces. Select one from the list below:
DFU: cfg=1, intf=0, alt=0, name="@Internal Flash /0x08000000/04*016Kg,01*064Kg,07*128Kg"
DFU: cfg=1, intf=0, alt=1, name="@Option Bytes /0x1FFFC000/01*016 e"
DFU: cfg=1, intf=0, alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e"
DFU: cfg=1, intf=0, alt=3, name="@Device Feature/0xFFFF0000/01*004 e"
Select interface

Comme je n'y connais rien et que je ne veux pas faire de bêtise je n'ose tester un de ces choix (j'aurais bien tenté "internal Flash" ...).
Pourriez-vous m'indiquer quel choix je dois faire ? Merci. (Et après je cherche la rom que j'ai téléchargée là download/file.php?id=4232, si j'ai bien compris).
Avatar de l’utilisateur
telpe51
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Prochain niv.: 0%
 
Messages: 18
Inscription: 18 Nov 2017, 12:31
Genre: Non spécifié
Calculatrice(s):

Re: Le module Python Turtle porté pour ta NumWorks !

Message non lude jean-baptiste boric » 08 Nov 2018, 19:37

ptitjoz a écrit:NB en compilant il y a quelques warning. Je pense que tu es au courant.

En réalité, ce sont des warnings qui ne viennent pas de mes modifications mais de NumWorks. Il y a une raison pourquoi ils ont publié la version 1.7.1 mi-octobre en se basant sur la version 1.7.0 de septembre au lieu de la branche master : leurs refactorings n'étaient (et ne sont toujours pas complètement) terminés.

L'image me fait penser que c'est la version v1 que tu as compilé ; la version v2 est plus mature/propre/stable et permet notamment d'interrompre le tracé de la tortue à tout moment. Je laisse un firmware pré-compilé de cette version en pièce jointe.

telpe51 a écrit:Comme je n'y connais rien et que je ne veux pas faire de bêtise je n'ose tester un de ces choix (j'aurais bien tenté "internal Flash" ...).
Pourriez-vous m'indiquer quel choix je dois faire ? Merci. (Et après je cherche la rom que j'ai téléchargée là download/file.php?id=4232, si j'ai bien compris).

C'est "Internal Flash" en effet. Je pense que les autres options échoueront tout simplement sans rien casser, de toutes manières la calculette NumWorks est pour ainsi dire pratiquement incassable logiciellement par construction : le bootloader du STM32 (branchement par USB + bouton reset) arrivera toujours à se lancer sauf problème matériel majeur.
Fichiers joints
epsilon.bin.rom
(666.14 Kio) Téléchargé 6 fois
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 63.7%
 
Messages: 152
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié

Suivante

Retourner vers News NumWorks

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités

-
Rechercher
-
Sujets à la une
Triconcours universel de la rentrée - 2000 euro de prix !
"NumWorks++": Challenge de modification matérielle pour rajouter une puce de mémoire Flash !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
Transforme ta TI-Nspire CX en console Game Boy Advance!
123456
-
Donations/Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
PayPal : paiement en ligne sécurisé - secure online payments
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety 
-
Stats.
428 utilisateurs:
>403 invités
>19 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)