Parallel port I/O on Windows 7/64bit -- working!

48,316 views
Skip to first unread message

Nate Vack

unread,
Mar 6, 2012, 12:26:29 PM3/6/12
to psychop...@googlegroups.com
Hi all,

We spent a few hours this morning getting PsychoPy talking to our parallel port on our shiny new 64-bit Windows 7 computer, and it was a success! We used inpout32 and inpoutx64. The steps we took were:
  1. Download the drivers and DLLs from http://www.highrez.co.uk/Downloads/InpOut32/default.htm -- the ones from http://www.logix4u.net/parallel-port/26-inpoutx64dll-for-win-xp-64-bit might work as well (I think this is the genuine source) but the driver installer executable in the highrez package is nice.
  2. Extract the zip and run Win32/InstallDriver.exe -- this will prompt for admin access
  3. Import the DLL and talk to the parallel port just as described here: http://www.logix4u.net/parallel-port/26-inpoutx64dll-for-win-xp-64-bit
You might need to copy the DLLs into the same working directory as your script. Including them in windlls also might be eminently sane -- I'm pretty certain this is the only path to parallel I/O on Windows.

It might be worth thinking about how this stuff fits in with the architecture of psychopy.parallel, but that's a discussion for a different list ;)

Also: Thanks for making a great package!
Best,
-Nate

Nate Vack

unread,
Sep 6, 2012, 9:28:38 AM9/6/12
to psychop...@googlegroups.com
On Wed, Sep 5, 2012 at 10:40 AM, Andrew Ellis <a.w....@gmail.com> wrote:

> I get
> WindowsError: [Error 126] THe specified module could not be found
> when I try the following:
> from ctypes import windll
> p = windll.inpout32

Hm, it sounds like it's not finding your inpout32.dll -- where is it
located? Try putting it in your working directory.

-n

Andrew Ellis

unread,
Sep 6, 2012, 3:32:24 PM9/6/12
to psychop...@googlegroups.com, njv...@wisc.edu
hi, thanks for your reply. I put it in the Windows\System32 directory. I'll try putting it in the working directory instead.

Andrew

Nate Vack

unread,
Sep 6, 2012, 3:43:14 PM9/6/12
to psychop...@googlegroups.com
Yeah, putting it in System32 worked on one computer and then not on
another. The DLL search path is something of a mystery to me.

-n

Jonathan Peirce

unread,
Sep 7, 2012, 4:27:52 AM9/7/12
to psychop...@googlegroups.com

On a 32 bit system everything is where you expect. But on a 64bit system;
System32 is reserved for 64bit libs and apps (seriously!)
WOW64 is for 32bit equivalents (yes, I know)
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187(v=vs.85).aspx

So if you're on 64bit windows (win7 comes in 32bit or 64bit) you need to
put 32bit dlls into the wow64 directory instead of System32. If your
win7 is 32bit flavour the dll should go into System32 :-/

Hope that helps
Jon
--
Jonathan Peirce
Nottingham Visual Neuroscience

http://www.peirce.org.uk


This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.

Nate Vack

unread,
Sep 7, 2012, 8:51:50 AM9/7/12
to psychop...@googlegroups.com
On Fri, Sep 7, 2012 at 3:27 AM, Jonathan Peirce
<jonatha...@nottingham.ac.uk> wrote:
>
> On a 32 bit system everything is where you expect. But on a 64bit system;
> System32 is reserved for 64bit libs and apps (seriously!)
> WOW64 is for 32bit equivalents (yes, I know)

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

That is all.

More seriously: thank you, that makes "sense" now.

-n

Andrew Ellis

unread,
Sep 14, 2012, 4:49:45 AM9/14/12
to psychop...@googlegroups.com
many thanks, it works perfectly for me now (using Brainvision Recorder and Win 7 (on experimental PC).

I use the following code to send triggers:
from ctypes import windll
pport = windll.inpout32
pport.Out32(0x2040, 0) # sets all pins to low
pport.Out32(0x2040, 1) # sets pin no.1 to high

0x2040 is my parallel port address

regards
Andrew

Sol Simpson

unread,
Sep 27, 2012, 11:51:27 AM9/27/12
to psychop...@googlegroups.com
Hi Andrew,

Can I ask what type of pport card you have and if it is PCI or PCIe?

Thank you

Sol

Andrew Ellis

unread,
Oct 3, 2012, 10:10:59 AM10/3/12
to psychop...@googlegroups.com
hi Sol, it's a Sunix card, but I don't know whether it's PCI or PCIe. I asked our sys admin, but he couldn't find out from the order form because apparently it came preinstalled from Dell. How do I find out what it is?

Windows Device Manager just says SUNIX LPT port (LPT3).

regards
Andrew

Sol Simpson

unread,
Oct 15, 2012, 5:42:43 PM10/15/12
to psychop...@googlegroups.com
Hey Andrew, If you look at the device properties, what address range has windows allocated it?

Thanks again,

Sol

Sebastian Korinth

unread,
Jan 12, 2014, 8:39:12 AM1/12/14
to psychop...@googlegroups.com
Hi everyone,

First of all thanks a lot to Nate and his post, our Windows 7 64 bit stimulus presentation computer sends now TTL pulses to our EEG recording computer over the parallel port. However, the trigger codes that we are receiving do not look as expected. Maybe I am misunderstanding the whole concept, but this is what I am trying to do:

Using PsychoPy Builder v1.79.00 on the above mentioned Windows 7 64 bit computer I would like to send stimulus trigger that denote the appearance of a stimulus and a response in the EEG data. EEG recording is accomplished using the BrainVision Recorder software on an identical computer. Each stimulus category (e.g., sounds of different pitch) is assigned to a specific number ranging from 1 to 255 defined in the conditionsFile. However, I am receiving only three kinds of triggers in the EEG marker file (i.e., S1, S2 and S3).

Here I am insecure: It might be that the BrainVisionRecorder does not interpret the triggers that were sent through the parallel port properly. Hence, it might not be a PsychoPy problem at all, which is why I will also contact the BrainProducts support. Has anyone experienced such an issue?

The Coder View of PsychoPy offers to set each pin of the pallel port as high or low and there are several posts on this topic already. However, the BuilderView offers only to define startData$ and stopData$. I could not find any explicit explanation about the possible data range here. Is it only on (1) and off (0)? Or, is is possible to send for instance a 55?

Thanks in advance for any suggestions

Sebastian

Jonathan Peirce

unread,
Jan 13, 2014, 5:06:17 AM1/13/14
to psychop...@googlegroups.com
The parallel port component in Builder sends a byte (a value 0-255) controlling the 8 pins at once along the lines of this function int eh library:
    http://www.psychopy.org/api/parallel.html#psychopy.parallel.ParallelPort.setData

Yes, sending a value of 55 should be entirely possible. I do that sort of thing myself in EEG; each condition has an ID associated with it and I record that value in the EEG system using the parallel port. You can write 55 directly as an integer or you can use something like this if you like seeing which lines are up and which are down:
    int('00110111', 2) #converts from base 2 to integer

Maybe you need an oscilloscope to check that the lines are being controlled as you expected. Then again, the usual reasons for this approach to fail would be that the drivers weren't installed properly or you didn't have the correct address for your parallel port. If either of those were the problem you wouldn't be seeing ay codes come through at all.

best wishes,
Jon
--
You received this message because you are subscribed to the Google Groups "psychopy-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-user...@googlegroups.com.
To post to this group, send email to psychop...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/psychopy-users/b60a9b06-549f-4687-bd90-7b58cd1b16da%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

-- 
Jonathan Peirce
Nottingham Visual Neuroscience

http://www.peirce.org.uk

This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.


Sebastian Korinth

unread,
Jan 13, 2014, 2:44:07 PM1/13/14
to psychop...@googlegroups.com
Thanks a lot Jon. It was probably not a PsychoPy issue. Now it works just as you describe it. Although I have no clue of what I have done differently.

Sebastian

Suresh Palanisamy

unread,
Jan 30, 2014, 8:42:16 AM1/30/14
to psychop...@googlegroups.com
Hi all,
         In our project we are using some debugger with the parallel port support in windows XP environment. whether the above driver will work for me in Windows 7/ 64 bit environment.

Richard Höchenberger

unread,
Jan 30, 2014, 9:36:32 AM1/30/14
to psychop...@googlegroups.com
On Thursday, January 30, 2014 2:42:16 PM UTC+1, Suresh Palanisamy wrote:
Hi all,
         In our project we are using some debugger with the parallel port support in windows XP environment. whether the above driver will work for me in Windows 7/ 64 bit environment.

Hello,

I am using this very driver on Win 7/64 bit.

Good luck,

    Richard 

Paul Reber

unread,
Feb 6, 2014, 4:09:27 PM2/6/14
to psychop...@googlegroups.com
We have been wrestling with getting codes written to the parallel port for EEG data collection.  The code fragments in this thread are very different from the recommendations at:
http://www.psychopy.org/api/parallel.html

Should we be going to windll.inpout32 directly and not trying to use psychopy.parallel?  Has psychopy.parallel changed significantly in the latest release (or the in development version)?  Is the documentation out of date?

Thanks,
Paul

Jonathan Peirce

unread,
Feb 8, 2014, 6:41:29 AM2/8/14
to PsychoPy Users
Yes, psychopy.parallel has changed a fair bit since this old thread began.
I believe the current documentation is correct (if you're using a recent version of PsychoPy). This should be better than going directly to drivers. Specifically psychopy.parallel can handle two different driver options behind the scenes and will try to detect which you have installed.

Do you have a specific error message?


--
You received this message because you are subscribed to the Google Groups "psychopy-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-user...@googlegroups.com.
To post to this group, send email to psychop...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--

Timothy Zeyl

unread,
Feb 19, 2014, 4:02:39 PM2/19/14
to psychop...@googlegroups.com, j...@peirce.org.uk
I've tried to use psychopy.parallel as documented on http://www.psychopy.org/api/parallel.html, however I get the following message when trying to instantiate a port:

In [10]: from psychopy import parallel
In [11]: port = parallel.ParallelPort(address=0x0378)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-11-682072d17146> in <module>()
----> 1 port = parallel.ParallelPort(address=0x0378)

AttributeError: 'module' object has no attribute 'ParallelPort'

My psychopy version is 1.78.01-py2.7 installed using easy_install, and my computer is Win7 64

Is this distribution of psychopy missing the ParallelPort class? All my other psychopy commands seem fine.

Thanks,
Tim

Nash

unread,
Mar 18, 2014, 4:54:52 AM3/18/14
to psychop...@googlegroups.com
Hi Nate,

It will be my first time controlling parallel port of my PC. I followed the steps you mentioned, at least I did the first step. From the URL mentioned I downloaded two zipped files, one was named InpOutInterfaceDriver and the other one was named Inpout32_dll_source. 

The thing is, I wasn't able to do the second step (as you mentioned) as when I unzipped the both folder, I did not find any file called InstallDriver.exe.

I'd appreciate your explanation. Thanks.

Rgds,
Nash 

Nate Vack

unread,
Mar 18, 2014, 10:14:00 AM3/18/14
to psychop...@googlegroups.com
On Tue, Mar 18, 2014 at 3:54 AM, Nash <mnas...@gmail.com> wrote:

> downloaded two zipped files, one was named InpOutInterfaceDriver and the
> other one was named Inpout32_dll_source.
>
> The thing is, I wasn't able to do the second step (as you mentioned) as when
> I unzipped the both folder, I did not find any file called
> InstallDriver.exe.

It's been a long time since I thought about this (with any luck, we're
going to get rid of both our parallel and serial interfaces in one
fell swoop, real soon!), but I think you want InpOutBinaries.zip, from
the link titled "Just the binaries and libs requred to integrate with
your own program."

Failing that, I'd take the page's advice and contact the author via email.

Best,
-n

Edgar Espaldon

unread,
May 6, 2014, 1:03:13 PM5/6/14
to psychop...@googlegroups.com


On Friday, September 7, 2012 4:27:53 PM UTC+8, Jon wrote:

On a 32 bit system everything is where you expect. But on a 64bit system;
     System32 is reserved for 64bit libs and apps (seriously!)
     WOW64 is for 32bit equivalents (yes, I know)
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187(v=vs.85).aspx

So if you're on 64bit windows (win7 comes in 32bit or 64bit) you need to
put 32bit dlls into the wow64 directory instead of System32. If your
win7 is 32bit flavour the dll should go into System32 :-/

Hope that helps
Jon

On 06/09/2012 20:43, Nate Vack wrote:
> Yeah, putting it in System32 worked on one computer and then not on
> another. The DLL search path is something of a mystery to me.
>
> -n
>

--
Jonathan Peirce
Nottingham Visual Neuroscience

http://www.peirce.org.uk

-----Thanks for this info... i am using right now Windows 8.1 64 bit ... and now my parallel port using vb6 is working.. thanks again =)

Richard Dewhurst

unread,
Jun 23, 2014, 4:35:46 PM6/23/14
to psychop...@googlegroups.com
Hi Sol,

This is a while ago now, and much has been done with the parallel port in psychopy since. But I'm wondering if you ever gor a response on this?

I'm trying to get a PCIe parallel port working with psychopy (which I installed because a new stimulus PC came to the Lab without one). No success so far but have a few other things to try..

Using info from the old messages in this thread I followed Nate Vacks steps and installed http://www.logix4u.net/parallel-port/26-inpoutx64dll-for-win-xp-64-bit (after trying it as is to see if psychopy worked with the parallel port automatically). Trouble is, the README in the the instalation .zip from http://www.highrez.co.uk/Downloads/InpOut32/default.htm specifically says it probably won't work for PCI parallel ports. So I'm not hopeful, and my first shot didn't work.

This is to communicate with Curry 7 EEG acquisition and signal processing system - running with NeuroScan's synamp2 amplifier. But for now that probably isn't relevant, as nothing about the parallel port--components, tigger values or anything whatsoever--is writing to the psychopy log file. But the thing is, there are no error messages either.

Any thoughts and advice much appreciated.

Cheers,
/Richard
 
 

Jonathan Peirce

unread,
Jun 24, 2014, 5:13:20 AM6/24/14
to psychop...@googlegroups.com
Richard, I've no experience using a PCI parallel port card, but thought I'd point out an alternative solution which is the USB labjack devices. They cost ~£80, they have low latency for digital I/O and they're pretty easy to use from python

Jon
--
You received this message because you are subscribed to the Google Groups "psychopy-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-user...@googlegroups.com.
To post to this group, send email to psychop...@googlegroups.com.

Richard Dewhurst

unread,
Jun 26, 2014, 4:58:22 PM6/26/14
to psychop...@googlegroups.com
Thanks Jon, that's helpful.

Sorry to bug you with questions...no success with the PCIe parallel port card, but I did get hold of a DELTACO usb-parallel port jack. If I use this with parallel.ParallelPort and:

win.callOnFlip(startTrial_b1.setData, int(10))
#startTrial_b1 is the name I give the port

..it runs fine, no error messages, but no triggers sent, and nothing about the port in the log file.

If I use:

win.callOnFlip(startTrial_b1.setData(10))

..I now at leat get an error message:

File "C:\Richard_D\EyeMem\Exp1\EyeMem1_RED500.py", line 2040, in <module>
    win.flip()
  File "C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy-1.80.03-py2.7.egg\psychopy\visual\window.py", line 593, in flip
    callEntry['function'](*callEntry['args'], **callEntry['kwargs'])
TypeError: 'NoneType' object is not callable

Do you think I should be pointing to a particular driver with this jack? Or is it more likely something else. Just a few lines of code to test this and rule out some possibilities would be really helpful, if you have time.

Thanks a lot,

/Richard

Jonathan Peirce

unread,
Jul 7, 2014, 10:23:51 AM7/7/14
to psychop...@googlegroups.com
Hi Richard,

Sorry, I don't know anything about that device. Does the simple call
    startTrial_b1.setData(10)
work? If so then
    win.callOnFlip(startTrial_b1.setData, int(10))
should work fine too. The version that spits an error message is definitely wrong.

But finding out how to use the device is more likely your problem. Maybe it doesn't take parallel-port commands, and almost certainly it will need some sort of driver installing.

best wishes
Jon

For more options, visit https://groups.google.com/d/optout.

Richard Dewhurst

unread,
Jul 10, 2014, 10:52:35 AM7/10/14
to psychop...@googlegroups.com
Hi Jon,

Thought you would like to know, and for anyone else trying to use psychopy together with a PCIe parallel port card, that the solution (as usual) was fairly simple:

The port card I fitted didn't appear in the BIOS with the usual base address, but from device manager I took the address '0xC010' and used that in the script (as its not currently an option in builder, where you can only select between 0x0378 and 0x03BC).

Then it writes to the port using the psychopy's .parallel module OK. The only issue is the mapping between the pins (2-9), but that is consistent so pretty easy to figure out.

Cheers,

/Richard

Richard Dewhurst

unread,
Jul 10, 2014, 11:18:12 AM7/10/14
to psychop...@googlegroups.com
btw, I also ued this address in conjunction with the 64-bit ported drivers from here http://www.highrez.co.uk/Downloads/InpOut32/default.htm but not sure if that makes any difference in the end.

/Richard

Jonathan Peirce

unread,
Jul 11, 2014, 5:56:23 AM7/11/14
to psychop...@googlegroups.com
The suggested ports in Builder are defined in preferences - you can add your port string there. It just makes it easier in the Builder GUI to select the common ones rather than type them in

What's your issue with mapping of the pins? I don't think PsychoPy does anything unusual there.

best wishes,
Jon

For more options, visit https://groups.google.com/d/optout.
-- 
Jonathan Peirce
Nottingham Visual Neuroscience

Richard Dewhurst

unread,
Jul 23, 2014, 8:24:27 AM7/23/14
to psychop...@googlegroups.com
Hi,


On Friday, 11 July 2014 11:56:23 UTC+2, Jon wrote:
The suggested ports in Builder are defined in preferences - you can add your port string there. It just makes it easier in the Builder GUI to select the common ones rather than type them in
Ah yes, I forgot about that - useful, thanks

What's your issue with mapping of the pins? I don't think PsychoPy does anything unusual there.
Well, I get consistent re-mappings so that using setData() sending 10 --> 168; 110 --> 187; 120 --> 143; 210 --> 165; 220 --> 157; 100 --> 147; 200 --> 137

Cheers,
/Richard
 

Jonathan Peirce

unread,
Jul 25, 2014, 10:27:54 AM7/25/14
to psychop...@googlegroups.com
I have no idea about that. Sounds like wonky wires! ;-)
On the windows box I use the numbers go down the line exatcly as expected.

Jon

For more options, visit https://groups.google.com/d/optout.

Nate Vack

unread,
Jul 25, 2014, 10:53:07 AM7/25/14
to psychop...@googlegroups.com
Yeah -- what kind of cable are you using? Lots of 25-pin cables cross wires; null modem cables are the most common example.

-n


Richard Dewhurst

unread,
Jul 26, 2014, 1:31:06 PM7/26/14
to psychop...@googlegroups.com, njv...@wisc.edu

It is a 25-pin cable. But I've figured out the mappings now using setPin() and also sending numbers systematically with setData(). Its a bit odd, but I have available pins 2-8. However the base-2 numbers are reversed, so that 64 = pin 2 = 1 (i.e when I send 64 I get 1); 32 = pin 3 = 2; 16 = pin 4 = 4 ..etc. The wierd thing is that I can't use what would be pin 9 in this mapping, but that "pin 1" is always ON sending 128!  This means that the lowest number I can send is 129, i.e. 10000001 when I attempt to send 64

Anyway, at least I know what its doing.

Thanks,
/R

Howard Wu

unread,
Aug 22, 2014, 3:18:32 PM8/22/14
to psychop...@googlegroups.com

Hi,


We are looking to get PsychoPy compatible with the parallel port going to BioSemi/ActiView on Windows XP. I’m wondering if installing the drivers listed in the first post have resulted in driver incompatibilities for others doing experiments in other software (Matlab/PsychToolbox, EPrime, Presentation). 


Also, is there a way to go around installing the drivers and connecting PsychoPy with the parallel port?


Thanks,

Howard

Sol Simpson

unread,
Aug 30, 2014, 3:02:13 PM8/30/14
to psychop...@googlegroups.com
The answer to this is likely dependant on knowing if you are using a 32 bit or 64 bit OS, and if the pport is on the motherboard, a PCI expansion card, or a PCIe card.

Howard Wu

unread,
Aug 30, 2014, 3:11:05 PM8/30/14
to psychop...@googlegroups.com
Our computer is running a 64 bit OS version of Windows XP, however I believe PsychoPy might be 32 bits. The parallel port is on a PCI card. Any suggestions would be great.

Howard

Mario Reutter

unread,
Nov 4, 2014, 12:05:54 PM11/4/14
to psychop...@googlegroups.com
Hi,
I replicated Andrew's steps so far but it still doesn't work for me. I don't get any errors either but the triggers don't show in the Brainvision Recorder.
Is it correct to call the windll.inpout32 on a 64 bit OS and not windll.inpoutx64? Calling the latter doesn't find the dll even though it is in my working directory.

What I did:
  1. Downloaded and installed the InpOutBinaries_1500 via InpOutBinaries_1500\Win32\InstallDriver.exe
  2. Copied the other files (inpout32.dll, .h and .lib as well as vssver2.scc) to the working directory of my script
  3. Used Andrew's code with my parallel port address 0x378

=> No errors, no triggers

I appreciate any help and ideas.

Best wishes
Mario

On Friday, September 14, 2012 10:49:45 AM UTC+2, Andrew Ellis wrote:
many thanks, it works perfectly for me now (using Brainvision Recorder and Win 7 (on experimental PC).

I use the following code to send triggers:
from ctypes import windll
pport = windll.inpout32
pport.Out32(0x2040, 0) # sets all pins to low
pport.Out32(0x2040, 1) # sets pin no.1 to high

0x2040 is my parallel port address

regards
Andrew


On Friday, September 7, 2012 10:27:53 AM UTC+2, Jon wrote:

On a 32 bit system everything is where you expect. But on a 64bit system;
     System32 is reserved for 64bit libs and apps (seriously!)
     WOW64 is for 32bit equivalents (yes, I know)
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187(v=vs.85).aspx

So if you're on 64bit windows (win7 comes in 32bit or 64bit) you need to
put 32bit dlls into the wow64 directory instead of System32. If your
win7 is 32bit flavour the dll should go into System32 :-/

Hope that helps
Jon

On 06/09/2012 20:43, Nate Vack wrote:
> Yeah, putting it in System32 worked on one computer and then not on
> another. The DLL search path is something of a mystery to me.
>
> -n
>

--
Jonathan Peirce
Nottingham Visual Neuroscience

http://www.peirce.org.uk


This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system:

Mario Reutter

unread,
Nov 12, 2014, 9:43:32 AM11/12/14
to psychop...@googlegroups.com
I managed to solve my issue and posted an answer on stackoverflow.

Edward Ryklin

unread,
Jan 22, 2015, 1:29:17 PM1/22/15
to psychop...@googlegroups.com
Hi Everyone,

Has anyone figured out how to make inpout32 work with a USB->Parallel converter. These adapters use a "USB printing support driver", which creates a virtual parallel port.  I want to convert parallel ports to USB so that I can control old hardware with computers lacking parallel ports (like small laptops), and in any case I want to avoid installing aftermarket PCIe parallel ports.

Thanks,
-Edward Ryklin

Nate Vack

unread,
Jan 22, 2015, 2:12:15 PM1/22/15
to psychop...@googlegroups.com
There are a lot of those USB -> parallel adapters, but I've never seen
one work with inpout32. They need to allocate an I/O range visible in
Device Manager, and they seem to take some other route.

I think that if you need your USB, you'll want something like this:

http://www.mccdaq.com/usb-data-acquisition/USB-1208FS.aspx

... that you can talk to via python with:

http://wiki.scipy.org/Cookbook/Data_Acquisition_with_PyUL

-n
> --
> You received this message because you are subscribed to the Google Groups
> "psychopy-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to psychopy-user...@googlegroups.com.
> To post to this group, send email to psychop...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/psychopy-users/702878f9-8f11-40a3-955a-833471739914%40googlegroups.com.

Nader

unread,
Jul 29, 2015, 11:50:20 AM7/29/15
to psychopy-users, jon.p...@gmail.com
Hi Jon:

I know this is pretty old but I wonder if you have any testing data for the labjack.  We use it all the time for behavioral studies but now we are using it for ERP studies and I need to know what (if any) the delay and jitter may be because of the USB drive.   If negligible, this is an idea solution to the disappearing parallel port.


Thanks

Jonathan Peirce

unread,
Jul 30, 2015, 4:40:58 AM7/30/15
to PsychoPy Users
I used the labjack recently for an EEG study and found that it when switching from 0 to its target output value, it sometimes took more than one sample to reach it (our EEG is running at 1kHz). For example, when setting the port to go from 0 to 128 for a stimulus onset we would sometimes see a stream in the data that went:
    0 0 0 0 64 128 128 128 128
We hacked around the problem in the analysis side (it's easy to find the erroneous values and fix them) and I didn't explore it much on the box

My previous tests suggested that the digital outputs were excellent, but the DACs were slow to change. So I'm now wondering whether one of the pins was set to be in analogue rather than digital output mode. It might be that I just needed to set the mode of the pins explicitly before starting.

The USB latency aspect certainly isn't a problem though on the labjack - they've got that set up correctly clearly - so I do think they're a useful device to have around.

best wishes
Jon
-- 
Jonathan Peirce
Nottingham Visual Neuroscience

http://www.peirce.org.uk


This message and any attachment are intended solely for the addressee
and may contain confidential information. If you have received this
message in error, please send it back to me, and immediately delete it. 

Please do not use, copy or disclose the information contained in this
message or in any attachment.  Any views or opinions expressed by the
author of this email do not necessarily reflect the views of the
University of Nottingham.

This message has been checked for viruses but the contents of an
attachment may still contain software viruses which could damage your
computer system, you are advised to perform your own checks. Email
communications with the University of Nottingham may be monitored as
permitted by UK legislation.

Nader

unread,
Jul 31, 2015, 7:19:29 PM7/31/15
to psychopy-users
Thanks, Jon, very useful info.  I am using digital outputs so should be fine.  Do you know of any papers or refs in this regard.  That is has anyone published on the accuracy of usb port given the right driver and hardware.    Short of running my own simulations that is?

Luis

unread,
Oct 22, 2015, 3:02:39 PM10/22/15
to psychopy-users
Hi. It works to me in Win 7, using the InstallDriver.exe driver, it's a bit tricky though, cause needs the inpout32 library in the same folder where is InstallDriver.exe, AND only will work with this inpout.dll file, so, it's important make a setup in the same folder where the application will work. I hope this detail can be of help to somebody else.

Sagar Chandola

unread,
Jan 29, 2016, 8:05:58 AM1/29/16
to psychopy-users
Hi Jon,

You seem to be well informed on this topic, especially with regards to usage with Windows and hence directing this question to you.

I am running python 2.7 in windows 7 32 bit(primarily because got lost in windows 7 64 bit with updations of dlls etc.)

I am running a pygame based program with the following lines for triggering.

try:
from ctypes import windll
global io
io = windll.dlportio # requires dlportio.dll !!!
print 'Parallel port open'
except:
print 'The parallel port couldn\'t be opened'


My parallel port is detected fine.

After that I write:

global io
        trigger = 1
        port = 0x0000D100
        try:
                io.DlPortWritePortUchar(port, trigger)
                print 'Trigger sent'
        except:
                print 'Failed to send trigger!'


This is also working and Trigger sent comes whenever I send a stimuli, which in my case are random photos on a screen. Overall the program runs fine.

However in the Actichamp Brain Vision Recorder, there are no triggers seen.

Can you suggest what can be done. 
Is there any particular combination of port numbers. Or the triggering bytes. Or increase in duration of trigger sent required. Or something else that can be done in terms of port configuration.
Let me know if you require any particular information. Thanks in advance.

On Monday, January 13, 2014 at 3:36:17 PM UTC+5:30, Jon wrote:
The parallel port component in Builder sends a byte (a value 0-255) controlling the 8 pins at once along the lines of this function int eh library:
    http://www.psychopy.org/api/parallel.html#psychopy.parallel.ParallelPort.setData

Yes, sending a value of 55 should be entirely possible. I do that sort of thing myself in EEG; each condition has an ID associated with it and I record that value in the EEG system using the parallel port. You can write 55 directly as an integer or you can use something like this if you like seeing which lines are up and which are down:
    int('00110111', 2) #converts from base 2 to integer

Maybe you need an oscilloscope to check that the lines are being controlled as you expected. Then again, the usual reasons for this approach to fail would be that the drivers weren't installed properly or you didn't have the correct address for your parallel port. If either of those were the problem you wouldn't be seeing ay codes come through at all.

best wishes,
Jon

On 12/01/2014 13:39, Sebastian Korinth wrote:
Hi everyone,

First of all thanks a lot to Nate and his post, our Windows 7 64 bit stimulus presentation computer sends now TTL pulses to our EEG recording computer over the parallel port. However, the trigger codes that we are receiving do not look as expected. Maybe I am misunderstanding the whole concept, but this is what I am trying to do:

Using PsychoPy Builder v1.79.00 on the above mentioned Windows 7 64 bit computer I would like to send stimulus trigger that denote the appearance of a stimulus and a response in the EEG data. EEG recording is accomplished using the BrainVision Recorder software on an identical computer. Each stimulus category (e.g., sounds of different pitch) is assigned to a specific number ranging from 1 to 255 defined in the conditionsFile. However, I am receiving only three kinds of triggers in the EEG marker file (i.e., S1, S2 and S3).

Here I am insecure: It might be that the BrainVisionRecorder does not interpret the triggers that were sent through the parallel port properly. Hence, it might not be a PsychoPy problem at all, which is why I will also contact the BrainProducts support. Has anyone experienced such an issue?

The Coder View of PsychoPy offers to set each pin of the pallel port as high or low and there are several posts on this topic already. However, the BuilderView offers only to define startData$ and stopData$. I could not find any explicit explanation about the possible data range here. Is it only on (1) and off (0)? Or, is is possible to send for instance a 55?

Thanks in advance for any suggestions

Sebastian



Am Dienstag, 6. März 2012 18:26:29 UTC+1 schrieb Nate Vack:
Hi all,

We spent a few hours this morning getting PsychoPy talking to our parallel port on our shiny new 64-bit Windows 7 computer, and it was a success! We used inpout32 and inpoutx64. The steps we took were:
  1. Download the drivers and DLLs from http://www.highrez.co.uk/Downloads/InpOut32/default.htm -- the ones from http://www.logix4u.net/parallel-port/26-inpoutx64dll-for-win-xp-64-bit might work as well (I think this is the genuine source) but the driver installer executable in the highrez package is nice.
  2. Extract the zip and run Win32/InstallDriver.exe -- this will prompt for admin access
  3. Import the DLL and talk to the parallel port just as described here: http://www.logix4u.net/parallel-port/26-inpoutx64dll-for-win-xp-64-bit
You might need to copy the DLLs into the same working directory as your script. Including them in windlls also might be eminently sane -- I'm pretty certain this is the only path to parallel I/O on Windows.

It might be worth thinking about how this stuff fits in with the architecture of psychopy.parallel, but that's a discussion for a different list ;)

Also: Thanks for making a great package!
Best,
-Nate
--
You received this message because you are subscribed to the Google Groups "psychopy-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-user...@googlegroups.com.
To post to this group, send email to psychop...@googlegroups.com.

Sagar Chandola

unread,
Jan 29, 2016, 9:00:40 AM1/29/16
to psychopy-users
Anybody else in the forum too who can lend a helping hand is welcome :-).

Sagar Chandola

unread,
Feb 2, 2016, 12:18:46 PM2/2/16
to psychopy-users
Hello Everyone,

Do let me know if this issue can be resolved. Look forward to hearing from you guys :-)

Mario Reutter

unread,
Feb 2, 2016, 12:58:27 PM2/2/16
to psychop...@googlegroups.com
Please let me know if that fixes your problem and upvote the question and answer if it helped you.

Best wishes,
Mario

--
You received this message because you are subscribed to a topic in the Google Groups "psychopy-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/psychopy-users/hbIO2wHK1KU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to psychopy-user...@googlegroups.com.

To post to this group, send email to psychop...@googlegroups.com.

Sagar Chandola

unread,
Feb 3, 2016, 8:32:32 AM2/3/16
to psychopy-users
The solution works great.
Though had to run the entire program in the pyschopy environment, unlike directly via python as I was doing earlier.
Psychopy is really nice. Thanks to Jon too!

Need a small tip. I am trying to give a name to the markers (4 categories in total), so that the triggers can be classified properly. Can you please give some advice how to do this.

Currently doing the following:
#For trigger 1

trigger = 1
windll.inpout32.Out32(0x0000D100, 1)
core.wait(0.05) #wait 50ms
windll.inpout32.Out32(0x0000D100, 0)

#For trigger 2
trigger = 2
windll.inpout32.Out32(0x0000D100, 2)
core.wait(0.05) #wait 50ms
windll.inpout32.Out32(0x0000D100, 0)

#For trigger 3
trigger = 3
windll.inpout32.Out32(0x0000D100, 3)
core.wait(0.05) #wait 50ms
windll.inpout32.Out32(0x0000D100, 0)

#For trigger 4
trigger = 4
windll.inpout32.Out32(0x0000D100, 4)
core.wait(0.05) #wait 50ms
windll.inpout32.Out32(0x0000D100, 0)

Thanks again for your help Mario!

Mario Reutter

unread,
Feb 3, 2016, 8:48:04 AM2/3/16
to psychop...@googlegroups.com
Glad I could help.

Your code so far is highly redundant. I recommend using a global variable "portaddress = 0x0000D100" which you can modify once if you switch your experiment to another computer with a possibly different parallel port address.

Additionally, you should use a function to send the triggers that manages everything for you. Here an example:
def sendTrigger(triggerCode):
    try:
        windll.inpout32.Out32(portaddress, triggerCode)
        self.wait(0.05)
        windll.inpout32.Out32(portaddress, 0)
    except RuntimeError: print "Trigger \"" + str(triggerCode) + "\" could not be sent"
    except WindowsError: print "inpout32.dll couldn't be found"

Whenever you need to during the experiment, you can then just call e.g. "sendTrigger(1)" if you want to send a trigger containing the number 1.

Does that answer your question?

Sagar Chandola

unread,
Feb 4, 2016, 1:39:06 AM2/4/16
to psychopy-users
Actually the spacing between the trigger was kept very small and that is why the text was being overwritten. This is why the triggers were not being classified differently, which was my actual problem.

Your suggestion for the function is very good. I will be doing the function calls as you have mentioned.

Thanks a lot again!

Mario Reutter

unread,
Feb 4, 2016, 3:06:45 AM2/4/16
to psychop...@googlegroups.com

I see. I'm happy that everything works now.

In my code example, there was a mistake. self.wait(0.05) should be core.wait(0.05). I use a custom function in my own experiment.

Sagar Chandola

unread,
Feb 4, 2016, 4:05:27 AM2/4/16
to psychopy-users
Yeah. core.wait() works fine.

One problem I am facing though is that the pygame module I am using to give my pictures based stimuli via my program in python, automatically minimizes once the triggers start being sent. I can view the triggers being sent in the output command line and they appear in the Actichamp Brain Vision Recorder too as planned.

The automatic minimizing of the screen was not happening earlier.

I want the program to run in the foreground, while triggers to be sent in the background only being viewable in the output command line.

Any suggestions?

Sagar Chandola

unread,
Feb 5, 2016, 1:42:00 AM2/5/16
to psychopy-users
When I comment out core.wait() the program runs fine in automatic maximized mode.
But the triggers are not sent. I guess this is because Actichamp Brain Vision Recorder requires the trigger to wait for some time to reflect.

Any suggestions how to overcome the issue being faced with core.wait() with regards to minimization of program screen.

Sagar Chandola

unread,
Feb 5, 2016, 2:47:42 AM2/5/16
to psychopy-users
I found a solution.

You need to write:
win.flip() 

just before core.wait()

This avoids the screen being minimized. 

Sagar Chandola

unread,
Feb 14, 2016, 7:10:57 AM2/14/16
to psychopy-users
A thing I checked out in terms of code performance.

It seems a function call takes more time than putting in the entire code for the triggering.

The delay is of approx. 450 ms for me but can vary based on program.

Though a function call is convenient and a good practice to follow, but in terms of better performance, a redundant code might just be a little better.

Jon Peirce

unread,
Feb 15, 2016, 1:12:19 PM2/15/16
to psychop...@googlegroups.com
A delay of 450 ms?! That's huge. That suggests your function is doing something wrong.
Jon

For more options, visit https://groups.google.com/d/optout.

-- 
Jon Peirce
http://www.peirce.org.uk

Sagar Chandola

unread,
Feb 16, 2016, 3:36:02 AM2/16/16
to psychopy-users
Yes indeed it is huge.
I also wrote core.wait(0.01) #wait 10ms

Instead of core.wait(0.05) #wait 50ms

While sending the triggers to improve code performance further. The markers are still being sent and seen. Not sure if that much wait time is needed.

Sagar Chandola

unread,
Feb 16, 2016, 4:22:31 AM2/16/16
to psychopy-users

Mario Reutter

unread,
Feb 16, 2016, 4:41:01 AM2/16/16
to psychop...@googlegroups.com
"That's 1/6th of a second for a million calls to an empty function"
Could it be that your delay of 450ms comes from one million calls using the timeit function? It would make more sense considering the scale of your delay: 450ms/1'000'000 is approximately one clock cycle on a 2,3 GHz processor per function call. Sounds about right.

You received this message because you are subscribed to a topic in the Google Groups "psychopy-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/psychopy-users/hbIO2wHK1KU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to psychopy-user...@googlegroups.com.

To post to this group, send email to psychop...@googlegroups.com.

Jonathan Peirce

unread,
Feb 16, 2016, 5:13:32 AM2/16/16
to psychop...@googlegroups.com
Sagar, I understand that function calls do carry a tiny overhead, but not nearly half a second per function call.
PsychoPy makes hundreds (thousands?) of function calls every frame (~17ms). Clearly Python doesn't take 450ms for each one or your stimulus would never appear.

My thought was that your function was doing something strange but, yes, Mario might be right that you're simply misinterpreting the timing values?

cheers
Jon

For more options, visit https://groups.google.com/d/optout.

-- 
Jonathan Peirce
University of Nottingham

http://www.peirce.org.uk


This message and any attachment are intended solely for the addressee
and may contain confidential information. If you have received this
message in error, please send it back to me, and immediately delete it. 

Please do not use, copy or disclose the information contained in this
message or in any attachment.  Any views or opinions expressed by the
author of this email do not necessarily reflect the views of the
University of Nottingham.

This message has been checked for viruses but the contents of an
attachment may still contain software viruses which could damage your
computer system, you are advised to perform your own checks. Email
communications with the University of Nottingham may be monitored as
permitted by UK legislation.

Sagar Chandola

unread,
Feb 17, 2016, 5:18:49 AM2/17/16
to psychopy-users
Let me investigate this further, and then get back later. 
Thanks all!

Sagar Chandola

unread,
Feb 17, 2016, 5:21:15 AM2/17/16
to psychopy-users


On Tuesday, February 16, 2016 at 2:52:31 PM UTC+5:30, Sagar Chandola wrote:
Also refer to this topic Jon.

Sagar Chandola

unread,
Feb 22, 2016, 4:07:52 AM2/22/16
to psychopy-users
After reviewing further, think Mario's assessment is overall correct. Conclusion can be made that functions call do carry a certain overhead and can be avoided, however are a best practice to follow in terms of a code being more easily understandable later on.

As Jon rightly pointed out if the delay's were so much, then psychopy itself might have issues in processing even simple programs. However if someone is looking at micro-optimizations, then inline codes along with a few suggestions in the links shared by me ain't bad.

Richard Höchenberger

unread,
Feb 22, 2016, 4:26:18 AM2/22/16
to psychop...@googlegroups.com
On Mon, Feb 22, 2016 at 10:07 AM, Sagar Chandola
<sagarch...@gmail.com> wrote:
> However if someone is looking at micro-optimizations, then inline codes
> along with a few suggestions in the links shared by me ain't bad.

Sorry, I strongly disagree. The expected speed gain should be in the
sub-sub-ms range, i.e., a matter of micro- or even nanoseconds on
modern computers. This is also what is being shown in the SO thread
you linked to earlier. If any function call has measurable performance
impact on the script in compared to inline code, the sense that it
actually affects the experimental run, it is most likely the function
itself (or the way it is invoked) that is somehow broken, and should
be fixed.

Cheers,

Richard

Richard Höchenberger

unread,
Feb 22, 2016, 4:28:31 AM2/22/16
to psychop...@googlegroups.com
On Mon, Feb 22, 2016 at 10:25 AM, Richard Höchenberger
<richard.ho...@gmail.com> wrote:
> If any function call has measurable performance
> impact on the script in compared to inline code, the sense that it
> actually affects the experimental run

Copy-n-paste broke this one.

"If any function call has measurable performance impact on the script
compared to inline code, in the sense that it actually affects the
experimental run, ..."

Richard Höchenberger

unread,
Feb 22, 2016, 5:35:09 AM2/22/16
to psychop...@googlegroups.com
Let me add a few points as to why I am opposed to your suggestion, and
believe it will do more harm than good.

Firstly, moving code that is repeatedly called at different places in
your program from a function to inline is the exact opposite of what
most consider good design practices. Redundancy should be kept to a
minimum; avoiding redundancy makes the code cleaner to read and easier
understand, and therefore reduces the chances of inadvertently adding
bugs. If you want to change a function, you do it in one single place
-- the function definition itself. Changing inline code in different
locations, however, is error-prone, as it increases chances of
overlooking something or forgetting to adjust a code snippet in one of
the many calls. Using functions also makes debugging easier, because
you can set a breakpoint at a specific function and don't have to wade
through endless lines of inline code to find the correct places to set
breakpoints.

Secondly, you probably should not use a benchmarking tool like timeit
to pinpoint performance bottlenecks in your program. A profiler should
be used instead. It will monitor the entire experimental run and give
you a global overview of execution times of individual
components/functions. Which is also another good point why you should
use functions instead of inline code when possible.

Thirdly, if you depend on micro- or nanosecond timing, you shouldn't
use Python in the first place, but use C or assembly. You also
shouldn't use a personal computer, and absolutely avoid any OS that
doesn't offer "realtime" capabilities, i.e., guaranteed response times
(which you should be able to specify). You would probably end up with
some sort of embedded device, but not an ordinary PC. However, unless
you are, like, investigating the effects of quantum tunneling on human
decision making, you probably won't need anything like that for
psychophysics or EEG studies.

All the best,

Richard

Sagar Chandola

unread,
Apr 13, 2016, 5:39:59 AM4/13/16
to psychopy-users
Hi Nate,

Many of the links mentioned by you appear to be broken links.

Can you please suggest alternative links. Although it would be easy to google, but asking as you might know which ones are more genuine sources.

Thanks

Mario Reutter

unread,
Apr 13, 2016, 6:00:11 AM4/13/16
to psychop...@googlegroups.com
Hello Sagar,

Nate's instructions you refer to are over 4 years old and I wasn't able to successfully replicate them myself. This is why I put up a thread on stackoverflow that seemed to help quite some people.
From your previous emails in February it seemed like you also solved your problem. Do you still have issues? If so, I don't think the broken URLs from Nate's post will help you.

Best wishes
Mario

--
You received this message because you are subscribed to a topic in the Google Groups "psychopy-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/psychopy-users/hbIO2wHK1KU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to psychopy-user...@googlegroups.com.

To post to this group, send email to psychop...@googlegroups.com.

Sagar Chandola

unread,
Apr 13, 2016, 6:51:46 AM4/13/16
to psychopy-users
Thanks for the reply. All issues are resolved and everything is working fine.

However now I am using a 64 bit Windows 7 system instead of the earlier 32 bit, so kind of starting from scratch.

Sagar Chandola

unread,
Apr 13, 2016, 7:42:42 AM4/13/16
to psychopy-users
Just to to clarify that old issues in Feb were resolved for 32 bit Windows 7.

Need help for a Windows 7 64 bit system now.

Nate Vack

unread,
Apr 13, 2016, 9:29:07 AM4/13/16
to psychop...@googlegroups.com
On Wed, Apr 13, 2016 at 6:42 AM Sagar Chandola <sagarch...@gmail.com> wrote:
Just to to clarify that old issues in Feb were resolved for 32 bit Windows 7.

Need help for a Windows 7 64 bit system now.

I know we're rolling Win7/64 here without problems. I think our psychopy build is 32-bit.

You checked that StackOverflow thread? In particular, you installed:


?

-n 

Sagar Chandola

unread,
Apr 18, 2016, 6:34:12 AM4/18/16
to psychopy-users
Thanks for the suggestion Nate.
Can you also please confirm the version of psychopy being used on the 64 bit Windows 7 system, with the link to download.
If there are any steps involved besides installing the 'LPT Port test utility', do let me know.

Will give it a shot again!

Nate Vack

unread,
Apr 18, 2016, 9:36:03 PM4/18/16
to psychopy-users
Gosh, I don't know. People are using a few versions, all of which are old. We haven't installed the LPT Test Utility ourselves; the old way of getting inpout32 or whatever the bit is worked fine. It looks like the LPT Test Utility uses the same underlying drivers and DLLs.

Honestly, if I were setting this up now I'd be pretty inclined to use something like a Measurement Computing or National Instruments data acquisition board (looks like pyschopy supports MC gear out of the box?) rather than messing around with parallel ports. In practice the LPT port has been fine for us but yeah, setting it up was kind of dodgy.

In practice, you'll probably need someone with a fair bit of Windows experience, some python experience, a willingness to Google around and install sketchy-looking drivers from web sites, and the willingness to spend a few hours trying to get it going. It might take a few different parallel interface cards, too.

-n

--
You received this message because you are subscribed to the Google Groups "psychopy-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-user...@googlegroups.com.

To post to this group, send email to psychop...@googlegroups.com.

LisaLondon

unread,
Jun 12, 2016, 1:10:56 PM6/12/16
to psychopy-users
Hi Howard and others,

this is an old post now, but did you ever get an asnwer for this? I have a similar problem, the lab PC (windows XP, 32) won't connect my PsychoPy experiment to the parallel port (AttributeError: 'module' object has no attribute 'ParallelPort') although E-Prime experiments are working just fine. However, I don't want to update or install new parallelport drivers, in case it interferes with the E-Prime compatibility. I wont be very popular in my department if this happens!

Any help would be greatly appreciated!
Thanks!

Am Freitag, 22. August 2014 21:18:32 UTC+2 schrieb Howard Wu:

Hi,


We are looking to get PsychoPy compatible with the parallel port going to BioSemi/ActiView on Windows XP. I’m wondering if installing the drivers listed in the first post have resulted in driver incompatibilities for others doing experiments in other software (Matlab/PsychToolbox, EPrime, Presentation). 


Also, is there a way to go around installing the drivers and connecting PsychoPy with the parallel port?


Thanks,

Howard

Reply all
Reply to author
Forward
0 new messages