User Tools

Site Tools


srcp-scripting-fr
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


srcp-scripting-fr [2018/11/12 08:56] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== Les scripts SRCP ======
 +[[:france#rocrail|{{  :server.png}}]][[:france|{{  :rocrail-logo-35.png}}]]
 +[[france | Sommaire ]] -> [[france#rocrail|Le serveur Rocrail]]
 +  * [[:rocrail-server-scripting-fr|Les scripts RCP]] | **Les scripts SRCP**
 + \\
 +
 +
 +===== pyControl =====
 +  * http://srcpd.sourceforge.net/srcpd
 +
 +Pour utiliser pyControl télécharger les sources des développeurs de l'[[http://sourceforge.net/p/srcpd/code/HEAD/tree/|arbre SVN complet de srcpd!]] ou seulement les fichiers pour pyControl: 
 +  * [[http://sourceforge.net/p/srcpd/code/HEAD/tree/trunk/clients/pyControl/|pyControl - python client library for srcpd]]
 +  * [[http://sourceforge.net/p/srcpd/code/HEAD/tree/trunk/clients/pyControl/srcp.readme?format=raw|srcp.readme]]
 +  * [[http://sourceforge.net/p/srcpd/code/HEAD/tree/trunk/clients/pyControl/srcp.py?format=raw|srcp.py]] (voir note ci-dessous)
 +et les exemples:
 +  * [[http://sourceforge.net/p/srcpd/code/HEAD/tree/trunk/clients/pyControl/Lok.py?format=raw|Lok.py]]
 +  * [[http://sourceforge.net/p/srcpd/code/HEAD/tree/trunk/clients/pyControl/Keyboard.py?format=raw|Keyboard.py]]
 +  * [[http://sourceforge.net/p/srcpd/code/HEAD/tree/trunk/clients/pyControl/Keyboardflex.py?format=raw|Keyboardflex.py]]
 +  * [[http://sourceforge.net/p/srcpd/code/HEAD/tree/trunk/clients/pyControl/pyDemo_FB.py?format=raw|pyDemo_FB.py]]
 + \\
 +Note: srcp.py doit être au moins la version 0.9.2 et Rocrail 2.0 Rev 3506.\\
 +Si vous voulez utiliser Keyboard.py ou Keyboardflex.py et non tous les commutateurs définis dans Rocrail vous pouvez insérer la ligne suivante après la réussite de l'import de srcp:\\
 +  srcp.srcpcommand.setignore_412_416(1)
 +cela ignorera certaines erreurs/avertissements à propos de dispositifs non définis (voir également pyDemo_FB.py).
 +\\
 +\\
 +Voici un petit exemple (sans aucune vérification d'erreur):\\
 +  #!/usr/bin/env python
 +  
 +  import srcp
 +  import time
 +  
 +  SRCP_BUS=1
 +  
 +  # use switch/signal 2 and loco 3 (they have to exist in Rocrail)
 +  mySwitch = srcp.GA(SRCP_BUS, 2)
 +  myLoco = srcp.GL(SRCP_BUS, 3)
 +  
 +  # send some switch commands
 +  mySwitch.actuate(0,0)
 +  time.sleep(1)
 +  mySwitch.actuate(1,0)
 +  time.sleep(1)
 +  mySwitch.actuate(0,0)
 +  time.sleep(1)
 +  mySwitch.actuate(1,0)
 +  time.sleep(1)
 +  
 +  myLoco.setF(1,1) # set F1
 +  myLoco.send()    # send command
 +  time.sleep(1)    # wait a second
 +  myLoco.setF(2,1) # set F2
 +  myLoco.send()    # send command
 +  time.sleep(1)    # wait a second
 +  myLoco.setF(1,0) # reset F1
 +  myLoco.setF(2,0) # reset F2
 +  myLoco.send()    # send above commands together
  
srcp-scripting-fr.txt · Last modified: 2018/11/12 08:56 by 127.0.0.1