π
<-

Le module Python Turtle porté pour ta NumWorks !

Le module Python Turtle porté pour ta NumWorks !

Unread postby Admin » 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 jean-baptiste boric 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: Select all
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: Select all
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
 
Ce compte ne reçoit pas de MP / This account does not receive PMs.
User avatar
AdminAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 1%
 
Posts: 460
Images: 28
Joined: 30 Aug 2011, 11:00
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby 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...
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

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

Unread postby 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
User avatar
Thom986Premium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 54.5%
 
Posts: 357
Joined: 21 Feb 2018, 19:11
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: homeostasie

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

Unread postby ptijoz » 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
Un peu poète, un peu geek, un peu rêveur, un peu écolo.
https://joz.alwaysdata.net/info/
User avatar
ptijoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 34.2%
 
Posts: 334
Images: 0
Joined: 17 Oct 2018, 15:38
Location: France Loir et Cher
Gender: Male
Calculator(s):
MyCalcs profile
Class: a la poursuite du vent et des etoiles.

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

Unread postby 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby ptijoz » 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: Select all
make clean
make
make epsilon_flash


pour info j'avais installé dfu-util

Code: Select all
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
Un peu poète, un peu geek, un peu rêveur, un peu écolo.
https://joz.alwaysdata.net/info/
User avatar
ptijoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 34.2%
 
Posts: 334
Images: 0
Joined: 17 Oct 2018, 15:38
Location: France Loir et Cher
Gender: Male
Calculator(s):
MyCalcs profile
Class: a la poursuite du vent et des etoiles.

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

Unread postby jean-baptiste boric » 08 Nov 2018, 17:56

ptitjoz wrote: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.
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

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

Unread postby ptijoz » 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
Un peu poète, un peu geek, un peu rêveur, un peu écolo.
https://joz.alwaysdata.net/info/
User avatar
ptijoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 34.2%
 
Posts: 334
Images: 0
Joined: 17 Oct 2018, 15:38
Location: France Loir et Cher
Gender: Male
Calculator(s):
MyCalcs profile
Class: a la poursuite du vent et des etoiles.

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

Unread postby 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).
User avatar
telpe51VIP++
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 14.1%
 
Posts: 63
Images: 1
Joined: 18 Nov 2017, 12:31
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby jean-baptiste boric » 08 Nov 2018, 19:37

ptitjoz wrote: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 wrote: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.
You do not have the required permissions to view the files attached to this post.
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

Next

Return to News NumWorks

Who is online

Users browsing this forum: No registered users and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
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.
787 utilisateurs:
>751 invités
>26 membres
>10 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)