E-prime Triggers are partially but no completely read by Aquisition

67 views
Skip to first unread message

Gabriel Mograbi

unread,
Jun 2, 2014, 2:16:00 PM6/2/14
to e-p...@googlegroups.com
Dear All,

I am a complete newbie in e-prime. A philosopher by formation venturing myself in a postdoctoral fellowship in neuroscience. And I an running against time to run an experiment before my fellowship finishes. 

I am having problems with sending triggers to the "Aquisition" machine.

In my protocol I have 3 procedures (conditions) that divide the big list into 3. I have a first general Inline to open the ports. And I have an Onset Inline for each of the questions and each of the stimuli that can after the question. All that works. I can manage to make the machines send triggers when the question 1,2 and 3 appears and then when the 1,2 and 3 stimuli appears. When I try to insert an InLine after the stimuli, the first trigger (the one that marks the onset of the question does not work anymore)  

So my list is divided in 3 procedures (conditions) and each has the following structure

Text (ITI Fixation Cross with Jittered values) 
Inline 
question (Image Display with 2000 ms duration)
Another ITI (Fication Cross with Jittered Values)
Inline
products (Stimulus/Image Display with fixed duration) 



My script runs like that. First in the beginning of the protocol:

question2.OnsetSignalEnabled = True
question2.OnsetSignalPort = &H378
question2.OffsetSignalEnabled= True
question2OffsetSignalPort = & H378

products2.OnsetSignalEnabled = True
products2.OnsetSignalPort = &H378
products2.OffsetSignalEnabled= True
products2OffsetSignalPort = & H378

question1.OnsetSignalEnabled = True
question1.OnsetSignalPort = &H378
question1.OffsetSignalEnabled= True
question1.OffsetSignalPort = & H378

products1.OnsetSignalEnabled = True
products1.OnsetSignalPort = &H378
products1.OffsetSignalEnabled= True
products1OffsetSignalPort = & H378

question1.OnsetSignalEnabled = True
question1.OnsetSignalPort = &H378
question1.OffsetSignalEnabled= True
question1.OffsetSignalPort = & H378

products3.OnsetSignalEnabled = True
products3.OnsetSignalPort = &H378
products3.OffsetSignalEnabled= True
products3.OffsetSignalPort = & H378

Before each condition (specific procedure) 

I have a Inline like that
question2.OnsetSignalData ="2"  and so on... for each of the question and products...

That works all fine! But I have to use a trigger for the responses of the stimuli. Whenever I insert

WritePort &H378,"11"  or any other value,

transforming the procedure to this structure to:

Text ITI (Fixation Cross with Jittered values) 
Inline 
question (Image Display with 2000 ms duration)
Another ITI (Fication Cross with Jittered Values)
Inline
product (Stimulus/Image Display with fixed duration)
InLine - WritePort &H378,"11"


after each product object, the first trigger (related to the question) stops appearing in the aquisition machine. The Writeport command functions, the products onset keeps working, but the question that comes in the beginning of this condition stops appearing.
 
I will be deeply grateful if you could help me out, as I tried various (hundreds of) diverse strategies to fix the problem and nothing seems to work! 

Best,

Gabriel

Paul Groot

unread,
Jun 3, 2014, 3:54:55 AM6/3/14
to e-p...@googlegroups.com
Gabriel,

I've read your post twice, but your description seems to have some contradictory information, so I'm a bit lost there... 

Anyway, EP2 pro has a new method for generating triggers by using so called 'Task Events'. Task events offer a more elegant solution if your script has to create triggers when an input event occurs. Just have a look at these pages:

https://www.youtube.com/watch?v=0oxtfdZb0Fo


Paul



--
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To unsubscribe from this group and stop receiving emails from it, send an email to e-prime+u...@googlegroups.com.
To post to this group, send email to e-p...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/e-prime/a1092837-37ba-47d7-a3bd-2a49c4d0e318%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

David McFarlane

unread,
Jun 3, 2014, 6:16:54 PM6/3/14
to e-p...@googlegroups.com
Gabriel,

First, what Paul said -- if you have EP2.0.10 or
later, you should look into using the new Task Events feature instead.

Second, this thread seems to stem from
https://groups.google.com/d/topic/e-prime/HZbe0baSMeY .

Third, a couple odditities in your inline code fragments. Your lines

question2.OnsetSignalData ="2"

and

WritePort &H378,"11"

just seem weird, are you sure that those do not read instead?

question2.OnsetSignalData 2

and

WritePort &H378, 11

? (Oh, and you should use Constants instead of
"magic numbers" in your code, but that is another matter.)

Now, for the advice. We have found that when we
have EP output a signal to an external device
(e.g., EEG), we then have to have EP reset the
output port to 0 before another output will
work. Remember, EP does *not* output *pulses*,
it merely sets the output to your data and then
leaves it there until you do something to change
it (I go over this in a lesson on my course). I
imagine that your Onset & OffsetSignal data
normally take care of setting the output, and
then later resetting it to 0. Your WritePort
does not. You would need to do another WritePort
to reset the output at some appropriate time, or
another OnsetSignal, etc. Task Events can make
it very nice to setup both the signal and the reset for any stimulus object.

Just a thought. Good luck.

-----
David McFarlane
E-Prime training
online: http://psychology.msu.edu/Workshops_Courses/eprime.aspx
Twitter: @EPrimeMaster (https://twitter.com/EPrimeMaster)

/----
Stock reminder: 1) I do not work for PST. 2)
PST's trained staff take any and all questions at
https://support.pstnet.com , and they strive to
respond to all requests in 24-48 hours, so make
full use of it. 3) In addition, PST offers
several instructional videos on their YouTube
channel (http://www.youtube.com/user/PSTNET
). 4) If you do get an answer from PST staff,
please extend the courtesy of posting their reply
back here for the sake of others.
\----


At 6/3/2014 03:54 AM Tuesday, Paul Groot wrote:
>Gabriel,
>
>I've read your post twice, but your description
>seems to have some contradictory information, so I'm a bit lost there...Â
>
>Anyway, EP2 pro has a new method for generating
>triggers by using so called 'Task Events'. Task
>events offer a more elegant solution if your
>script has to create triggers when an input
>event occurs. Just have a look at these pages:
>
><http://www.pstnet.com/support/kb.asp?TopicID=4803>http://www.pstnet.com/support/kb.asp?TopicID=4803
>https://www.youtube.com/watch?v=0oxtfdZb0Fo
>
>
>Paul
>
>
>
>On 2 June 2014 20:16, Gabriel Mograbi
><<mailto:gabriel...@gmail.com>gabriel...@gmail.com> wrote:
>Dear All,
>
>I am a complete newbie in e-prime. A philosopher
>by formation venturing myself in a postdoctoral
>fellowship in neuroscience. And I an running
>against time to run an experiment before my fellowship finishes.Â
>
>I am having problems with sending triggers to the "Aquisition" machine.
>
>In my protocol I have 3 procedures (conditions)
>that divide the big list into 3. I have a first
>general Inline to open the ports. And I have an
>Onset Inline for each of the questions and each
>of the stimuli that can after the question. All
>that works. I can manage to make the machines
>send triggers when the question 1,2 and 3
>appears and then when the 1,2 and 3 stimuli
>appears. When I try to insert an InLine after
>the stimuli, the first trigger (the one that
>marks the onset of the question does not work anymore)Â Â
>
>So my list is divided in 3 procedures
>(conditions) and each has the following structure
>
>Text (ITI Fixation Cross with Jittered values)Â
>InlineÂ
>question (Image Display with 2000 ms duration)
>Another ITI (Fication Cross with Jittered Values)
>Inline
>products (Stimulus/Image Display with fixed duration)Â
>Before each condition (specific procedure)Â
>
>I have a Inline like that
>question2.OnsetSignalData ="2"Â and so on...
>for each of the question and products...
>
>That works all fine! But I have to use a trigger
>for the responses of the stimuli. Whenever I insert
>
>WritePort &H378,"11"Â or any other value,
>
>transforming the procedure to this structure to:
>
>Text ITI (Fixation Cross with Jittered values)Â
>InlineÂ
>question (Image Display with 2000 ms duration)
>Another ITI (Fication Cross with Jittered Values)
>Inline
>product (Stimulus/Image Display with fixed duration)
>InLine - WritePort &H378,"11"
>
>
>after each product object, the first trigger
>(related to the question) stops appearing in the
>aquisition machine. The Writeport command
>functions, the products onset keeps working, but
>the question that comes in the beginning of this condition stops appearing.

>I will be deeply grateful if you could help me
>out, as I tried various (hundreds of) diverse
>strategies to fix the problem and nothing seems to work!Â
>
>Best,
>
>Gabriel

Reply all
Reply to author
Forward
0 new messages