Inquisit to BIOPAC to Acqknowledge


Author
Message
SarahE
SarahE
Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)
Group: Awaiting Activation
Posts: 2, Visits: 25
Hi!

I am very new to this. I am trying to send TTL parallel signals from Inquisit to Acqknowledge. I am trying to modify the DeathSuicideIAT from the Millisecond Test Library. I used the Inquisit 4 manual and the Auditory Oddball Task as references to do this, but I must be doing something wrong. The Auditory Oddball task works with Acqknowledge as is. Would someone mind looking at this?

Thanks for the help! 

**************************************************************************************************************
**************************************************************************************************************
Death Suicide TASK STIMULI
**************************************************************************************************************
**************************************************************************************************************
<port attributeAsignal>
/ port = LPT1
/ subport = data
/ items = ("00000001")
</port>

<port attributeBsignal>
/ port = LPT1
/ subport = data
/ items = ("00000010")
</port>

<port targetBleftsignal>
/ port = LPT1
/ subport = data
/ items = ("00000011")
</port>

<port targetBrightsignal>
/ port = LPT1
/ subport = data
/ items = ("00001000")
</port>

<port targetAleftsignal>
/ port = LPT1
/ subport = data
/ items = ("00001000")
</port>

<port targetArightsignal>
/ port = LPT1
/ subport = data
/ items = ("00100000")
</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: 13K, Visits: 104K
All you have there is a bunch of <port> elements. By themselves they do nothing. Like any other stimulus element (<text>, <picture>, etc.) you need to "display" the <port> elements via the <trial>s' /stimulustimes or -frames, /responsemessage, etc. attributes.

SarahE
SarahE
Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)Partner Member (607 reputation)
Group: Awaiting Activation
Posts: 2, Visits: 25
Thanks for the help! I figured out what I was doing wrong and it was an easy fix. Now we want to send the TTL signal at the beginning of each block instead of by element. To send the signal by element, I did this for all of them:

<trial attributeA>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ stimulusframes = [1 = attributeA, attributeAsignal]
/ posttrialpause = 250
</trial>

Do you have any advice on how to send the signal by block? I defined the ports like this:

<port compatibletest1signal>
/ port = LPT1
/ subport = data
/ items = ("00000001")
</port>

<port compatibletest2signal>
/ port = LPT1
/ subport = data
/ items = ("00000010")
</port>

<port incompatibletest1signal>
/ port = LPT1
/ subport = data
/ items = ("00000011")
</port>

<port incompatibletest2signal>
/ port = LPT1
/ subport = data
/ items = ("00001000")
</port>

Here's one block. I tried using /stimulusframes = [ 1 = compatibletest1, compatibletest1signal] and I got several event markers on Aqcknowledge instead of a single event marker. Is there something else I should type to send a signal at the beginning and end of each block?

<block compatibletest1>
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.sum1a = values.sum1a + block.compatibletest1.latency]
/ ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n1a += 1]
/ ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.ss1a = values.ss1a + (block.compatibletest1.latency * block.compatibletest1.latency)]
/ ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n_correct += block.compatibletest1.correct]
</block>

Thanks for the guidance! I attached the whole thing if that is easier to look at. 

Sarah
Attachments
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: 13K, Visits: 104K
A <block> has no /stimulusframes or -times attribute. You can either send the "block-level" signal by inserting a <trial> at the start of the block (1st trial in the /trials attribute) that sends / displays the respective <port> element OR you can try including the port stimulus in the <block>'s /bgstim attribute. To send a signal *at the end* of a <block>, there is no other way than to run a <trial> that displays the <port> stimulus as the block's final trial.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search