Problem Sending Parallel Port Signals to Acqknowledge - Code issue?


Author
Message
lukeholmes
lukeholmes
Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)
Group: Forum Members
Posts: 7, Visits: 19
Hello everyone,

We're trying to use Inquisit to send a signal to acqknowledge when certain stimuli are displayed - each one having a unique combination of  the 4 parallel port pins which we are using. When we use the Parallel Port Monitor function in Inquisit, the signals come through just fine, but for some reason the same signals will not send when the actual experiment is running. Since the parallel port monitor is able to send them we suspect it's not a driver issue and may instead be a problem with how the experiment is written - it was actually created for use with Inquisit 3, where it worked, but hasn't been changed to adopt any changes which Inquisit 4 made to the way ports are handled.


If someone experienced with both versions could take a quick look at the code below and let me know if any changes need to be made to make the port signals function properly, it would be much appreciated. Attached is the entire experiment script, and the parts where ports are defined can be found at the bottom of it.

Thanks very much!


--Luke Holmes, University of Essex

<video testvideo>
/numitems=1
/items=("PE1mid.wmv")
/select= noreplace
/ size = (100%,100%)
/playthrough=true
</video>

<video videox>
/numitems=6
/items=("mJaven.wmv", "mVance.wmv", "mWayne.wmv","fKylie.wmv", "fLindsay.wmv", "fRobyn.wmv")
/select= noreplace
/ size = (100%,100%)
/playthrough=true
</video>

<video video2>
/numitems=6
/items=("Geese.wmv", "Plains.wmv", "Clouds.wmv", "Herds.wmv", "Gnus.wmv", "Dolphins.wmv")
/select=noreplace
/size= (100%,100%)
/playthrough=true
</video>

<video testvideo2>
/numitems=1
/items=("PE2mid.wmv")
/select= noreplace
/ size = (100%,100%)
/playthrough=true
</video>

<item questions>
/1 = "How sexually attracted are you to this person?"
/2 = "How sexually appealing is this person to you?"
/3 = "How much would you like to date this person?"
</item>

<text question>
/ items = questions
/ select = noreplace
</text>

<item between>
/1="Please tell the experimenter you have stopped watching the nature video."
</item>

<text between>
/ items = between
/ select = noreplace
</text>

<trial testvideo>
/stimulusframes=[1=testvideo, testvideosig]
/responsemode=noresponse
</trial>

<trial videox>
/stimulusframes=[1=videox, videoxsig]
/responsemode=noresponse
</trial>

<trial video2>
/stimulusframes=[1=video2, video2sig]
/responsemode=noresponse
</trial>

<trial testvideo2>
/stimulusframes=[1=testvideo2, testvideo2sig]
/responsemode=noresponse
</trial>

<likert question>
/stimulusframes=[1=question]
/numpoints=7
/anchors=[1="not at all"; 4="average"; 7="very much"]
/anchorwidth=30
/position=(50,75)
</likert>

<trial between>
/stimulusframes=[1=between]
/ inputdevice=keyboard
/ validresponse = (8)
</trial>


<block testvideo>
/trials=[1=testvideo]
/preinstructions=(pretestvideo)
</block>


<page pretestvideo>
The experiment will both start and finish with an animation of clouds. This is simply for us to test our equipment, and you do not have to do anything but watch.^^
Between videos of people you will watch nature scenes. Their purpose is to give you a break between the erotic videos. After you have watched these nature scenes, tell the experimenter that you are ready to watch the next erotic video.^^
Remember to rate the attractiveness of each person as compared to the average person.
^^Click on "Next" to begin.
</page>

<block videox>
/trials=[
1,
7,
13,
19,
25,
31,
=videox;
2-4,
8-10,
14-16,
20-22,
26-28,
32-34,
=question;
5,
11,
17,
23,
29,
35,
=video2;
6,
12,
18,
24,
30,
36,
=between]
/preinstructions=(prevideox)
</block>

<page prevideox>
Now the real experiment can begin. ^^
Click on "Next" to continue.
</page>


<block testvideo2>
/trials=[1=testvideo2]
</block>

<expt>
/preinstructions=(intro1; intro2)
/blocks=[1=testvideo;2=videox;3=testvideo2]
/postinstructions=(end)
</expt>

<page intro1>
Welcome!^^
We are interested in your reactions to a series of videos of people.^^
These videos will show nude people masturbating and will be highly sexually explicit.^^
Click on "Next" to continue.
</page>

<page intro2>
After each video you will be asked how sexually attracted you are to this person, how sexy this person is to you,
and how likely you would want to date this person.^^
When giving your answers, compare each woman to the average woman and each man to the average man.
If you are in a relationship, rate each person as if you would be single.^^
Do not worry about rating people of a gender you are not sexually attracted to (e.g., men if you are a straight man). Your can always indicate that you are not attracted to a person.^^
Click on "Next" to continue.
</page>

<page end>
That's it. You're done! Thank you for participating.
</page>

<defaults>
/ color = (104, 119, 119)
/ txbgcolor = (104, 119, 119)
/ txcolor = (248, 248, 0)
/ screencolor = (104, 119, 119)
/ font = ("Arial", -24, 400, 0, 34)
</defaults>

<data>
/format=tab
/columns=[date time build subject trialcode blockcode blocknum
trialnum latency response stimulusitem stimulusnumber]
</data>

<instruct>
/ font = ("Arial", -24, 400, 0, 34)
/ screencolor = (104, 119, 119)
/txcolor = (248, 248, 0)
/ inputdevice = mouse
/ nextlabel = "Next"
/ lastlabel = "Next"
/ prevkey = (noresponse)
</instruct>

<port testvideosig>
/select = current(testvideo)
/ items = ("00000001")
/ port = lpt1
/ subport = data
</port>

<port videoxsig>
/ select = current(videox)
/ items = ("00000010","00000011","00000100","00000101","00000110","00000111")
/ port = lpt1
/ subport = data
</port>

<port mJaven.wmv>
/ select = mJaven.wmv
/ items = ("00000010")
/ port = lpt1
/ subport = data
</port>

<port mVance.wmv>
/ select = mVance.wmv
/ items = ("00000011")
/ port = lpt1
/ subport = data
</port>

<port mWayne.wmv>
/ select = mWayne.wmv
/ items = ("00000100")
/ port = lpt1
/ subport = data
</port>

<port fKylie.wmv>
/ select = fKylie.wmv
/ items = ("00000101")
/ port = lpt1
/ subport = data
</port>

<port fLindsay.wmv>
/ select = fLindsay.wmv
/ items = ("00000110")
/ port = lpt1
/ subport = data
</port>

<port fRobyn.wmv>
/ select = fRobyn.wmv
/ items = ("00000111")
/ port = lpt1
/ subport = data
</port>


<port video2sig>
/ select = current(video2)
/ items = ("00001000","00001001","00001010", "00001011","00001100","00001101")
/ port = lpt1
/ subport = data
</port>


<port Geese.wmv>
/ select = Geese.wmv
/ items = ("00001000")
/ port = lpt1
/ subport = data
</port>

<port Plains.wmv>
/ select = Plains.wmv
/ items = ("00001001")
/ port = lpt1
/ subport = data
</port>

<port Clouds.wmv>
/ select = Clouds.wmv
/ items = ("00001010")
/ port = lpt1
/ subport = data
</port>

<port Herds.wmv>
/ select = Herds.wmv
/ items = ("00001011")
/ port = lpt1
/ subport = data
</port>

<port Gnus.wmv>
/ select = Gnus.wmv
/ items = ("00001100")
/ port = lpt1
/ subport = data
</port>

<port Dolphins.wmv>
/ select = Dolphins.wmv
/ items = ("00001101")
/ port = lpt1
/ subport = data
</port>

<port testvideo2sig>
/select = current(testvideo2)
/ items = ("00001110")
/ port = lpt1
/ subport = data
</port>


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 83K
The very first thing you should verify is that the settings for your <port> elements' /port and /subport attributes match those in the Parallel Port Monitor. Moving on:

#1: What's the purpose of all the below <port> elements?

<port mJaven.wmv>
/ select = mJaven.wmv
/ items = ("00000010")
/ port = lpt1
/ subport = data
</port>

<port mVance.wmv>
/ select = mVance.wmv
/ items = ("00000011")
/ port = lpt1
/ subport = data
</port>

<port mWayne.wmv>
/ select = mWayne.wmv
/ items = ("00000100")
/ port = lpt1
/ subport = data
</port>

<port fKylie.wmv>
/ select = fKylie.wmv
/ items = ("00000101")
/ port = lpt1
/ subport = data
</port>

<port fLindsay.wmv>
/ select = fLindsay.wmv
/ items = ("00000110")
/ port = lpt1
/ subport = data
</port>

<port fRobyn.wmv>
/ select = fRobyn.wmv
/ items = ("00000111")
/ port = lpt1
/ subport = data
</port>

Their /select settings don't make any sense syntax-wise and won't work. However, none of those <port> elements is ever actually used throughout the script -- no <trial> ever displays any of them.

The only <port> elements actually used (and hence needed) are

<port testvideosig>
/select = current(testvideo)
/ items = ("00000001")
/ port = lpt1
/ subport = data
</port>

<port videoxsig>
/ select = current(videox)
/ items = ("00000010","00000011","00000100","00000101","00000110","00000111")
/ port = lpt1
/ subport = data
</port>

<port video2sig>
/ select = current(video2)
/ items = ("00001000","00001001","00001010", "00001011","00001100","00001101")
/ port = lpt1
/ subport = data
</port>

<port testvideo2sig>
/select = current(testvideo2)
/ items = ("00001110")
/ port = lpt1
/ subport = data
</port>

as used in

<trial testvideo>
/stimulusframes=[1=testvideo, testvideosig]
/responsemode=noresponse
</trial>

<trial videox>
/stimulusframes=[1=videox, videoxsig]
/responsemode=noresponse
</trial>

<trial video2>
/stimulusframes=[1=video2, video2sig]
/responsemode=noresponse
</trial>

<trial testvideo2>
/stimulusframes=[1=testvideo2, testvideo2sig]
/responsemode=noresponse
</trial>

#2: You should also set at least a small /trialduration for all your various video-display trials:

<trial videox>
/stimulusframes=[1=videox, videoxsig]
/responsemode=noresponse
/ trialduration = 100
</trial>

and so forth for the other relevant <trial> elements.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search