Windows 7 コンピューターで Psychopy v1.82.01 (コーダー ビュー) を使用して fMRI 実験を実行しています。パラレル ポートから readData() を使用したいと思います (ボタンの押下を記録し、スキャナーからトリガーを受信して同期するため)。ただし、readData() または readPin() を使用すると、すべてのピンがロー ('0') のままのようです。
健全性チェックのために、プレゼンテーションのポートからデータを読み取ろうとしました (デバイスが動作しているか、アドレスが正しいかなどを確認するため)。これにより、ボタンの押下が認識されます。奇妙なことに、PsychoPy シェル (readData() と readPin() を使用) を使用していて、プレゼンテーションが開いていて、「ポート テスト」ウィンドウが開いている場合、機能します! また、Presentation からポートにデータを送信すると、PsychoPy でこれを読み取ることができます (したがって、コードが問題ないと確信しています)。setData() 関数は正常に動作します。データの読み取りに問題があるだけです。
私が使用しているコードは次のとおりです。
from psychopy import parallel
button = parallel.ParallelPort(0x2010)
while True:
if button.readPin(5) !=0:
break
print 'value received'
パラレル ポートや、パラレル関数の「舞台裏」の動作についてはあまり自信がありませんが、ポートの読み取りにある種のアクセスの問題があり、プレゼンテーションがポートにアクセスしているときにオーバーライドされるようです。しかし、PsychoPy から使用している機能は、単独では管理できませんか? これは実現可能ですか?
これをどこから修正し始めるかについてのアイデアは大歓迎です!!