<div>And follow-through from PST: </div><div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "><span style="font-family: arial, sans-serif; background-color: rgb(240, 248, 255); font-size: x-small; ">At this time it is not possible to use Task Events as you describe, but we are considering whether it is possible to change this behavior in the future. I am glad you are able to use the other option for now.</span> </blockquote><div><br></div><div>Well, glad we can do it in some way.</div><div><br></div><div>J</div><div><br></div><br><br>El miércoles, 4 de abril de 2012 10:51:48 UTC-4, JDB  escribió:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">Thanks, David. <div><br></div><div>I've submitted a support request; I'll be sure to update here if anything useful comes of it. For now, I'll stick with the plan I began to outline:</div><div>1. Send a set code when the user responds (e.g., custom value = 54). </div><div>2. At the subsequent slide, send the actual response as done before (using If/Then) statements. </div><div><br></div><div>While not particularly elegant, this solution should allow such analyses as I'm interested in doing. (Performing conditional operations on EEG data will be possible, as will time-locking to participants' responses.) </div><div><br></div><div>J</div><div><br><br><br><br>El martes 3 de abril de 2012 17:42:55 UTC-4, McFarlane, David  escribió:<blockquote class="gmail_quote" style="margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">Ooh, I did not think about Task Events having a <br>limited range of output options, thanks for <br>acting the pioneer and reporting back.  I cannot <br>think of any way around that, so your best bet is <br>PST Web Support.  We also use ActiView/Biosemi, <br>so I can confirm that for input it takes only <br>8-bit values, i.e., integers in the range 0-255 (aka &h00 to &hFF).<p>The bit of generated code that you supply does <br>not give us much hope either, it seems to confirm <br>that Task Events allows only a limited range of <br>fixed "Action" items.  BTW, the "ebUCase_W" etc. <br>that you mention may be part of PST's effort to <br>reduce the use of quoted strings so as to avoid <br>"Script too big" problems, if you look in the KB <br>you can find some articles about this.</p><p>So offhand I agree that your best bet is your <br>plan to output a simple signal at the time of <br>response and then follow that with a later signal <br>for the coded response value.  Just one hint, if <br>the signal on the output line is usually 0, then <br>the external equipment will not see another 0 <br>output because there is no change on the output, <br>you have to output something different (I explain <br>this in my fMRI & EEG lesson).</p><p>BTW, I cannot resist a little programming style <br>note.  The conventional way to indent your If-ElseIf-End If would be</p><p>If TaskImage.RESP = "l" Then<br>     resp = 55<br>ElseIf TaskImage.RESP = "s" Then<br>     resp = 56<br>ElseIf TaskImage.RESP = "o" Then<br>     resp = 57<br>ElseIf TaskImage.RESP = "w" Then<br>     resp = 58<br>ElseIf TaskImage.RESP = "" Then<br>     resp = 59<br>Else<br>     resp = 60<br>End If</p><p>At least you use ElseIf -- you wouldn't believe <br>how many people I see do this with an ugly and <br>inefficient sequence of plain If-Then-End If statements.</p><p>Regards,<br>-- David McFarlane</p><p><br>At 4/3/2012 04:43 PM Tuesday, JDB wrote:<br>>I'm glad to hear from someone else that the code <br>>appears to work. I do wish it were more <br>>efficient, but I don't have the budget to do the <br>>online course, for the moment.<br>><br>>I've followed David's suggestion and upgraded to <br>>E-Prime 2.0.10 Professional (it was time), which <br>>does indeed have Task Events that seem to fit my <br>>needs. The problem is that the TaskImage.RESP is <br>>not a number, which is (I believe) what my <br>>external device needs—it's a letter. I don't <br>>think I can use an IF,Then statement in the <br>>parameters under Task Events. Am I missing something?<br>><br>>One option I can think of is to send the <br>>accuracy (a 1 or 0) when the participant <br>>responds as a Task Event, and to send the <br>>numeric code for response at the Offset via InLine code (as before).<br>><br>>Better, though, would be to now code using the <br>>code it generates from the Task Events. Is this <br>>possible? When I Generate the experiment, the relevant lines are:<br>>If ParallelPort.GetState() = ebStateOpen Then<br>><br>>TaskImage.Tasks.Add <br>>ParallelPort.CreateTask("<wbr>TaskImage.Keyboard(1).Press", <br>>0, WriteByteACC, , Long, CLogical(Yes))<br>><br>>End If<br>><br>><br>>(I've written out "WriteByteACC"—E-Studio writes <br>>it as "ebUCase_W, ebLCase_r", etc. I'm copying <br>>from another computer, but I'm also not sure <br>>whether the eb?Case letter-names are necessary.)<br>><br>>In any case, could I insert this as InLine code <br>>instead (before the TaskImage), and include the <br>>code I suggested above (*updated below)? Or <br>>should I instead look into the other links <br>>recommended (e.g., using the IsPending() function)? Any thoughts?<br>><br>>Barring suggestions, I will of course contact <br>>PST staff [and post their response here].<br>><br>>Thanks!<br>><br>>* Code to insert:<br>><br>>'''''''''''''''''''''''''''''<wbr>''''''''''''''''''''''''''''''<wbr>'''''''''<br>>' InLine - Code START<br>>'''''''''''''''''''''''''''''<wbr>''''''''''''''''''''''''''''''<wbr>'''''''''<br>>If TaskImage.RESP = "l" Then<br>>         resp = 55<br>>     ElseIf TaskImage.RESP = "s" Then<br>>         resp = 56<br>>     ElseIf TaskImage.RESP = "o" Then<br>>         resp = 57<br>>     ElseIf TaskImage.RESP = "w" Then<br>>         resp = 58<br>>     ElseIf TaskImage.RESP = "" Then<br>>         resp = 59<br>>     Else resp = 60<br>>End If<br>><br>>If ParallelPort.GetState() = ebStateOpen Then<br>>TaskImage.Tasks.Add <br>>ParallelPort.CreateTask("<wbr>TaskImage.Keyboard(1).Press", <br>>0, WriteByte(custom), resp, Integer, CLogical(Yes))<br>><br>>End If<br>>'''''''''''''''''''''''''''''<wbr>''''''''''''''''''''''''''''''<wbr>'''''''''<br>>' InLine - Code END<br>>'''''''''''''''''''''''''''''<wbr>''''''''''''''''''''''''''''''<wbr>'''''''''<br>><br>><br>><br>><br>>On Thursday, March 22, 2012 4:32:25 PM UTC-4, McFarlane, David wrote:<br>>If you use EP2.0.10.182 *Professional* or later then you are in luck<br>>-- see the new Task Events feature documented at<br>><<a href="http://www.pstnet.com/support/kb.asp?TopicID=4803" target="_blank">http://www.pstnet.com/<wbr>support/kb.asp?TopicID=4803</a>><a href="http://www.pstnet.com/support/kb.asp?TopicID=4803" target="_blank">ht<wbr>tp://www.pstnet.com/support/<wbr>kb.asp?TopicID=4803</a> <br>>.  (Remember, I<br>>have uniformly advised everyone to spend the extra money for<br>>Professional, no matter what PST advises.)<br>><br>>If you do not have EP2.0.10.182 Pro, then you might look at<br>><<a href="http://groups.google.com/group/e-prime/browse_thread/thread/cfc3d0307d5c7fbd" target="_blank">http://groups.google.com/<wbr>group/e-prime/browse_thread/<wbr>thread/cfc3d0307d5c7fbd</a>><a href="http://groups.google.com/group/e-prime/browse_thread/thread/cfc3d0307d5c7fbd" target="_blank">http:/<wbr>/groups.google.com/group/e-<wbr>prime/browse_thread/thread/<wbr>cfc3d0307d5c7fbd</a> <br>><br>>and<br>><<a href="http://groups.google.com/group/e-prime/browse_thread/thread/ef0e5a8d8b87aa0c" target="_blank">http://groups.google.com/<wbr>group/e-prime/browse_thread/<wbr>thread/ef0e5a8d8b87aa0c</a>><a href="http://groups.google.com/group/e-prime/browse_thread/thread/ef0e5a8d8b87aa0c" target="_blank">http:/<wbr>/groups.google.com/group/e-<wbr>prime/browse_thread/thread/<wbr>ef0e5a8d8b87aa0c</a> <br>><br>>for hints.  Or, of course, take this up with PST Web Support at<br>><<a href="http://support.pstnet.com/e%2Dprime/support/login.asp" target="_blank">http://support.pstnet.com/e%<wbr>2Dprime/support/login.asp</a>><a href="http://support.pstnet.com/e%2Dprime/support/login.asp" target="_blank">http<wbr>://support.pstnet.com/e%<wbr>2Dprime/support/login.asp</a> <br>>, where they<br>>strive to respond to all requests in 24-48 hours.  And if you do get<br>>an answer from PST staff, please extend the courtesy of posting their<br>>reply back here for the sake of others.<br>><br>>BTW, although your particular inline code for the stimulus signal<br>>works well enough (which is a virtue), it suffers in efficiency.  I<br>>have an entire lesson about handling these sorts of things in my<br>>online course (although that lesson does not address your precise<br>>response signal question).<br>><br>>-----<br>>David McFarlane<br>>E-Prime training<br>>online: <br>><<a href="http://psychology.msu.edu/Workshops_Courses/eprime.aspx" target="_blank">http://psychology.msu.edu/<wbr>Workshops_Courses/eprime.aspx</a>><a href="http://psychology.msu.edu/Workshops_Courses/eprime.aspx" target="_blank"><wbr>http://psychology.msu.edu/<wbr>Workshops_Courses/eprime.aspx</a><br>>Twitter:  @EPrimeMaster <br>>(<<a href="http://twitter.com/EPrimeMaster" target="_blank">http://twitter.com/<wbr>EPrimeMaster</a>><a href="http://twitter.com/EPrimeMaster" target="_blank">twitter.com/<wbr>EPrimeMaster</a>)<br>><br>><br>>At 3/22/2012 03:52 PM Thursday, you wrote:<br>> >I'm working on a project that involves interfacing an E-Prime<br>> >experiment with the ActiView/Biosemi interface for EEG recording.<br>> ><br>> >I have this in the UserScript:<br>> >Const Sport as Integer = &H378<br>> ><br>> >Every time an image appears, this code is sent immediately before:<br>> ><br>> >InLine:<br>> >Intermediary.<wbr>OnsetSignalEnabled = True<br>> >Intermediary.OnsetSignalPort = Sport<br>> >Intermediary.OnsetSignalData = c.GetAttrib("IntermediaryCode"<wbr>)<br>> ><br>> >Intermediary.OffsetSignalData = 0<br>> >Intermediary.OffsetSignalPort = Sport<br>> >Intermediary.<wbr>OffsetSignalEnabled = True<br>> ><br>> >This works fine. The task then presents the participant with images,<br>> >to one of which they respond; the image is on-screen for 500ms,<br>> >followed by a fixation cross for another 500ms. They can respond at<br>> >any point, but the image & cross are on-screen for a set amount of<br>> >time. What I'd like is for the stimcode to be sent as soon as possible<br>> >after the response. I've been successful in sending a response code<br>> >after fixation cross goes away, using the following code:<br>> ><br>> >InLine:<br>> >If TaskImage.RESP = "l" Then<br>> >         resp = 55<br>> >     ElseIf TaskImage.RESP = "s" Then<br>> >         resp = 56<br>> >     ElseIf TaskImage.RESP = "o" Then<br>> >         resp = 57<br>> >     ElseIf TaskImage.RESP = "w" Then<br>> >         resp = 58<br>> >     ElseIf TaskImage.RESP = "" Then<br>> >         resp = 59<br>> >     Else resp = 60<br>> >End If<br>> ><br>> >FixationCross2.<wbr>OnsetSignalEnabled = True<br>> >FixationCross2.<wbr>OnsetSignalPort = Sport<br>> >FixationCross2.<wbr>OnsetSignalData = resp<br>> ><br>> >FixationCross2.<wbr>OffsetSignalEnabled = True<br>> >FixationCross2.<wbr>OffsetSignalPort = Sport<br>> >FixationCross2.<wbr>OffsetSignalData = 0<br>> ><br>> >However, this only works by sending itself at the beginning of a new<br>> >fixation cross. Ideally, subject responses would be sent WHEN they<br>> >respond. But I can't figure out how to do that. Is there some function<br>> >equivalent to "OnResponse"? It seems like it should be possible, but<br>> >I'm not sure how to do it.<br>> ><br>> >Thanks for your help!</p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p></blockquote></div></blockquote>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups "E-Prime" group.<br />
To view this discussion on the web visit <a href="https://groups.google.com/d/msg/e-prime/-/FtSyBOPcHNMJ">https://groups.google.com/d/msg/e-prime/-/FtSyBOPcHNMJ</a>.<br /> 
To post to this group, send email to e-prime@googlegroups.com.<br />
To unsubscribe from this group, send email to e-prime+unsubscribe@googlegroups.com.<br />

For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.<br />