2008年4月21日月曜日

pyParallel で プリンタポートの制御

ちょっと脇にそれますが pyParallel で、プリンターポートを制御する例を。

pyParallelは、正式リリース版では無いので、自分が大切だと思う用途には使わないほうがいいと思います。
現に私の PC でも動作は、不安定で、動くことがあったとおもうと、動かなくなったりします。
今は動かないので、以下のコードは、動いていたときに確認したつもりですが。最終的に未確認です。

pyParallel が利用する simpleio.dll が windows にはじかれているようです。
この問題をどうにかする為に、私は、比較的(私の環境で)安定して動いている IO.dll を ctypes から利用することにしました。
これはまた後ほど。

LPT ポートの制御プログラムの確認には、同じく GeekHideoutParmon.exe を使っています。
プリンターポートのベースアドレスの値も、この Parmon からもらっています。

Java の更新のせいかリンクとか、うまく機能しないので、うまく動くようになったら本文修正します。

-------- Not checked ----------


import parallel

Par = parallel.Parallel()

Par.setData(0xAA)

Par.setDataStrobe(1)
Par.setAutoFeed(0)
Par.setInitOut(1)
Par.setSelect(0)

a = Par.getInError()
print a
a = Par.getInSelected()
print a
a = Par.getInPaperOut()
print a
a = Par.getInAcknowledge()
print a
a = Par.getInBusy()
print a

0 件のコメント: