psychopy.org | Reference | Downloads | Github

Parallel Port (Marker Check)

Hi Folks!
I want to monitor the marker send via a parallel port in psychopy. How can I check the marker? Thanking you in anticipation

You should be able to query the value currently set on the pins using myParallelPort.readData(), but if these are markers you’re sending then it’s probably easiest to store the value in a list before sending it.

Thanks, TParsons for the swift response. How can I see or monitor the markers? I am still confused.
port=parallel.ParallelPort(address=0x03BC)
port.readData()
Grateful!

Why and when do you want to monitor the marker values through Psychopy? Is it just for debugging? Do you need to see them simultaneously, at the time the markers are set?

The easiest way to see the marker values would be to log them. However, then you would only be able to see them retrospectively in the Runner stdout or in your logging file (whenever logging.flush() is called). The advantage of logging is that the time it takes is minimal compared to all alternatives.

### Before the experiment
from psychopy import parallel
port = parallel.ParallelPort(address=0x0378)

### At the point where you set the marker
port.setData(your_value)
logging.data(f'Parallel port set to {your_value}')

For debugging, I’ve tried to create a matplotlib animation that shows the individual pins in a separate window, but drawing the animation simultaneously to the experiment messes up the timing too much, so it was of no use for me. If you’re interested, I can post my code from this attempt and you can develop it further.