リスナーの勉強を [python]
先日、自分で運転できないようなら面白さに欠けるとのコメントを頂き、
http://passingtrainslayout.blog.so-net.ne.jp/2013-05-11
自動運転と手動を併用できるようにやってみようと思い立ちました。出来る目算はないのですが。。。
まずはループを回して列車を見つけてましたが、
http://passingtrainslayout.blog.so-net.ne.jp/2013-05-07
変化を検知して動作するリスナーを使ってみようかと。おっさんには辛い勉強です。。。
先ずはリスナーの勉強からです。
始めてスクリプトを書いたときよりは少々理解が進んでいますので、当時はさっぱり分からなかったサンプルも理解できるようになってました。
import jarray
import jmri
class MyListener(java.beans.PropertyChangeListener):
def propertyChange(self, event):
if event.newValue == "":
print "out"
else:
print event.newValue
m = memories.provideMemory("IM:AUTO:0005")
a = MyListener()
m.addPropertyChangeListener(a)
IM:AUTO:0005のメモリー値(その区間にいる列車ID)に変化があったときに
そのIDを表示する、または、区間を抜けた場合はoutと表示するスクリプトです。
def 以下のところに、動作を書いていきます。信号現示を読み取り、スロットルを制御すれば。。。
でも、これを全区間に設定していく?のかなぁ。
あまりエレガントではないような。。。。
さてどうなりますやら。
http://passingtrainslayout.blog.so-net.ne.jp/2013-05-11
自動運転と手動を併用できるようにやってみようと思い立ちました。出来る目算はないのですが。。。
まずはループを回して列車を見つけてましたが、
http://passingtrainslayout.blog.so-net.ne.jp/2013-05-07
変化を検知して動作するリスナーを使ってみようかと。おっさんには辛い勉強です。。。
先ずはリスナーの勉強からです。
始めてスクリプトを書いたときよりは少々理解が進んでいますので、当時はさっぱり分からなかったサンプルも理解できるようになってました。
import jarray
import jmri
class MyListener(java.beans.PropertyChangeListener):
def propertyChange(self, event):
if event.newValue == "":
print "out"
else:
print event.newValue
m = memories.provideMemory("IM:AUTO:0005")
a = MyListener()
m.addPropertyChangeListener(a)
IM:AUTO:0005のメモリー値(その区間にいる列車ID)に変化があったときに
そのIDを表示する、または、区間を抜けた場合はoutと表示するスクリプトです。
def 以下のところに、動作を書いていきます。信号現示を読み取り、スロットルを制御すれば。。。
でも、これを全区間に設定していく?のかなぁ。
あまりエレガントではないような。。。。
さてどうなりますやら。
2013-05-14 09:06
nice!(0)
コメント(0)
トラックバック(0)
コメント 0