85 lines
4.3 KiB
Python
85 lines
4.3 KiB
Python
# This runs a sequence of LocoNet Transponding messages and records what happens to
|
|
# the associated reporter objects
|
|
|
|
import java
|
|
import jmri
|
|
|
|
connectionIndex = 0
|
|
shortDelay = 1500
|
|
longDelay = 3000
|
|
|
|
lr1002 = reporters.provide("LR1002")
|
|
lr216 = reporters.provide("LR216")
|
|
lr218 = reporters.provide("LR218")
|
|
|
|
class ReporterListener(java.beans.PropertyChangeListener):
|
|
def propertyChange(self, event):
|
|
print "Reporter",event.source, "property", event.propertyName, "changed, was:", event.oldValue, "now:", event.newValue
|
|
if (event.source.getCurrentReport() == None) : show = "None"
|
|
else: show = event.source.getCurrentReport().toReportString()
|
|
print " current toReportString ", show
|
|
if (event.source.getLastReport() == None) : show = "None"
|
|
else: show = event.source.getLastReport().toReportString()
|
|
print " last toReportString ", show
|
|
print "tag LD2200 last seen", ld2200.getWhereLastSeen()
|
|
|
|
lr1002.addPropertyChangeListener(ReporterListener())
|
|
lr216.addPropertyChangeListener(ReporterListener())
|
|
lr218.addPropertyChangeListener(ReporterListener())
|
|
|
|
|
|
# tags have already been created and are in the tags XML file, so don't create here
|
|
idTagManager = jmri.InstanceManager.getDefault(jmri.IdTagManager)
|
|
ld2200 = idTagManager.provide("LD2200")
|
|
|
|
class TagListener(java.beans.PropertyChangeListener):
|
|
def propertyChange(self, event):
|
|
print "IdTag",event.source, "property", event.propertyName, "changed, was:", event.oldValue, "now:", event.newValue
|
|
|
|
ld2200.addPropertyChangeListener(TagListener())
|
|
|
|
class RunTest(jmri.jmrit.automat.AbstractAutomaton) :
|
|
def init(self) :
|
|
l = jmri.jmrix.loconet.LocoNetMessage([0xD0, 0x27, 0x69, 0x11, 0x18, 0x68])
|
|
print "\nSending ",l, "Transponder address 2200 present at LR1002"
|
|
jmri.InstanceManager.getList(jmri.jmrix.loconet.LocoNetSystemConnectionMemo).get(connectionIndex).getLnTrafficController().sendLocoNetMessage(l)
|
|
self.waitMsec(shortDelay)
|
|
l = jmri.jmrix.loconet.LocoNetMessage([0xD0, 0x01, 0x59, 0x11, 0x18, 0x68])
|
|
print "\nSending ",l, "Transponder address 2200 absent at LR218"
|
|
jmri.InstanceManager.getList(jmri.jmrix.loconet.LocoNetSystemConnectionMemo).get(connectionIndex).getLnTrafficController().sendLocoNetMessage(l)
|
|
|
|
self.waitMsec(longDelay)
|
|
print "\n"
|
|
|
|
l = jmri.jmrix.loconet.LocoNetMessage([0xD0, 0x21, 0x57, 0x11, 0x18, 0x68])
|
|
print "\nSending ",l, "Transponder address 2200 present at LR216"
|
|
jmri.InstanceManager.getList(jmri.jmrix.loconet.LocoNetSystemConnectionMemo).get(connectionIndex).getLnTrafficController().sendLocoNetMessage(l)
|
|
self.waitMsec(shortDelay)
|
|
l = jmri.jmrix.loconet.LocoNetMessage([0xD0, 0x07, 0x69, 0x11, 0x18, 0x68])
|
|
print "\nSending ",l, "Transponder address 2200 absent at LR1002"
|
|
jmri.InstanceManager.getList(jmri.jmrix.loconet.LocoNetSystemConnectionMemo).get(connectionIndex).getLnTrafficController().sendLocoNetMessage(l)
|
|
|
|
self.waitMsec(longDelay)
|
|
print "\n"
|
|
|
|
l = jmri.jmrix.loconet.LocoNetMessage([0xD0, 0x27, 0x69, 0x11, 0x18, 0x68])
|
|
print "\nSending ",l, "Transponder address 2200 present at LR1002"
|
|
jmri.InstanceManager.getList(jmri.jmrix.loconet.LocoNetSystemConnectionMemo).get(connectionIndex).getLnTrafficController().sendLocoNetMessage(l)
|
|
self.waitMsec(shortDelay)
|
|
l = jmri.jmrix.loconet.LocoNetMessage([0xD0, 0x01, 0x57, 0x11, 0x18, 0x68])
|
|
print "\nSending ",l, "Transponder address 2200 absent at LR216"
|
|
jmri.InstanceManager.getList(jmri.jmrix.loconet.LocoNetSystemConnectionMemo).get(connectionIndex).getLnTrafficController().sendLocoNetMessage(l)
|
|
|
|
self.waitMsec(longDelay)
|
|
print "\n"
|
|
|
|
l = jmri.jmrix.loconet.LocoNetMessage([0xD0, 0x21, 0x59, 0x11, 0x18, 0x68])
|
|
print "\nSending ",l, "Transponder address 2200 present at LR218"
|
|
jmri.InstanceManager.getList(jmri.jmrix.loconet.LocoNetSystemConnectionMemo).get(connectionIndex).getLnTrafficController().sendLocoNetMessage(l)
|
|
self.waitMsec(shortDelay)
|
|
l = jmri.jmrix.loconet.LocoNetMessage([0xD0, 0x07, 0x69, 0x11, 0x18, 0x68])
|
|
print "\nSending ",l, "Transponder address 2200 absent at LR1002 "
|
|
jmri.InstanceManager.getList(jmri.jmrix.loconet.LocoNetSystemConnectionMemo).get(connectionIndex).getLnTrafficController().sendLocoNetMessage(l)
|
|
|
|
RunTest().start()
|