question sur script JMRI

Rubrique dédiée aux applications JMRI.

Animateurs: XTof_vl, Rodolphe, Lionel

Re: question sur script JMRI

Messagepar JPGO
01 Déc 2017, 23:06

Y'a pas à dire, c'est user friendly!
:) :)
JPGO
 
Messages: 346
Enregistré le: 22 Jan 2015, 11:53

Re: question sur script JMRI

Messagepar BURLINGTON
02 Déc 2017, 08:25

Plutôt que d'être sarcastique, il serait plus intéressant d'être constructif :roll:
Les scripts sont une des possibilités JMRI qui ne nécessitent pour leur fonctionnement aucune connaissance du réseau.
Pas de description ni de rétrosignalisation.
Pour un fonctionnement à la TC, il a ce qu'il faut.
Bref merci pour la forme d'aide que tu distilles, à ton l'habitude sur les forums :siffle:
Modifié en dernier par BURLINGTON le 02 Déc 2017, 08:29, modifié 2 fois.
PREVOST Alain
Avatar de l’utilisateur
BURLINGTON
Riveteur de laiton
 
Messages: 5662
Âge: 70
Enregistré le: 13 Déc 2007, 21:40
Localisation: Au pays des lentilles AOC

Re: question sur script JMRI

Messagepar BURLINGTON
02 Déc 2017, 08:28

BR212 a écrit:Bonjour ,Le même mais in french.
...

Merci pour la traduction des commentaires mais c'est plutôt l'intégration de la boucle qui m’intéresse. ;)
PREVOST Alain
Avatar de l’utilisateur
BURLINGTON
Riveteur de laiton
 
Messages: 5662
Âge: 70
Enregistré le: 13 Déc 2007, 21:40
Localisation: Au pays des lentilles AOC

Re: question sur script JMRI

Messagepar JPGO
02 Déc 2017, 09:07

BURLINGTON a écrit:Plutôt que d'être sarcastique, il serait plus intéressant d'être constructif :roll:
Les scripts sont une des possibilités JMRI qui ne nécessitent pour leur fonctionnement aucune connaissance du réseau.
Pas de description ni de rétrosignalisation.
Pour un fonctionnement à la TC, il a ce qu'il faut.
Bref merci pour la forme d'aide que tu distilles, à ton l'habitude sur les forums :siffle:


Si tu relis, j'ai commencé en répondant à la question posée: comment relancer automatiquement un script à la fin de son exécution.
Après seulement est venu se greffer ta question hors sujet .....
JPGO
 
Messages: 346
Enregistré le: 22 Jan 2015, 11:53

Re: question sur script JMRI

Messagepar BURLINGTON
02 Déc 2017, 09:28

Ma question est en plein rapport avec le sujet. Elle concerne le script JMRI et le fait que celui ci se poursuive après une exécution. La solution avec une boucle avec compteur est viable. Il suffit de savoir écrire le code.

Par contre tu es complétement HS avec Train Controler. :roll:

IL ne s'agit pas ici de comparer deux logiciels, l'un gratuit, l'autre très cher, mais de répondre à un besoin sur JMRI. Qu'il soit geek ou pas.

Bref, s'il te plaît, laisse les geek JMRI entre eux si tu ne peux pas leur apporter de solution :ange2: Merci.
PREVOST Alain
Avatar de l’utilisateur
BURLINGTON
Riveteur de laiton
 
Messages: 5662
Âge: 70
Enregistré le: 13 Déc 2007, 21:40
Localisation: Au pays des lentilles AOC

Re: question sur script JMRI

Messagepar Lionel
02 Déc 2017, 10:05

Bonjour;

entre enfants, et appel au sapin, je trouve le temps de répondre, d'après la doc de AbstractAutomaton, il suffit que la méthode handle http://jmri.org/JavaDoc/doc/jmri/jmrit/automat/AbstractAutomaton.html#handle-- retourne vrai pour être rappelée, donc, dans ton script, décommente :

Code: Tout sélectionner
           # self.waitMsec(10000)
           #return 1


Pour décommenter, on enlève les #, attention de respecter l'indententation des lignes au dessus!

et plutot que return 0, sans doute return True (pas le temps de tester). Et le self.waitMsec() à ajuster pour attendre un peu entre chaque rappel.

Lionel
Lionel
 
Messages: 24
Âge: 48
Enregistré le: 27 Avr 2011, 08:48
Localisation: France - Pau

Re: question sur script JMRI

Messagepar Lionel
02 Déc 2017, 10:12

Rapidement, tout le code pour le faire 10 fois (non testé, erreur de syntaxe probable)

Code: Tout sélectionner
import jarray
import jmri
class Test14(jmri.jmrit.automat.AbstractAutomaton) :
        n = 10
        def handle(self):

            loco = 984
            if loco<128 :
                  long=False
            else :
                  long=True
            self.throttle = self.getThrottle(loco, long)
            self.waitMsec(200)
            self.throttle.setIsForward(True)
            self.waitMsec(200)
           
            self.throttle.setF0(True)
            self.waitMsec(5000)
     
            v=50
            vitesse=float(v)/100
            self.throttle.setSpeedSetting(vitesse)
            self.waitMsec(39500)

            v=0
            vitesse=float(v)/100
            self.throttle.setSpeedSetting(vitesse)
            self.waitMsec(5000)

            self.throttle.setIsForward(False)
            self.waitMsec(200)
           
            v=50
            vitesse=float(v)/100
            self.throttle.setSpeedSetting(vitesse)
            self.waitMsec(39500)

            v=0
            vitesse=float(v)/100
            self.throttle.setSpeedSetting(vitesse)
            self.waitMsec(5000)

            self.throttle.setF0(False)

            self.waitMsec(10000)
            self.n = self.n - 1
            if (self.n == 0):
                  return False
            return True

Test14().start()

Lionel
 
Messages: 24
Âge: 48
Enregistré le: 27 Avr 2011, 08:48
Localisation: France - Pau

Re: question sur script JMRI

Messagepar JPGO
02 Déc 2017, 10:22

BURLINGTON a écrit:Ma question est en plein rapport avec le sujet. Elle concerne le script JMRI et le fait que celui ci se poursuive après une exécution. La solution avec une boucle avec compteur est viable. Il suffit de savoir écrire le code.


OK sur le fait que je suis hors sujet avec TC. Mea Culpa.

Par contre, une boucle se situe A L’INTÉRIEUR d'un programme. Écrire que le script se poursuit après une exécution est une aberration. "après exécution " signifie que l'on est sorti du programme (ou script).
JPGO
 
Messages: 346
Enregistré le: 22 Jan 2015, 11:53

Re: question sur script JMRI

Messagepar BURLINGTON
02 Déc 2017, 10:27

Lionel a écrit:Rapidement, tout le code pour le faire 10 fois (non testé, erreur de syntaxe probable) ...

Merci pour ta réponse constructive. ;)
Je testerai ça demain. Aujourd'hui c'est une journée familiale loin de l'ordi ;)
PREVOST Alain
Avatar de l’utilisateur
BURLINGTON
Riveteur de laiton
 
Messages: 5662
Âge: 70
Enregistré le: 13 Déc 2007, 21:40
Localisation: Au pays des lentilles AOC

Re: question sur script JMRI

Messagepar BURLINGTON
03 Déc 2017, 18:13

Merci Lionel ;)
La boucle fonctionne bien :cool:
PREVOST Alain
Avatar de l’utilisateur
BURLINGTON
Riveteur de laiton
 
Messages: 5662
Âge: 70
Enregistré le: 13 Déc 2007, 21:40
Localisation: Au pays des lentilles AOC

Précédente

Retourner vers JMRI

Qui est en ligne

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