sending trigger to other devices locked on to the time of response
David McFarlane
mcfarla9 at msu.edu
Tue Jun 28 16:15:45 UTC 2011
Gosh, looking over this old thread, I see that I overinterpreted the
question and answered one more complex than the question asked. I
addressed the question of how to send an output signal following a
response that did *not* terminate the stimulus (i.e., End Action =
(none), so stimulus finishes its Duration after the response).
More likely the questioner had a simpler case in mind, i.e., a
self-paced stimulus where the response terminates the stimulus, and
then E-Prime sends an output signal. For that simpler case, please
see discussion at
http://groups.google.com/group/e-prime/browse_thread/thread/ef0e5a8d8b87aa0c .
-- David McFarlane, Professional Faultfinder
At 9/2/2010 03:08 PM Thursday, you wrote:
>Good timing -- It just so happens that I have been working on this
>very issue for a lab here. You have to make the proper settings in
>your stimulus, and use a bit of inline code following the
>stimulus. Here is the fully-commented inline code for my solution:
>
>
>'/----------------------------------------------------------------------
>' We wish to present a stimulus (in this case, StimText), get a
>' response during that stimlus, and raise a signal as soon as the
>' subject responds.
>'
>' To do that, we need to run this inline code during StimText. We
>' could simply set the Duration of StimText to 0 or so (depending on
>' considerations such as leaving some time between stimulus .OnsetSignal
>' and .OffsetSignal) and then our code would have to also handle
>' further stimulus timing. But with judicious use of Duration and
>' PreRelease, E-Prime will automatically take care of stimulus timing
>' for us.
>'
>' So instead we simply set the Duration of StimText as desired (which
>' as a result automatically determines the target onset time for the
>' next stimulus object), and we set the PreRelease of StimText to a
>' suitably large value (preferably >= Duration, but perhaps less due
>' to other considerations as mentioned earlier). Now this code will
>' start to run soon after the onset of StimText, and handle the
>' reaction to the subject response.
>'
>' Finally, this code simply makes use of .IsPending() to detect the
>' response (see the InputMask.IsPending topic in the online E-Basic
>' Help). Note that as a result StimText will last at least as long
>' its input mask Time Limit, regardless of its Duration (if you just
>' keep Time Limit at the default of "(same as duration)" then this
>' will not pose a problem).
>
>Const LptDataPort as Integer = &H0378 ' adjust this for your system
>Const SignalData as Integer = &HFF ' adjust this for your device
>Const LoopDelay as Long = 2 'ms; set as small as possible for your
> ' system
>
>Do While StimText.InputMasks.IsPending()
> ' Some slower machines (such as my home laptop) need a delay so that
> ' EP can detect & handle input:
> Sleep LoopDelay
>Loop
>WritePort LptDataPort, SignalData
>'\----------------------------------------------------------------------
>
>
>This is fine as long as you limit the response to coming during the
>stimulus. If you want to present a train of stimuli during the
>response period then you must do a little more. I also have a
>solution for that, but it is rather intricate and too much trouble
>to go into here, so I hope this is good enough for now.
>
>-- David McFarlane, Professional Faultfinder
>
>
>At 9/1/2010 02:38 AM Wednesday, Jaeyong Lee wrote:
>>I was wondering if there is a way to send trigger signals locked on
>>the response time.
>>
>>For instance,
>>
>>Stim.OnsetSignalEnabled = True
>>Stim.OnsetSignalPort = &H378
>>Stim.OnsetSignalData = 1
>>
>>
>>WritePort &h378, 0
>>
>>the above code send triggers at the onset of the object "Stim".
>>
>>However, I am trying to figure out a way to send triggers at the time
>>of response of "Stim".
>>
>>I would greatly appreciate all tips and advices from you. Thanks.
--
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-prime at googlegroups.com.
To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com.
For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.
More information about the Eprime
mailing list