I am sorry to bring up a reocurring topic again, but I encounter troubles with communicating with the parallelport.
I am running Psychopy (v3.2.4, standalone) on a 64-bit Windows 7 computer, and I am trying to send triggers via the parallel port to a biosemi (EEG) device.
I know that the hardware works, as I managed to send triggers with Eprime and Open Sesame. But it doesn’t work with Psychopy.
I tried the various fixes suggested in the forum
installing the inpout32.dll (as well as the 64 version), adding it into the system folder, adding it to the experiment folder.
reinstalling a 32 bits psychopy version, reinstalling the 64 bits version
sending triggers via the builder component, some code inlines, just the coder
As I do not receive any error message, I do not know where to start looking for a solution. I just see that the triggers are not sent to the device.
Does anyone have an idea what I can do to find a solution?
Thank you already so much for your considerations,
after a lot of trials I think the way I solved it was to copy the DLL files in the same folder as the psychopy file that I wanted to run and to run the DLL in Win32 (even though the PC is Win64)
so my instructions on the installation are now:
run installation of DLL files in folder Win32
copy and paste the installed DLL files (could be 64 or 32 depending on system) in
the folder where the exectuable file = task/paradigm is
In that case, if you’ve not already, could you please take the following steps:
Could you please download and install the InpOutx64.dll and InpOut32.dll files from here. You need to use the “Binaries only - x86 & x64 DLLs and libs” option under the Download Links subheading.
When you’ve downloaded the files, you’ll need to install the InpOut32.dll manually by running the InstallDriver.exe file that is in the Win32 folder. You’ll need admin rights on the machine you’re using to do this.
You then need to copy the InpOutx64.dll and InpOut32.dll files in the same folder as your PsychoPy experiment file. Then restart PsychoPy and try running your experiment again.
As an additional step, I would also recommend checking that you’ve selected the correct address of your parallel port in PsychoPy. You can find out which address you’re using by heading to: Device Manager (you can find this easily by searching in the start menu) > Ports > Find your parallel port from the drop down > Right-click Properties > Resources tab.
Thank you so much for the quick and detailed response. I have installed Binaries and copied the DLLs the program folder but the EEG is still not receiving the triggers.
I have checked the device manager and the parallel port is set to LPT1. I assume that is still 0x378. I have not dealt with hex addresses in a long time. The ad-on card we are using has a SUNIX chipset. I am wondering if there is a compatibility issue. I am able to send triggers using a commercial experimental program (I deliberately do not want to advertise it), so I know it is not the hardware itself.
It is possible that could be the problem - I don’t think PsychoPy is expecting the address in “LPT1” notation - it is expecting the hex format. If you follow these steps to find the hex address Parallel Port Configuration what does the resources tab look like on your end? does it show something like 0378 - 037F or something different?
I came across this post while trying to fix my problem with sending triggers through parallel port to my Biosemi EEG system.
I have already placed a copy of inpout64.dll in both my experiment folder and the windows/system32 folder.
I have some issues in determining the correct port address. My LPT1 port in the device manager does not have a resource tab - so I found the addresses through the msconfig.exe procedure. They are different from the classic 0x0378, I tried to set my parallel port address to each of them in psychopy, without success. I also already added these port names in the hardware preferences in psychopy.
I notice I also have a SUNIX ad-on port, so now I wonder if that is the problem. The computer is new, so I haven’t tried the port with any other application (and I am definitely not an expert on this topic).
Any suggestion would be very appreciated!
Thanks,
Silvia
Are you connecting the BioSemi EEG system to your PC directly to a parallel port using a parallel port connection that has pins, or via some sort of USB connector?
We’re having a similar issue; the triggers we’re sending via the parallel port do not seem to be being detected by our acquisition software on the acquisition computer. Have run a PsychoPy demo, and tried using code components and the I/O parallel component. Have also tried installing those drivers as instructed.
Do you have any other software that can send triggers via the parallel port, such as a Matlab or a Python script? This would help you to determine whether the problem lies with Psychopy or the configuration.
There are some experiments written in SR Experiment Builder that include TTL pulses, but I am not at all familiar with the software so not 100% sure I’m running them right, and mostly they’re designed to also link with eyetracking hardware that is not in place so the tasks won’t run. The one I have tried that does run makes it look as though there is something happening on the trace but a very small pulse and I am not 100% confident it is sending, however, the set-up has worked in the past using that software so in theory should still be working now.
MATLAB isn’t installed (and the computer isn’t networked so I suspect I’d get license issues if I tried). It looks like there is Python 3.12 - probably from when PsychoPy was installed. I’m not a coder so not sure what script to try running through that?
I was trying to install a 32 bit version of PsychoPy as I know some people had found that this worked. The most recent one I could find in the github releases labelled as 32 bit was PsychoPy3-2021.1.4-win32. But clicking the .exe file produces an error that says “This app can’t run on your PC”.
Back in the lab today - will see what I can do with getting AI to write me a test script.
I confess I don’t know much about it, I just wanted to try options I’d seen elsewhere on the Discourse posts. The PC is win64 but I saw that other people with Win64 tried installing the PsychoPy for win32 which had helped. I had no success with this though - I found another 32-bit version which the.exe file ran for, but once installed PsychoPy just would not open.
Yes, I’ve tried everything in the docs. Will report back if I make any progress!
We have progress! The python script worked, and then I was able to get PsychoPy to also send pulses so this gives me something. What is strange is the value of the pulses that I set in PsychoPy don’t really seem to correspond to the data acquisition software meaningfully. If I send a pulse of 255 (according to PsychoPy), the visible trace output is a value of about 4. If I use a pulse of anything else (be it 30, or 300!) the trace output is barely visible - more like 0.03, or 0.0something! It almost feels like it is high or low rather than numbers that equate to values. I can probably work with this and it may be more of a data acquisition software issue than a PsychoPy one, but if there is something obvious I’m missing that I can do, then please let me know.