psychopy.org | Reference | Downloads | Github

Parallel port issues

I am running 64 bit windows 10, python 2.7 and psychopy 3.1. I have copied the inpout64 driver to both the experiment directory (where the psychopy experiment code is) and the system32 directory. The driver has been installed.

In psychopy I can do the following without error

from psychopy import parallel
port = parallel.setPortAddress()
port.setData(0)

However, even though the above should zero out the pins, port.readData always returns 255, regardless of what I’ve set.

The computer has a parallel port with the name of LPT3, so I have also tried setting the address (to 0x0278, as instructed by http://www.psychopy.org/api/parallel.html), but I still encounter the same problem where setData does not actually update or modify the pins.

If I print(port) I get something akin to the following (exact digits for the “object at” differ)

psychopy.parallel._inpout32.PParallelInpOut32 object at 0x179D28D0

which, according to this (Can't connect to Parallel Port) suggests that the drivers are working.

I am at a loss of where the problem is (psychopy, computer, the port itself) and could use any suggestions.

EDIT (5/3/19): I solved it! The problem was with the port address. In case anyone else has this issue, the port addresses suggested by psychopy do not necessarily match Windows 10 LPT* addresses. To find out your LPT address range: go into device manager, “Multifunction Adapters” and double click your parallel port. The I/O range is listed there, and your port’s address will be the first 4 characters following “0x”