Ecriture d'un script...

Avez-vous déjà essayé d'écrire un script pour que votre loco effectue plusieurs actions programmées?
En voici un petit (ne pas écrire ce qui est en rouge):
import jarray
import jmri
class Test14(jmri.jmrit.automat.AbstractAutomaton) :
def handle(self):
loco= 71 Adresse de la loco
if loco<128 :
long=False
else :
long=True
self.throttle = self.getThrottle(loco, long)
self.waitMsec(200)Cette ligne revient souvent, c'est une temporisation, valeur entre parenthèse
self.throttle.setIsForward(True)
self.waitMsec(200)
self.throttle.setF0(True)allumage des feux
self.waitMsec(5000)
self.throttle.setF1(True)Son
self.waitMsec(5000)
v= 10 4 lignes indiquant la vitesse de la loco
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)
self.waitMsec(20000)
v= 15
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)
self.waitMsec(20000)
v= 10
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)
self.waitMsec(20000)
self.throttle.setF2(True)sifflet en marche
self.waitMsec(3000)
self.throttle.setF2(False)on lui coupe le sifflet !
self.waitMsec(5000)
v= 0
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)arrêt v=0
self.waitMsec(5000)
self.throttle.setIsForward(False)marche arrière
self.waitMsec(200)
v= 10
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)
self.waitMsec(45000)
v= 0
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)
self.waitMsec(5000)
self.throttle.setF1(False)coupure du son
self.waitMsec(5000)
self.throttle.setF0(False)extinction des feux
self.waitMsec(5000)
return 1
Test14().start()
Vous le créez à l'aide du bloc note, ensuite il faut l'enregistrer dans de dossier JMRI\jython sur votre disque dur, ajoutez l'extension ".py" après le nom (ex : essai.py).
Pour le lancer à l'aide de Decoder Pro, sous l'onglet "Panneaux" vous choisissez "Run Script". Une fenêtre s'ouvre et vous ouvrez le fichier que vous avez enregistré.
En voici un petit (ne pas écrire ce qui est en rouge):
import jarray
import jmri
class Test14(jmri.jmrit.automat.AbstractAutomaton) :
def handle(self):
loco= 71 Adresse de la loco
if loco<128 :
long=False
else :
long=True
self.throttle = self.getThrottle(loco, long)
self.waitMsec(200)Cette ligne revient souvent, c'est une temporisation, valeur entre parenthèse
self.throttle.setIsForward(True)
self.waitMsec(200)
self.throttle.setF0(True)allumage des feux
self.waitMsec(5000)
self.throttle.setF1(True)Son
self.waitMsec(5000)
v= 10 4 lignes indiquant la vitesse de la loco
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)
self.waitMsec(20000)
v= 15
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)
self.waitMsec(20000)
v= 10
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)
self.waitMsec(20000)
self.throttle.setF2(True)sifflet en marche
self.waitMsec(3000)
self.throttle.setF2(False)on lui coupe le sifflet !
self.waitMsec(5000)
v= 0
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)arrêt v=0
self.waitMsec(5000)
self.throttle.setIsForward(False)marche arrière
self.waitMsec(200)
v= 10
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)
self.waitMsec(45000)
v= 0
vitesse=float(v)/100
self.throttle.setSpeedSetting(vitesse)
self.waitMsec(5000)
self.throttle.setF1(False)coupure du son
self.waitMsec(5000)
self.throttle.setF0(False)extinction des feux
self.waitMsec(5000)
return 1
Test14().start()
Vous le créez à l'aide du bloc note, ensuite il faut l'enregistrer dans de dossier JMRI\jython sur votre disque dur, ajoutez l'extension ".py" après le nom (ex : essai.py).
Pour le lancer à l'aide de Decoder Pro, sous l'onglet "Panneaux" vous choisissez "Run Script". Une fenêtre s'ouvre et vous ouvrez le fichier que vous avez enregistré.
