Parallel port code no longer working since update to Psychopy 2022.1.1

Hello all,

We recently updated the psychopy version in our EEG lab to version 2022.1.1 from a much older version (I’m not sure which but at least 3 years old). Everything mostly works fine but all of my code interacting with parallel ports no longer works. For example, if I use: parallel.setPortAddress(address = 0xCEF8) then try to use the parallel port I get the error message: ‘RuntimeError: Port address must be set using setPortAddres’. If I check the parallel port via print(parallel.PORT) then ‘None’ is returned.

As I see in the documentation this is method of interacting with the parallel port is deprecated, I instead tried the port = parallel.ParallelPort(address = 0xCEF8) but in that case I get the ‘Nonetype not callable’ error (i.e. ‘port’ is still ‘None’).

I have the inpoutx64.dll driver in the folder with the experiment, and I know for a fact that the parallel port interaction worked fine with the exact same code and folder structure prior to the update. The port address is definitely correct (I’ve checked, and as stated it used to work fine).

I noticed also that a colleague who is using OpenSesame doesn’t have this problem despite using the psychopy.parallel library for interacting with the parallel port (OpenSesame appears to have the psychopy libraries included within itself but from an older version, from 2021).

I tried copying in the psychopy.parallel library from an older version of psychopy as a separate folder and using that instead, but got the same errors.

Any ideas what I should try next?

Hi There,

May I ask have you tried sending a trigger using the Builders parallel port component, instead of pure code? if this works then you can try compiling the python code from that to peak under the hood at how this code differs from your current code.

Thanks,
Becca

Hi Becca,

Thanks for the tip. I just tried this morning and I get the same (Nonetype object is not callable) error. I don’t typically use the builder, so I’m not sure if it’s noteworthy, but the parallel port drop-down menu didn’t have the correct port address as an option. I used the first default setting and when that didn’t work I compiled the code and manually put in the correct address, in both cases I got the same error.

Thanks,
Josh

For future reference, we resolved this by putting the inpoutx64.dll into the ‘windows\system32’ folder (for which I had to get admin permissions, hence the wait), per this previous post.

Happy triggering,
Josh

1 Like

I had the same nontype not callable error. This worked for me. Thanks.