From salemibehnam at gmail.com Wed Dec 9 03:30:02 2009 From: salemibehnam at gmail.com (Ben) Date: Tue, 8 Dec 2009 19:30:02 -0800 Subject: Flashing two dots at different frequencies. Message-ID: Hi, For a SSVEP experiment I need to flash two dots on an image at different frequencies. My problem is that I haven't been able find a way to set different timings for each dot to turn on and off independently. I am new to E-Prime and would appreciate your help. Thank you, Ben. -- 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. From liwenna at gmail.com Wed Dec 9 10:10:12 2009 From: liwenna at gmail.com (liwenna) Date: Wed, 9 Dec 2009 02:10:12 -0800 Subject: FW: Message ("This is only a mirror of the EPRIME list. You...") In-Reply-To: <4b1eab65.5244f10a.2895.7008SMTPIN_ADDED@gmr-mx.google.com> Message-ID: I've started receiving these since a couple of weeks now. I figured the owner of the listserv group probably changed some setting or another. On Dec 8, 8:39 pm, David McFarlane wrote: > Mich, > > Yes, I have started getting these every time I > post to the Group. I never got them as long as I > was only subscribed to the old E-Prime List, but > recently I officially "joined" the Google Group, > with the hope that I could contribute some of my > demo programs to the Files section (that required > getting a Google account, and then I still could > not upload files, sigh). And ever since I joined > the Google Group I have gotten that message every time I post. Coincidence? > > -- David McFarlane, Professional Faultfinder > > At 12/8/2009 07:23 AM Tuesday, you wrote: > > >Does anyone else keep getting this message? I'm > >sort of wondering what I keep doing wrong, and > >secondly, whether there's a difference between > >eprime at googlegroups.com and e-prime at googlegroups.com... > >Best, > >Mich > > >Michiel Spapé > >Research Fellow > >Perception & Action group > >University of Nottingham > >School of Psychology > > >-----Original Message----- > >From: LISTSERV.LINGUISTLIST.ORG LISTSERV Server > >(15.5) [mailto:LISTS... at LISTSERV.LINGUISTLIST.ORG] > >Sent: 25 November 2009 11:39 > >To: Michiel.Sp... at NOTTINGHAM.AC.UK > >Subject: Message ("This is only a mirror of the EPRIME list. You...") > > >This is only a mirror of the EPRIME list. You cannot therefore post messages > >for EPRIME to this address. If you wish to do so, you must send mail to the > >address EPR... at GOOGLEGROUPS.COM or the appropriate list-owner. > >This message has been checked for viruses but the contents of an attachment > >may still contain software viruses which could damage your computer system: > >you are advised to perform your own checks. Email communications with the > >University of Nottingham may be monitored as permitted by UK legislation. -- 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. From liwenna at gmail.com Wed Dec 9 10:59:11 2009 From: liwenna at gmail.com (liwenna) Date: Wed, 9 Dec 2009 02:59:11 -0800 Subject: FW: Message ("This is only a mirror of the EPRIME list. You...") In-Reply-To: <92f75876-bf0b-490d-b691-e3e821b96352@k4g2000yqb.googlegroups.com> Message-ID: Didn't get it for the above message though O.o On Dec 9, 11:10 am, liwenna wrote: > I've started receiving these since a couple of weeks now. I figured > the owner of the listserv group probably changed some setting or > another. > > On Dec 8, 8:39 pm, David McFarlane wrote: > > > Mich, > > > Yes, I have started getting these every time I > > post to the Group. I never got them as long as I > > was only subscribed to the old E-Prime List, but > > recently I officially "joined" the Google Group, > > with the hope that I could contribute some of my > > demo programs to the Files section (that required > > getting a Google account, and then I still could > > not upload files, sigh). And ever since I joined > > the Google Group I have gotten that message every time I post. Coincidence? > > > -- David McFarlane, Professional Faultfinder > > > At 12/8/2009 07:23 AM Tuesday, you wrote: > > > >Does anyone else keep getting this message? I'm > > >sort of wondering what I keep doing wrong, and > > >secondly, whether there's a difference between > > >eprime at googlegroups.com and e-prime at googlegroups.com... > > >Best, > > >Mich > > > >Michiel Spapé > > >Research Fellow > > >Perception & Action group > > >University of Nottingham > > >School of Psychology > > > >-----Original Message----- > > >From: LISTSERV.LINGUISTLIST.ORG LISTSERV Server > > >(15.5) [mailto:LISTS... at LISTSERV.LINGUISTLIST.ORG] > > >Sent: 25 November 2009 11:39 > > >To: Michiel.Sp... at NOTTINGHAM.AC.UK > > >Subject: Message ("This is only a mirror of the EPRIME list. You...") > > > >This is only a mirror of the EPRIME list. You cannot therefore post messages > > >for EPRIME to this address. If you wish to do so, you must send mail to the > > >address EPR... at GOOGLEGROUPS.COM or the appropriate list-owner. > > >This message has been checked for viruses but the contents of an attachment > > >may still contain software viruses which could damage your computer system: > > >you are advised to perform your own checks. Email communications with the > > >University of Nottingham may be monitored as permitted by UK legislation. -- 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. From mcfarla9 at msu.edu Wed Dec 9 14:44:22 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 9 Dec 2009 09:44:22 -0500 Subject: Flashing two dots at different frequencies. In-Reply-To: Message-ID: Ben, Standard reminder: 1) I do not work for PST. 2) PST's trained staff really does like to take any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours. So don't be shy there. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take ... Hmm, it would make it rather easier if one frequency were an integral multiple of the other. In that case the slower dot appears only in conjunction with the faster one, and you could simply use two different Slides with a List that cycles through them at the right frequency. But I assume that your situation is not so simple. Back when I did this sort of thing in C, at the start of the session I would create an array with all the scheduled times and events, and then just roll that out through an event loop. E.g., if each dot persisted for 200 ms, and one dot flashed every 500 ms while the other every 750 ms, then my array might look like t_ms event ---- ----- 0 dot500on 200 dot500off 500 dot500on 700 dot500off 750 dot750on 950 dot750off 1000 dot500on 1200 dot500off 1500 dot500on 1500 dot750on 1700 dot500off 1700 dot750off 2000 dot500on 2200 dot500off (Actually, I would add the start time of the session to all those times.) In principle you could do this with E-Prime, but I am not about to demonstrate that myself. I call this general approach an "in advace" technique. If you prefer an "on the fly" technique, then you might consider using inline script to select which dot(s) appear next, and to manipulate SetNextTargetOnsetTime for that dot to appear (or use .CustomOnsetTime & .CustomOffsetTime if you prefer) -- see the online E-Basic Help. Because one dot might need to turn on or off during the duration of another dot, you might still need to set the Duration of the dots to 0 and use script to turn them off at the appropriate time. I sure hope someone else chimes in with a better idea! -- David McFarlane, Professional Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) Ben wrote: > For a SSVEP experiment I need to flash two dots on an image at > different frequencies. My problem is that I haven't been able find a > way to set different timings for each dot to turn on and off > independently. > I am new to E-Prime and would appreciate your help. > > Thank you, > Ben. -- 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. From vvanmulukom at gmail.com Wed Dec 9 22:33:27 2009 From: vvanmulukom at gmail.com (Valerie) Date: Wed, 9 Dec 2009 14:33:27 -0800 Subject: How to implement ordered stimulus repetition in E-Prime Message-ID: Hi, For my fMRI adaptation experiment, I need to encode ordered repetitions. That is, I have an ordered list of stimuli that will be presented, but within this list (each of the) 12 items will be repeated three times (with a variable number of intervening trials). I was wondering, is there a way to make use of the ID’s that the different stimuli have to implement this repetition in E-Prime? For example, by writing some script which recalls an ID or something? (I.e. [present 1, 2, 3, 1, ..]). I will need to make 125 lists, so it would really save time if there were a way to implement this. Thanks! Valerie -- 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. From mcfarla9 at msu.edu Thu Dec 10 03:11:20 2009 From: mcfarla9 at msu.edu (dkmcf) Date: Wed, 9 Dec 2009 19:11:20 -0800 Subject: Variable always offset by 1 row.... In-Reply-To: <4b1d5789.1308c00a.0719.ffff8faaSMTPIN_ADDED@gmr-mx.google.com> Message-ID: On Dec 7, 2:29 pm, David McFarlane wrote: > In general, if you mean > a series of If..Thens to have only one effect (like a "radio button" > instead of a "check box"), it makes more sense to use the full > If..Then..Else If structure, thus, > > If CardSlideA.RESP = "c" then > falsecardfilename1 = "circle.jpg" > Else If CardSlideA.RESP = "v" then > falsecardfilename1 = "cross.jpg" > Else If CardSlideA.RESP = "b" then > falsecardfilename1 = "square.jpg" > Else If CardSlideA.RESP = "n" then > falsecardfilename1 = "squiggle.jpg" > Else If CardSlideA.RESP = "m" > then falsecardfilename1 = "star.jpg" > Else ' defensive programming! > MsgBox "Unanticipated CardSlideA.RESP!" > End If > c.setattrib "falsecardfilename", falsecardfilename1 Sorry to keep correcting my own examples, but I keep forgetting that in E-Basic, although "End If" is two words, "ElseIf" is only one. So that example should read If CardSlideA.RESP = "c" then falsecardfilename1 = "circle.jpg" ElseIf CardSlideA.RESP = "v" then falsecardfilename1 = "cross.jpg" ElseIf CardSlideA.RESP = "b" then falsecardfilename1 = "square.jpg" ElseIf CardSlideA.RESP = "n" then falsecardfilename1 = "squiggle.jpg" ElseIf CardSlideA.RESP = "m" then falsecardfilename1 = "star.jpg" Else ' defensive programming! MsgBox "Unanticipated CardSlideA.RESP!" End If c.setattrib "falsecardfilename", falsecardfilename1 -- David McFarlane, Professional (& occasionally sloppy) Faultfinder -- 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. From mcfarla9 at msu.edu Thu Dec 10 03:21:47 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 9 Dec 2009 22:21:47 -0500 Subject: Flashing two dots at different frequencies. In-Reply-To: <4B1FB7C6.8040102@msu.edu> Message-ID: Ben, Here is another "on the fly" approach (based on my experience with NetLogo at the start of this year). Think of each flashing dot as an object or "agent" with properties for on duration, off duration, current state (on or off), and clock time for its next change of state (you might do this with a User Defined Type, or with some clever use of the properties already built in to E-Prime display objects). Your event loop would then check the "next change" time of each active object against the current clock time. For each object whose "next change" time has been reached, it would toggle the object's state and update its "next change" time accordingly. You would still have to write your own event loop for E-Prime (in NetLogo this is built in). -- David McFarlane, Professional Faultfinder -- 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. From ll356 at medschl.cam.ac.uk Thu Dec 10 11:00:21 2009 From: ll356 at medschl.cam.ac.uk (River) Date: Thu, 10 Dec 2009 03:00:21 -0800 Subject: Recording presses and releases from a serial response box In-Reply-To: <4b17f034.5944f10a.5ef1.294bSMTPIN_ADDED@gmr-mx.google.com> Message-ID: FYI for others who aren't clever enough to check the PST site first... (apologies) To get the SRBox to register presses and releases you have to: go to Edit, Experiment, Devices, and edit what it records. Then in Allowable responses add the key as you normally would e.g. 1 as well as {-1} which denotes presses with the 1 and releases with the {-1} . Then click on the advanced button and increase the MaxCount to at least 2. Also, just from my experience, if you're trying to get timing between presses, bear in mind that responses may occur during fixations and necessarily during images so these settings should probably be applies to fixation screens too. Thanks for the pointers David. On Dec 3, 5:06 pm, David McFarlane wrote: > River, > > Standard reminder:  1) I do not work for PST.  2) PST's trained staff > really does like to take any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours.  So don't be shy > there.  3) If you do get an answer from PST Web Support, please > extend the courtesy of posting their reply back here for the sake of others. > > That said, here is my take ... > > At 12/3/2009 09:23 AM Thursday, you wrote: > > >I've been perusing the E-Basic Help pages...just to specify, ideally I > >want this record to appear in the data file, not in a msg box. Is that > >possible?! > > Yes.  Please download the > Multiple > Response Collection sample from the PST web site. > > >On Dec 3, 12:26 pm, River wrote: > > > I see that you can get the srbox to record presses and releases > > > however I can't see where these two discrete events are recorded in > > > the data files when this setting is used-can anyone enlighten me? > > By default, only one response gets recorded in the .edat file.  If > you have both presses & releases enabled, and a Max Count of 1 (the > default), then you will record only the press.  If you set Max Count > to 2, then you will record only the release.  To record more, please > see the answer above. > > > > Secondly, is there a way to program the software to start a stop watch > > > when a certain srbox button has been pressed (or released) and stop it > > > when its pressed again (or released) while simultaneously continuing > > > with the experiment (namely showing a series of pictures which are to > > > be responded to using a different srbox key press.) I.e. is it > > > possible to time the duration between a specific set of key presses? > > Yes, it is possible, and many other things besides.  It will require > some inline script, and the more intricate your design, the more > script you will need. > > -- David McFarlane, Professional Faultfinder -- 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. From Michiel.Spape at nottingham.ac.uk Thu Dec 10 12:14:13 2009 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Thu, 10 Dec 2009 12:14:13 -0000 Subject: Recording presses and releases from a serial response box In-Reply-To: <258f3e89-60f0-48e3-a591-0ab2d44ff1eb@j14g2000yqm.googlegroups.com> Message-ID: Hi, Just to make a bit of a contribution to this: as David pointed out, though maxCount will allow recording of multiple responses, it will not necessarily SAVE the timings of these responses. Here's an example where I have one textDisplay, 'RespS1', which collects the two responses, and a script which then saves the relevant information to the .edat (a quick edit from the ebasic help, actually): dim nClicks as integer Dim kbdRespColl As ResponseDataCollection nClicks = RespS1.InputMasks(1).Responses.Count '(1) being keyboard here Set kbdRespColl = RespS1.InputMasks(1).Responses if nClicks > 0 then c.Setattrib "RT1", (kbdRespColl(1).RT) if kbdRespColl(1).RESP = c.GetAttrib ("CRESP1") then c.SetAttrib "ACC1", 1 else c.SetAttrib "ACC1", 0 end if if nClicks > 1 then c.SetAttrib "RT2", (kbdRespColl(2).RT) if kbdRespColl(2).RESP = c.GetAttrib ("CRESP2") then c.SetAttrib "ACC2", 1 else c.SetAttrib "ACC2", 0 end if BTW: I agree with David that ElseIf would be more computationally efficient and elegant, but I usually find it easier on my own cognition to make exclusive and exhaustive if-then statements (and will take the extra microsecond for granted). The above formula works pretty elegantly however, since the only unselected case (=0) shouldn't give any RT's or ACC's anyway (I prefer missing reactions to be coded as missing rather than as errors). Cheers, Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of River Sent: 10 December 2009 11:00 To: E-Prime Subject: Re: Recording presses and releases from a serial response box FYI for others who aren't clever enough to check the PST site first... (apologies) To get the SRBox to register presses and releases you have to: go to Edit, Experiment, Devices, and edit what it records. Then in Allowable responses add the key as you normally would e.g. 1 as well as {-1} which denotes presses with the 1 and releases with the {-1} . Then click on the advanced button and increase the MaxCount to at least 2. Also, just from my experience, if you're trying to get timing between presses, bear in mind that responses may occur during fixations and necessarily during images so these settings should probably be applies to fixation screens too. Thanks for the pointers David. On Dec 3, 5:06 pm, David McFarlane wrote: > River, > > Standard reminder:  1) I do not work for PST.  2) PST's trained staff > really does like to take any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours.  So don't be shy > there.  3) If you do get an answer from PST Web Support, please > extend the courtesy of posting their reply back here for the sake of others. > > That said, here is my take ... > > At 12/3/2009 09:23 AM Thursday, you wrote: > > >I've been perusing the E-Basic Help pages...just to specify, ideally I > >want this record to appear in the data file, not in a msg box. Is that > >possible?! > > Yes.  Please download the > Multiple > Response Collection sample from the PST web site. > > >On Dec 3, 12:26 pm, River wrote: > > > I see that you can get the srbox to record presses and releases > > > however I can't see where these two discrete events are recorded in > > > the data files when this setting is used-can anyone enlighten me? > > By default, only one response gets recorded in the .edat file.  If > you have both presses & releases enabled, and a Max Count of 1 (the > default), then you will record only the press.  If you set Max Count > to 2, then you will record only the release.  To record more, please > see the answer above. > > > > Secondly, is there a way to program the software to start a stop watch > > > when a certain srbox button has been pressed (or released) and stop it > > > when its pressed again (or released) while simultaneously continuing > > > with the experiment (namely showing a series of pictures which are to > > > be responded to using a different srbox key press.) I.e. is it > > > possible to time the duration between a specific set of key presses? > > Yes, it is possible, and many other things besides.  It will require > some inline script, and the more intricate your design, the more > script you will need. > > -- David McFarlane, Professional Faultfinder -- 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. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- 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. From dperlman at wisc.edu Thu Dec 10 21:04:02 2009 From: dperlman at wisc.edu (David Perlman) Date: Thu, 10 Dec 2009 13:04:02 -0800 Subject: ExitValueSamples: get it in an Inline? In-Reply-To: <4ae61129.5244f10a.4393.7bfdSMTPIN_ADDED@gmr-mx.google.com> Message-ID: OK, this is interesting. It looks like if I get something like RunList.TerminateCondition it will be an object like Cycles(1). But I can't find any documentation on how I would get the nCycles parameter out of the object. And in any case, with the default settings you'd just get Cycles(1) which wouldn't tell you anything about how many samples were in a cycle, i.e. how many items total in the list. So unless there's something more you can do with it, I'm still stumped. On Oct 26, 3:12 pm, David McFarlane wrote: > Dave, > > This is all beyond me, so I encourage you to take this up with PST > Web Support athttp://support.pstnet.com/e%2Dprime/support/login.asp > , they promise response times of 24-48 hours to all requests.  But > here are my thoughts anyway... > > At 10/23/2009 04:25 PM Friday, you wrote: > > >Is there a way to get the "Exit List After # Samples" value from a > >list object and use it in an Inline script?  Looking at the .es file > >in a text editor (I'm using Eprime 1.1) I see the value is stored as > >"ExitValueSamples" but I haven't found anything about that in the > >documentation anywhere, or through Google. > > You may find this documentend in the List.TerminateCondition topic of > the online E-Basic Help, which will then steer you to the Trigger > Object topic.  But I don't know that any of that will help you > because AFAIK .TerminateCondition returns a "Trigger" object instead > of a number. > > > > > > >The reason I am trying to do this is that I have script to run an > >experiment in the fMRI scanner.  The experiment is broken into 8 scan > >runs to allow the subject resting periods.  If something goes wrong I > >need to be able to start up the script on a specified run number. > >Right now I have it prompt for a startup value StartRunNum and then I > >have a script at the beginning which uses a For loop to step through > >the right number of GetNextAttrib() methods, which has the effect of > >advancing the list by the right number.  But there are sub-lists > >within each run, which also need to be advanced.  I am piloting this > >right now, so I may be changing the numbers of samples of the various > >sub-lists, and if I do it this way it gets to be a complicated set of > >nested For loops with values that have to stay synchronized with > >changes in the Exit List After Samples in a complicated way.  So I'd > >like to be able to change the Exit After value in my lists without > >needing to update the skip-ahead script. > > >If anyone has a better way of skipping ahead to a specified run > >number, I'd be open to alternatives, too. > > Since you have the scan runs organized in a list, you might find some > way to just jump to and run one single level of your scan run > list.  This is very much what Counterbalance does, so you might take > a look at the script that that produces (you would have to get > comfortable with List.Order, List.Deletion, and PickOne, as well as > List.TerminateCondition, List.ResetCondition, and Samples).  For that > matter, long ago we used IFIS for our fMRI, and that implemented a > complete random-access scan run menu all in E-Prime.  If you could > find someone to generate any old IFIS program in EP1 and send you > both the .es and the .ebs file, you could learn a lot by poring over > the script.  (I know that I did long ago, e.g., now I use an > Unreferenced list to expose global parameters to users rather than > make them figure out how to use the User Script pane.)  Make sure > they use EP1, and send the .ebs file -- you cannot generate the .ebs > file without the IFIS package, and EP2 .ebs2 files hide the generated script. > > -- David McFarlane, Professional Faultfinder -- 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. From salemibehnam at gmail.com Thu Dec 10 21:13:19 2009 From: salemibehnam at gmail.com (Ben) Date: Thu, 10 Dec 2009 13:13:19 -0800 Subject: Flashing two dots at different frequencies. In-Reply-To: <4B20694B.6040205@msu.edu> Message-ID: Hello David, Thank you for your responses. I actually implemented the exact same approach in VB yesterday and it is working nicely. Best, B. On Dec 9, 7:21 pm, David McFarlane wrote: > Ben, > > Here is another "on the fly" approach (based on my experience with > NetLogo at the start of this year).  Think of each flashing dot as an > object or "agent" with properties for on duration, off duration, current > state (on or off), and clock time for its next change of state (you > might do this with a User Defined Type, or with some clever use of the > properties already built in to E-Prime display objects).  Your event > loop would then check the "next change" time of each active object > against the current clock time.  For each object whose "next change" > time has been reached, it would toggle the object's state and update its > "next change" time accordingly. > > You would still have to write your own event loop for E-Prime (in > NetLogo this is built in). > > -- David McFarlane, Professional Faultfinder -- 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. From ash2003raff at yahoo.com Thu Dec 10 21:22:42 2009 From: ash2003raff at yahoo.com (ashraf) Date: Thu, 10 Dec 2009 13:22:42 -0800 Subject: Reaction time outliers in e-prime Message-ID: hi group what the effective way to remove reaction time outliers by e-prime and ,should i analysis the removable values when i analysis the accuracy ashraf -- 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. From mcfarla9 at msu.edu Thu Dec 10 22:24:57 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 10 Dec 2009 17:24:57 -0500 Subject: ExitValueSamples: get it in an Inline? In-Reply-To: <03b2c522-0d76-42a6-b935-6774bc768dab@s31g2000yqs.googlegro ups.com> Message-ID: Dave, I asked a question much like this about getting List Weights some time ago (see http://www.pstnet.com/forum/Topic1244-5-1.aspx ). Brandon's answer to that was: (1) can't do it, and (2) could work around that by setting up a column in the list to "mirror" the desired information. I suppose the other workaround would be to, instead of setting the .TerminateCondition via the E-Studio GUI and trying to read it in script, set the .TerminateCondition only in script and then your script will always know and control the value. -- David McFarlane, Professional Faultfinder >OK, this is interesting. It looks like if I get something like >RunList.TerminateCondition it will be an object like Cycles(1). But I >can't find any documentation on how I would get the nCycles parameter >out of the object. And in any case, with the default settings you'd >just get Cycles(1) which wouldn't tell you anything about how many >samples were in a cycle, i.e. how many items total in the list. So >unless there's something more you can do with it, I'm still stumped. > > >On Oct 26, 3:12 pm, David McFarlane wrote: > > Dave, > > > > This is all beyond me, so I encourage you to take this up with PST > > Web Support athttp://support.pstnet.com/e%2Dprime/support/login.asp > > , they promise response times of 24-48 hours to all requests. But > > here are my thoughts anyway... > > > > At 10/23/2009 04:25 PM Friday, you wrote: > > > > >Is there a way to get the "Exit List After # Samples" value from a > > >list object and use it in an Inline script? Looking at the .es file > > >in a text editor (I'm using Eprime 1.1) I see the value is stored as > > >"ExitValueSamples" but I haven't found anything about that in the > > >documentation anywhere, or through Google. > > > > You may find this documentend in the List.TerminateCondition topic of > > the online E-Basic Help, which will then steer you to the Trigger > > Object topic. But I don't know that any of that will help you > > because AFAIK .TerminateCondition returns a "Trigger" object instead > > of a number. > > > > > > > > > > > > >The reason I am trying to do this is that I have script to run an > > >experiment in the fMRI scanner. The experiment is broken into 8 scan > > >runs to allow the subject resting periods. If something goes wrong I > > >need to be able to start up the script on a specified run number. > > >Right now I have it prompt for a startup value StartRunNum and then I > > >have a script at the beginning which uses a For loop to step through > > >the right number of GetNextAttrib() methods, which has the effect of > > >advancing the list by the right number. But there are sub-lists > > >within each run, which also need to be advanced. I am piloting this > > >right now, so I may be changing the numbers of samples of the various > > >sub-lists, and if I do it this way it gets to be a complicated set of > > >nested For loops with values that have to stay synchronized with > > >changes in the Exit List After Samples in a complicated way. So I'd > > >like to be able to change the Exit After value in my lists without > > >needing to update the skip-ahead script. > > > > >If anyone has a better way of skipping ahead to a specified run > > >number, I'd be open to alternatives, too. > > > > Since you have the scan runs organized in a list, you might find some > > way to just jump to and run one single level of your scan run > > list. This is very much what Counterbalance does, so you might take > > a look at the script that that produces (you would have to get > > comfortable with List.Order, List.Deletion, and PickOne, as well as > > List.TerminateCondition, List.ResetCondition, and Samples). For that > > matter, long ago we used IFIS for our fMRI, and that implemented a > > complete random-access scan run menu all in E-Prime. If you could > > find someone to generate any old IFIS program in EP1 and send you > > both the .es and the .ebs file, you could learn a lot by poring over > > the script. (I know that I did long ago, e.g., now I use an > > Unreferenced list to expose global parameters to users rather than > > make them figure out how to use the User Script pane.) Make sure > > they use EP1, and send the .ebs file -- you cannot generate the .ebs > > file without the IFIS package, and EP2 .ebs2 files hide the > generated script. > > > > -- David McFarlane, Professional Faultfinder -- 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. From mcfarla9 at msu.edu Thu Dec 10 22:43:43 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 10 Dec 2009 17:43:43 -0500 Subject: Reaction time outliers in e-prime In-Reply-To: <8041a2c1-c195-4fb4-bdbf-13450f4e34cf@d21g2000yqn.googlegro ups.com> Message-ID: ashraf, Offhand, I don't know if this is a question about how to do something in E-Prime, or a more general question about how to handle outliers, which would be better suited for a class on data analysis. Also, is there any reason to have E-Prime handle outliers at run time rather than to gather all the raw data first and then deal with outliers during analysis? And you would probably use some statistics analysis package to handle the outliers, not E-Prime. But first you have to have a good grounding in statistical data analysis before you start throwing out data, and I would think that that topic goes way beyond the purpose this E-Prime Group. Regards, -- David McFarlane, Professional Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) >hi group > >what the effective way to remove reaction time outliers by e-prime >and ,should i analysis the removable values when i analysis the >accuracy >ashraf -- 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. From ash2003raff at yahoo.com Thu Dec 10 23:01:45 2009 From: ash2003raff at yahoo.com (ashraf) Date: Thu, 10 Dec 2009 15:01:45 -0800 Subject: Reaction time outliers in e-prime In-Reply-To: <4b2179a1.5344f10a.3ba3.15a2SMTPIN_ADDED@gmr-mx.google.com> Message-ID: David McFarlane, thank you for your reply ,there is a filter in e-prime could help me to handle outliers in reaction time before analysis,my question about that,also about analysis the accuracy in e-merge. please help me ,thank you very much On Dec 11, 12:43 am, David McFarlane wrote: > ashraf, > > Offhand, I don't know if this is a question about how to do something > in E-Prime, or a more general question about how to handle outliers, > which would be better suited for a class on data analysis.  Also, is > there any reason to have E-Prime handle outliers at run time rather > than to gather all the raw data first and then deal with outliers > during analysis?  And you would probably use some statistics analysis > package to handle the outliers, not E-Prime.  But first you have to > have a good grounding in statistical data analysis before you start > throwing out data, and I would think that that topic goes way beyond > the purpose this E-Prime Group. > > Regards, > -- David McFarlane, Professional Faultfinder > "For a successful technology, reality must take precedence over > public relations, for nature cannot be fooled."  (Richard Feynman, > Nobel prize-winning physicist) > > >hi group > > >what the effective way to remove reaction time outliers by e-prime > >and ,should i analysis the removable values  when i analysis the > >accuracy > >ashraf -- 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. From ash2003raff at yahoo.com Fri Dec 11 00:14:09 2009 From: ash2003raff at yahoo.com (ashraf) Date: Thu, 10 Dec 2009 16:14:09 -0800 Subject: filter outliers in e-prime Message-ID: how could i filter outliers in reaction time with e-merge,and is this cutoffs applay to accuracy -- 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. From liwenna at gmail.com Fri Dec 11 11:02:14 2009 From: liwenna at gmail.com (liwenna) Date: Fri, 11 Dec 2009 03:02:14 -0800 Subject: Reaction time outliers in e-prime In-Reply-To: Message-ID: Hi Ashraf, I think that many users don't really use e-merge for their data- analysis (I don't at least and I know noone who does). So I really couldn't tell you how to do that although I guess it would be similar to the way you would do it when for instance using excel or spss. What I myself do: I merge the edat files and export them to a .txt file which I then import in SPSS. The next step is to know how you want to define outliers: do you want to define outliers per subject, per condition, per group etc etc. And do you want to define an outlier as more than 2 sd's from the mean or 3 sd's from the mean? In many tasks there's also a 'raw' cutoff of scores used based on the idea that for instance (and depending on your task) any reactiontime under say 200 ms or over 2000 ms are probably due to the subject not paying attention to the task enough (i.e. reasonably too fast or too slow). Once you have your definition you calculate the means and sd's over the collection of reactiontimes that you want to remove outliers from (for instance mean per group or mean per subject or mean per subject AND condition etc). and then calculate the lower and upper bound (by adding and subtracting 2 or 3 or depending on your definition sd's from the mean) and then filter the reactiontimes under and over these bounds out for that collection of reactiontimes. Alternatively you could use median scores instead of mean scores for which you would not need to calculate outliers... but... this might be harder to get published, yet for a first glance at your data is a quicker way. I agree with David that this is definitaly beyond the scope of this google group which has more to do with using e-prime the program as with the analysis of data collected with e-prime. In order to come to a definition of your outliers you ought to consult with existing literature on your task, with your statistics books and your common- sense (and your supervisors perhaps? If you have one that is). Good luck on it though :) liw On 11 dec, 00:01, ashraf wrote: >  David McFarlane, > thank you for your reply ,there is a filter in e-prime  could help me > to handle outliers in reaction time before analysis,my question about > that,also about analysis the accuracy in e-merge. please help > me ,thank you very much > > On Dec 11, 12:43 am, David McFarlane wrote: > > > ashraf, > > > Offhand, I don't know if this is a question about how to do something > > in E-Prime, or a more general question about how to handle outliers, > > which would be better suited for a class on data analysis.  Also, is > > there any reason to have E-Prime handle outliers at run time rather > > than to gather all the raw data first and then deal with outliers > > during analysis?  And you would probably use some statistics analysis > > package to handle the outliers, not E-Prime.  But first you have to > > have a good grounding in statistical data analysis before you start > > throwing out data, and I would think that that topic goes way beyond > > the purpose this E-Prime Group. > > > Regards, > > -- David McFarlane, Professional Faultfinder > > "For a successful technology, reality must take precedence over > > public relations, for nature cannot be fooled."  (Richard Feynman, > > Nobel prize-winning physicist) > > > >hi group > > > >what the effective way to remove reaction time outliers by e-prime > > >and ,should i analysis the removable values  when i analysis the > > >accuracy > > >ashraf -- 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. From liwenna at gmail.com Fri Dec 11 11:14:40 2009 From: liwenna at gmail.com (liwenna) Date: Fri, 11 Dec 2009 03:14:40 -0800 Subject: How to implement ordered stimulus repetition in E-Prime In-Reply-To: Message-ID: Hi Valerie, I think we are a bit in the dark on your exact needs still. If you'd write a script within e-prime to order the triallist each run of e- prime will give the exact same order, which isnt' what you want I think cause if I understand correctly you need 125 different 'orders'. Right? And these orders need to be known beforehand and can't be created 'on the fly', am I right to think so? In that case I think your best shot is to create 125 lists and store them in 125 textfiles that are loaded into the triallist by e-prime based on for instance subjectnumber. If the randomisation can be made at random for each subject during the running of e-prime... you could consider using three different lists that are run subsequently each of them containing your 12 key-trials as well as a number of fillertrials and randomise each list: this way you can't control the number of fillertrials inbetween keytrials and also you can't prevent keytrials to be presented subsequently but you do know that each of the 12 keytrials will have been presented once before any of them is repeated and you also have a random number of intervening fillertrials as well as a new random order on each run of e-prime (i.e. each subject). Just two cents, tell a bit more about your exact needs if the above doesn't help at all (which seems likely :p) Best, liw On 9 dec, 23:33, Valerie wrote: > Hi, > > For my fMRI adaptation experiment, I need to encode ordered > repetitions. That is, I have an ordered list of stimuli that will be > presented, but within this list (each of the) 12 items will be > repeated three times (with a variable number of intervening trials). I > was wondering, is there a way to make use of the ID’s that the > different stimuli have to implement this repetition in E-Prime? For > example, by writing some script which recalls an ID or something? > (I.e. [present 1, 2, 3, 1, ..]). I will need to make 125 lists, so it > would really save time if there were a way to implement this. > > Thanks! > > Valerie -- 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. From Michiel.Spape at nottingham.ac.uk Fri Dec 11 12:55:55 2009 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Fri, 11 Dec 2009 12:55:55 -0000 Subject: filter outliers in e-prime In-Reply-To: <752a6884-cf42-4353-aa5f-43f1ae8752ef@f16g2000yqm.googlegroups.com> Message-ID: Hi Ashraf, Here's how: Go to e-merge, merge all your subjects into one file, right click on the file and select open to open it in e-DataAid. Go to analyze, filter, and just check all the RTs you believe are above or below your cut-off. (for Simon tests, I usually do between 200 and 1000 ms, for example) - select lowest RT above criterion, hold shift, select highest RT below criterion) and filter. There's a lot of literature on how best to filter (what ranges, and such, IQR, +- 2SD), but typically, the results remain pretty much the same if your experiment is okay anyway and there's even a good deal of support for just using a criterion (such as my example). For more difficult techniques, use a different analysis programme (as suggested, SPSS). Best, Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of ashraf Sent: 11 December 2009 00:14 To: E-Prime Subject: filter outliers in e-prime how could i filter outliers in reaction time with e-merge,and is this cutoffs applay to accuracy -- 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. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- 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. From mcfarla9 at msu.edu Fri Dec 11 14:41:23 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 11 Dec 2009 09:41:23 -0500 Subject: Reaction time outliers in e-prime In-Reply-To: Message-ID: ashraf, Mich already kindly gave some specific instructions on how to use the filtering feature of E-DataAid. For more information, please work through the the E-DataAid tutorial in the Getting Started Guide, the Data Handling chapter in the User's Guide, and the E-DataAid chapter of the Reference Guide that came with E-Prime. While you are at it you should also study the E-Merge chapters in those Guides. It is well worth the effort, in my experience these tools are vastly underutilized even though they provide enough benefit that it is almost worth using E-Prime for these data analysis tools alone. They still will not do statistical hypothesis testing or more complicated data manipulation for you, but with a little effort these tools can *greatly* simplify the early stages of data analysis. -- David McFarlane, Professional Faultfinder At 12/10/2009 06:01 PM Thursday, you wrote: > David McFarlane, >thank you for your reply ,there is a filter in e-prime could help me >to handle outliers in reaction time before analysis,my question about >that,also about analysis the accuracy in e-merge. please help >me ,thank you very much > >On Dec 11, 12:43 am, David McFarlane wrote: > > ashraf, > > > > Offhand, I don't know if this is a question about how to do something > > in E-Prime, or a more general question about how to handle outliers, > > which would be better suited for a class on data analysis. Also, is > > there any reason to have E-Prime handle outliers at run time rather > > than to gather all the raw data first and then deal with outliers > > during analysis? And you would probably use some statistics analysis > > package to handle the outliers, not E-Prime. But first you have to > > have a good grounding in statistical data analysis before you start > > throwing out data, and I would think that that topic goes way beyond > > the purpose this E-Prime Group. > > > > Regards, > > -- David McFarlane, Professional Faultfinder > > "For a successful technology, reality must take precedence over > > public relations, for nature cannot be fooled." (Richard Feynman, > > Nobel prize-winning physicist) > > > > >hi group > > > > >what the effective way to remove reaction time outliers by e-prime > > >and ,should i analysis the removable values when i analysis the > > >accuracy > > >ashraf -- 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. From mcfarla9 at msu.edu Fri Dec 11 14:47:21 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 11 Dec 2009 09:47:21 -0500 Subject: Reaction time outliers in e-prime In-Reply-To: <4b225a16.5844f10a.37bb.2249SMTPIN_ADDED@gmr-mx.google.com> Message-ID: >but with a little effort these tools can *greatly* simplify the >early stages of data analysis. Just to belabor this a bit, I refer specifically to the Analyze and Batch Analysis features of E-DataAid, which get overlooked all too much (took me a decade to discover these myself!). -- David McFarlane, Professional Faultfinder -- 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. From mcfarla9 at msu.edu Fri Dec 11 15:08:39 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 11 Dec 2009 10:08:39 -0500 Subject: How to implement ordered stimulus repetition in E-Prime In-Reply-To: Message-ID: >I think we are a bit in the dark on your exact needs still. If you'd >write a script within e-prime to order the triallist each run of e- >prime will give the exact same order, which isnt' what you want I >think cause if I understand correctly you need 125 different 'orders'. >Right? And these orders need to be known beforehand and can't be >created 'on the fly', am I right to think so? I didn't get what Valerie wanted either, liw, but your response rings a bell for me. In our fMRI studies we often use a limited number of fixed pre-randomized orders so as to avoid the problem of multicollinearity during analysis of the functional brain images -- for correlation, deconvolution, or general linear modelling analysis to work we cannot allow any sequence to be a linear combination of any others, so we generally cannot leave this to chance by randomizing sequences "on the fly" (this is explained very nicely in the AFNI documentation from NIMH). >In that case I think your best shot is to create 125 lists and store >them in 125 textfiles that are loaded into the triallist by e-prime >based on for instance subjectnumber. You might also do this all directly in E-Studio with no external text files and no script. You would have to make a master List with one row (level) for each possible sequence (in this case, perhaps 125 rows). You would then set its selection Order to Counterbalance, and Order By to Subject (or perhaps to Session). Counterbalance will select and run one *and only one* row from the master List, based on Subject (or Session). (This is explained somewhere in the EP docs, or just search the EP Group with the term "Counterbalance" to see where I recently explained this.) Back in your master List, you could have each row call a customized Procedure for one of the 125 random orders, or have each row use the same Procedure but a different nested List for the random order, etc. Don't know if this addresses Valerie's question, but it does address an fMRI issue that crops up from time to time, so I am adding this to my FAQ. -- David McFarlane, Professional Faultfinder -- 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. From ixkackxi at gmail.com Fri Dec 11 21:53:16 2009 From: ixkackxi at gmail.com (Carlos) Date: Fri, 11 Dec 2009 13:53:16 -0800 Subject: Response devices In-Reply-To: <4ae9b9ca.5844f10a.1c4b.1daeSMTPIN_ADDED@gmr-mx.google.com> Message-ID: David, Hi there, I am new to the group and see that you make your own boxes to communicate with E-PRime. We are currently in the process of converting some old IFIS response pads to work directly with E-Prime, but are having difficulty getting E-Prime to detect every button press and difficulty figuring out what type of characters E-Prime is expecting. Since the SRBox Device is usually set to emulate the keyboard I thought we could have the bread board we currently have the pads connected to send out the hex code associated with the main number keys on the keyboard. This didn't work very well and sometimes buttons that were wired differently elicited the same output. So my question is if you know what type of input E-Prime is expecting from a device connected to the serial port? Thanks, Carlos Faraco University of Georgia On Oct 29, 10:50 am, David McFarlane wrote: > Tobias, > > OK, this question clearly lies outside the domain of PST Web Support, > so I will weigh in... > > >Of course, keyboards and mice don't look that professional > > Hmm, around here we use keyboards and mice extensively, but perhaps > we are not that "professional" :).  We also use the PST SRBox, and if > you understand its operation then in principle you could use it with > any platform that will accept a stream from a serial port.  Beyond > that, sometimes we (meaning I) build our own customresponseboxes > and wire them up either through an SRBox, a commercial digital I/O > board, or even the lowly parallel port -- I have some mechanical > skills as well as electronic and technology skills, and that is my > job here.  Of course you should have a machine shop and an electronic > shop as well as a skilled research technology professional at your > own institution to help with that (perhaps you are that > professional!).   I really don't see how anyone can consider > themselves to do serious science in this day & age without such > assistance.  In short, we just do whatever it takes to get the data. > > Oh, Empirisoft also boasts a keyboard with millisecond latency > specifically for psychology research, as well as a USB button box > (puts them a bit ahead of PST there), but we have not tried any of > these.  Seehttp://www.empirisoft.com.  And of course, some people > use touch screens, but I have to let those folks speak up for themselves. > > Good question, I look forward to more responses. > > -- David McFarlane, Professional Faultfinder -- 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. From liza.mccarron at uwe.ac.uk Mon Dec 14 10:04:45 2009 From: liza.mccarron at uwe.ac.uk (LizaM) Date: Mon, 14 Dec 2009 02:04:45 -0800 Subject: Variable always offset by 1 row.... In-Reply-To: Message-ID: Thanks for posting the ElseIf correction - I had worked that out and was going to post but forgot! In testing before I discovered the correction I did however find that if you use Else If instead you then have to end each with a seperate End If statement... seemed to achieve the same results but obviously messy code! On Dec 10, 3:11 am, dkmcf wrote: > On Dec 7, 2:29 pm, David McFarlane wrote: > > > > > > > In general, if you mean > > a series of If..Thens to have only one effect (like a "radio button" > > instead of a "check box"), it makes more sense to use the full > > If..Then..Else If structure, thus, > > > If CardSlideA.RESP = "c" then > >      falsecardfilename1 = "circle.jpg" > > Else If CardSlideA.RESP = "v" then > >      falsecardfilename1 = "cross.jpg" > > Else If CardSlideA.RESP = "b" then > >      falsecardfilename1 = "square.jpg" > > Else If CardSlideA.RESP = "n" then > >      falsecardfilename1 = "squiggle.jpg" > > Else If CardSlideA.RESP = "m" > >      then falsecardfilename1 = "star.jpg" > > Else  ' defensive programming! > >      MsgBox "Unanticipated CardSlideA.RESP!" > > End If > > c.setattrib "falsecardfilename", falsecardfilename1 > > Sorry to keep correcting my own examples, but I keep forgetting that > in E-Basic, although "End If" is two words, "ElseIf" is only one.  So > that example should read > > If CardSlideA.RESP = "c" then >      falsecardfilename1 = "circle.jpg" > ElseIf CardSlideA.RESP = "v" then >      falsecardfilename1 = "cross.jpg" > ElseIf CardSlideA.RESP = "b" then >      falsecardfilename1 = "square.jpg" > ElseIf CardSlideA.RESP = "n" then >      falsecardfilename1 = "squiggle.jpg" > ElseIf CardSlideA.RESP = "m" >      then falsecardfilename1 = "star.jpg" > Else  ' defensive programming! >      MsgBox "Unanticipated CardSlideA.RESP!" > End If > c.setattrib "falsecardfilename", falsecardfilename1 > > -- David McFarlane, Professional (& occasionally sloppy) Faultfinder- Hide quoted text - > > - Show quoted text - -- 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. From mcfarla9 at msu.edu Mon Dec 14 20:29:34 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 14 Dec 2009 15:29:34 -0500 Subject: Response devices In-Reply-To: <7487ab8c-80e0-4bef-8724-54dcce707b0a@20g2000vbz.googlegrou ps.com> Message-ID: Carlos, At 12/11/2009 04:53 PM Friday, you wrote: >David, > >Hi there, I am new to the group and see that you make your own boxes >to communicate with E-PRime. Just on that point, we have built very simple passive switch boxes that we connect either to a digital I/O port (i.e., the parallel printer port), or to the expansion connector on the SRBox. Although I know enough about the SRBox that in principle I could build one from scratch (no exotic circuitry in there), I have not yet gone to the trouble of doing anything like that. >We are currently in the process of converting some old IFIS response >pads to work directly with E-Prime, but are having difficulty >getting E-Prime to detect every button press and difficulty figuring >out what type of characters E-Prime is expecting. Since the SRBox >Device is usually set to emulate the keyboard I thought we could >have the bread board we currently have the pads connected to send >out the hex code associated with the main number keys on the >keyboard. This didn't work very well and sometimes buttons that were >wired differently elicited the same output. > >So my question is if you know what type of input E-Prime is >expecting from a device connected to the serial port? OK, now that I have considered your question... Again, to be accurate I have never used the Serial Device in E-Prime, so for that I would look at the SerialDevice topic in the online E-Basic Help (and take that with a huge grain of salt, I find a mistake practically every time I look in the E-Basic Help). But as far as I can tell that just reads raw bytes from any serial device, it is up to your particular device to determine what those bits mean and then up to your E-Prime script to decode them. But FWIW I will say a bit about what I know of the SRBox, which also uses the serial port (which is not the same as being an E-Prime Serial Device). OK, here is an excerpt from notes I made back in Aug 2001, and never finished (but is much more detail than PST will ever give you)... ----------------------- The SRBox communicates with the computer though a standard RS-232C serial interface (DCE?; no handshaking). The SRBox ignores all handshaking. Communication parameters are 9600 or 19200 bps (jumper selectable, default is 9600), 8 data bits, no parity, 1 stop bit. (At power on, sends &H7F) Using these parameters, the SRBox sends a steady stream of key data at a pace of 800 or 1600 Bps (jumper selectable, default is 800). In total, three byte/communication rates are possible: 800 Bps at 9600 bps (default), 800 Bps at 19200 bps, and 1600 Bps at 19200 bps (1600 Bps is incomptible with 9600 bps communication rate). Note that at 800 Bps a byte is sent every 1.25 msec, while at 1600 Bps a byte is sent every 0.625 msec. Each byte sent from the SRBox encodes the state of one bank of eight devices (see control inputs below). Bank one consists of the five built-in keys, the voice key, the refresh detector, and/or eight external devices through the expansion connector. Bank two consists of an additional eight external devices through the expansion connector, plus the voice key and the refresh detector. Data bytes are encoded according to the following table [this table does not show up well in plain text, but here it is anyway]: Bit # Bank 1 Function Bank 2 Function 0 On-board Key 1, or external Key 1 (expansion connector pin #24) External Key 9 (pin #33) 1 On-board Key 2, or external Key 2 (pin #25) External Key 10 (A) (pin #34) 2 On-board Key 3, or external Key 3 (pin #26) External Key 11 (B) (pin #35) 3 On-board Key 4, or external Key 4 (pin #27) External Key 12 (C) (pin #36) 4 On-board Key 5, or external Key 5 (pin #28) External Key 13 (D) (pin #37) 5 Voice Key, or external Key 6 (pin #29) [?Voice Key, or?] External Key 14 (E) (pin #38) 6 Refresh Detector, or external Key 7 (pin #30) Refresh Detector, or External Key 15 (F) (pin #39) 7 External Key 8 (pin #31) External Key 16 (G) (pin #40) The SRBox accepts input to control the state of built-in lamps and external devices, and to control its own operation. (Same communcation parameters as for output.) The lower five bits of an input byte control one of two banks of devices (see control bits below). The upper five bits control the operation of the SRBox. When sending a control byte to the SRBox, it is necessary to specify all three SRBox control bits. Note that there is no way to read these control bits from the SRBox. Thus, if you wish to change only one or two control bits, the program must itself store the prior state of all the control bits so that it can add back in the ones that are to remain unchanged. For both banks, bits 0-4 control lamps or devices 1-5, where 0 deactivates the lamp or device, and 1 activates it. The control bits operate as follows [again, this table comes out better in my original Word document]: Bit # Bank 1 Function Bank 2 Function 0 On-board Lamp 1, or external Lamp 1 (expansion connector pins #7 & 6) External Lamp 6 (9) (pins #9 & 8) 1 On-board Lamp 2, or external Lamp 2 (pins #5 & 4) External Lamp 7 (A) (pins #11 & 10) 2 On-board Lamp 3, or external Lamp 3 (pins #3 & 2) External Lamp 8 (B) (pins #13 & 12) 3 On-board Lamp 4, or external Lamp 4 (pins #1 & 21) External Lamp 9 (C) (pins #15 & 14) 4 On-board Lamp 5, or external Lamp 5 (pins #22 & 23) External Lamp 10 (D) (pins #17 & 16) 5 Key Bank Select: 0 = bank 2, 1 = bank 1 6 Lamp Bank Select: 0 = voice key threshold & bank 2, 1 = bank 1 7 Transmit Data: 0 = Do not send data, 1 = Send data Examples [another table that will not come out well in text]: Control Code Binary Hex Dec Result 0000 0001 01 1 Select key bank 2, stop data, set voice key threshold to 1, turn on lamp 6 (bank 2), turn off lamps 7-10 0010 0000 20 32 Select key bank 1, stop data, set voice key threshold to 0, turn off lamps 6-10 (bank 2) 0100 0001 41 65 Select key bank 2, stop data, turn on lamp 1, turn off lamps 2-5 0110 0001 61 97 Select key bank 1, stop data, turn on lamp 1, turn off lamps 2-5 1000 0000 80 128 Select key bank 2, send data, set voice key threshold to 0, turn off lamps 6-10 (bank 2) 1010 0000 A0 160 Select key bank 1, send data, set voice key threshold to 0, turn off lamps 6-10 (bank 2) 1101 1010 DA 218 Select key bank 2, send data, turn on lamps 2, 4, & 5, turn off lamps 1 & 3 1110 1010 EA 234 Select key bank 1, send data, turn on lamps 2 & 4, turn off lamps 1, 3, & 5 ----------------------- Whew! Here is a shorter view for you: First, you might have to send something like &HE0 to start the SRBox sending data from key bank 1 (the on-board keys) (and turn off the on-board lamps). At that point the SRBox will send a steady stream of bytes to the serial port, at the configured bps and communication rate (default 800 cps at 19200 baud). Each bit encodes the state of one button, so, e.g., button 1 sends &H01, button 2 &H02, button 3 &H04, etc.; and buttons 1 & 3 simultaneously send &H05, etc. You may then decode the byte with If...Then, or masking unwanted bits with a bitwise And. As to "emulating the keyboard", clearly for that E-Prime transparently reads a byte from the SRBox, translates that into ASCII code for the appropriate numbers (e.g., button 1 becomes &H31, i.e., "1"), and uses something like InputDevice.InsertResponse to insert that string into the KeyboardDevice queue for use there. I would rather start by using the device directly, and once I got that to work I might fiddle with getting emulation to work. OK, that's probably both more and less than you asked for, but there it is. -- David McFarlane, Professional Faultfinder >Thanks, > >Carlos Faraco >University of Georgia > >On Oct 29, 10:50 am, David McFarlane wrote: > > Tobias, > > > > OK, this question clearly lies outside the domain of PST Web Support, > > so I will weigh in... > > > > >Of course, keyboards and mice don't look that professional > > > > Hmm, around here we use keyboards and mice extensively, but perhaps > > we are not that "professional" :). We also use the PST SRBox, and if > > you understand its operation then in principle you could use it with > > any platform that will accept a stream from a serial port. Beyond > > that, sometimes we (meaning I) build our own customresponseboxes > > and wire them up either through an SRBox, a commercial digital I/O > > board, or even the lowly parallel port -- I have some mechanical > > skills as well as electronic and technology skills, and that is my > > job here. Of course you should have a machine shop and an electronic > > shop as well as a skilled research technology professional at your > > own institution to help with that (perhaps you are that > > professional!). I really don't see how anyone can consider > > themselves to do serious science in this day & age without such > > assistance. In short, we just do whatever it takes to > get the data. > > > > Oh, Empirisoft also boasts a keyboard with millisecond latency > > specifically for psychology research, as well as a USB button box > > (puts them a bit ahead of PST there), but we have not tried any of > > these. Seehttp://www.empirisoft.com. And of course, some people > > use touch screens, but I have to let those folks speak up for themselves. > > > > Good question, I look forward to more responses. > > > > -- David McFarlane, Professional Faultfinder -- 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. From mcfarla9 at msu.edu Mon Dec 14 20:52:14 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 14 Dec 2009 15:52:14 -0500 Subject: Response devices In-Reply-To: <4b26a036.5344f10a.38b0.70e9SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Oops, I meant to preface my little report with an explanation of how to figure this stuff out for yourself (because, you know, you should never take my word for any of this). I just put the SRBox through an old terminal emulator that will show incoming characters as hexadecimal. I used an old DOS shareware program called Terminal Plus!, apparently still available for download (find it through Google). -- David McFarlane, Professional Faultfinder >Carlos, > >At 12/11/2009 04:53 PM Friday, you wrote: > >David, > > > >Hi there, I am new to the group and see that you make your own boxes > >to communicate with E-PRime. > >Just on that point, we have built very simple passive switch boxes >that we connect either to a digital I/O port (i.e., the parallel >printer port), or to the expansion connector on the SRBox. Although >I know enough about the SRBox that in principle I could build one >from scratch (no exotic circuitry in there), I have not yet gone to >the trouble of doing anything like that. > > > >We are currently in the process of converting some old IFIS response > >pads to work directly with E-Prime, but are having difficulty > >getting E-Prime to detect every button press and difficulty figuring > >out what type of characters E-Prime is expecting. Since the SRBox > >Device is usually set to emulate the keyboard I thought we could > >have the bread board we currently have the pads connected to send > >out the hex code associated with the main number keys on the > >keyboard. This didn't work very well and sometimes buttons that were > >wired differently elicited the same output. > > > >So my question is if you know what type of input E-Prime is > >expecting from a device connected to the serial port? > >OK, now that I have considered your question... Again, to be >accurate I have never used the Serial Device in E-Prime, so for that >I would look at the SerialDevice topic in the online E-Basic Help >(and take that with a huge grain of salt, I find a mistake >practically every time I look in the E-Basic Help). But as far as I >can tell that just reads raw bytes from any serial device, it is up >to your particular device to determine what those bits mean and then >up to your E-Prime script to decode them. > >But FWIW I will say a bit about what I know of the SRBox, which also >uses the serial port (which is not the same as being an E-Prime >Serial Device). OK, here is an excerpt from notes I made back in Aug >2001, and never finished (but is much more detail than PST will ever >give you)... > >----------------------- >The SRBox communicates with the computer though a standard RS-232C >serial interface (DCE?; no handshaking). The SRBox ignores all >handshaking. Communication parameters are 9600 or 19200 bps (jumper >selectable, default is 9600), 8 data bits, no parity, 1 stop >bit. (At power on, sends &H7F) > >Using these parameters, the SRBox sends a steady stream of key data >at a pace of 800 or 1600 Bps (jumper selectable, default is >800). In total, three byte/communication rates are possible: 800 >Bps at 9600 bps (default), 800 Bps at 19200 bps, and 1600 Bps at >19200 bps (1600 Bps is incomptible with 9600 bps communication >rate). Note that at 800 Bps a byte is sent every 1.25 msec, while at >1600 Bps a byte is sent every 0.625 msec. > >Each byte sent from the SRBox encodes the state of one bank of eight >devices (see control inputs below). Bank one consists of the five >built-in keys, the voice key, the refresh detector, and/or eight >external devices through the expansion connector. Bank two consists >of an additional eight external devices through the expansion >connector, plus the voice key and the refresh detector. Data bytes >are encoded according to the following table [this table does not >show up well in plain text, but here it is anyway]: > >Bit # Bank 1 Function Bank 2 Function >0 On-board Key 1, or external Key 1 (expansion connector pin >#24) External Key 9 (pin #33) >1 On-board Key 2, or external Key 2 (pin #25) External Key >10 (A) (pin #34) >2 On-board Key 3, or external Key 3 (pin #26) External Key >11 (B) (pin #35) >3 On-board Key 4, or external Key 4 (pin #27) External Key >12 (C) (pin #36) >4 On-board Key 5, or external Key 5 (pin #28) External Key >13 (D) (pin #37) >5 Voice Key, or external Key 6 (pin #29) [?Voice Key, or?] >External Key 14 (E) (pin #38) >6 Refresh Detector, or external Key 7 (pin #30) Refresh >Detector, or External Key 15 (F) (pin #39) >7 External Key 8 (pin #31) External Key 16 (G) (pin #40) > >The SRBox accepts input to control the state of built-in lamps and >external devices, and to control its own operation. (Same >communcation parameters as for output.) The lower five bits of an >input byte control one of two banks of devices (see control bits >below). The upper five bits control the operation of the >SRBox. When sending a control byte to the SRBox, it is necessary to >specify all three SRBox control bits. Note that there is no way to >read these control bits from the SRBox. Thus, if you wish to change >only one or two control bits, the program must itself store the prior >state of all the control bits so that it can add back in the ones >that are to remain unchanged. > >For both banks, bits 0-4 control lamps or devices 1-5, where 0 >deactivates the lamp or device, and 1 activates it. The control bits >operate as follows [again, this table comes out better in my original >Word document]: > >Bit # Bank 1 Function Bank 2 Function >0 On-board Lamp 1, or external Lamp 1 (expansion connector pins >#7 & 6) External Lamp 6 (9) (pins #9 & 8) >1 On-board Lamp 2, or external Lamp 2 (pins #5 & >4) External Lamp 7 (A) (pins #11 & 10) >2 On-board Lamp 3, or external Lamp 3 (pins #3 & >2) External Lamp 8 (B) (pins #13 & 12) >3 On-board Lamp 4, or external Lamp 4 (pins #1 & >21) External Lamp 9 (C) (pins #15 & 14) >4 On-board Lamp 5, or external Lamp 5 (pins #22 & >23) External Lamp 10 (D) (pins #17 & 16) >5 Key Bank Select: 0 = bank 2, 1 = bank 1 >6 Lamp Bank Select: 0 = voice key threshold & bank 2, 1 = bank 1 >7 Transmit Data: 0 = Do not send data, 1 = Send data > >Examples [another table that will not come out well in text]: >Control Code >Binary Hex Dec Result >0000 0001 01 1 Select key bank 2, stop data, set >voice key threshold to 1, turn on lamp 6 (bank 2), turn off lamps 7-10 >0010 0000 20 32 Select key bank 1, stop data, set >voice key threshold to 0, turn off lamps 6-10 (bank 2) >0100 0001 41 65 Select key bank 2, stop data, turn on >lamp 1, turn off lamps 2-5 >0110 0001 61 97 Select key bank 1, stop data, turn on >lamp 1, turn off lamps 2-5 >1000 0000 80 128 Select key bank 2, send data, set >voice key threshold to 0, turn off lamps 6-10 (bank 2) >1010 0000 A0 160 Select key bank 1, send data, set >voice key threshold to 0, turn off lamps 6-10 (bank 2) >1101 1010 DA 218 Select key bank 2, send data, turn on >lamps 2, 4, & 5, turn off lamps 1 & 3 >1110 1010 EA 234 Select key bank 1, send data, turn on >lamps 2 & 4, turn off lamps 1, 3, & 5 >----------------------- > > >Whew! Here is a shorter view for you: First, you might have to send >something like &HE0 to start the SRBox sending data from key bank 1 >(the on-board keys) (and turn off the on-board lamps). At that point >the SRBox will send a steady stream of bytes to the serial port, at >the configured bps and communication rate (default 800 cps at 19200 >baud). Each bit encodes the state of one button, so, e.g., button 1 >sends &H01, button 2 &H02, button 3 &H04, etc.; and buttons 1 & 3 >simultaneously send &H05, etc. You may then decode the byte with >If...Then, or masking unwanted bits with a bitwise And. > >As to "emulating the keyboard", clearly for that E-Prime >transparently reads a byte from the SRBox, translates that into ASCII >code for the appropriate numbers (e.g., button 1 becomes &H31, i.e., >"1"), and uses something like InputDevice.InsertResponse to insert >that string into the KeyboardDevice queue for use there. I would >rather start by using the device directly, and once I got that to >work I might fiddle with getting emulation to work. > >OK, that's probably both more and less than you asked for, but there it is. > >-- David McFarlane, Professional Faultfinder > > > >Thanks, > > > >Carlos Faraco > >University of Georgia > > > >On Oct 29, 10:50 am, David McFarlane wrote: > > > Tobias, > > > > > > OK, this question clearly lies outside the domain of PST Web Support, > > > so I will weigh in... > > > > > > >Of course, keyboards and mice don't look that professional > > > > > > Hmm, around here we use keyboards and mice extensively, but perhaps > > > we are not that "professional" :). We also use the PST SRBox, and if > > > you understand its operation then in principle you could use it with > > > any platform that will accept a stream from a serial port. Beyond > > > that, sometimes we (meaning I) build our own customresponseboxes > > > and wire them up either through an SRBox, a commercial digital I/O > > > board, or even the lowly parallel port -- I have some mechanical > > > skills as well as electronic and technology skills, and that is my > > > job here. Of course you should have a machine shop and an electronic > > > shop as well as a skilled research technology professional at your > > > own institution to help with that (perhaps you are that > > > professional!). I really don't see how anyone can consider > > > themselves to do serious science in this day & age without such > > > assistance. In short, we just do whatever it takes to > > get the data. > > > > > > Oh, Empirisoft also boasts a keyboard with millisecond latency > > > specifically for psychology research, as well as a USB button box > > > (puts them a bit ahead of PST there), but we have not tried any of > > > these. Seehttp://www.empirisoft.com. And of course, some people > > > use touch screens, but I have to let those folks speak up for themselves. > > > > > > Good question, I look forward to more responses. > > > > > > -- David McFarlane, Professional Faultfinder > >-- > >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. -- 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. From ash2003raff at yahoo.com Tue Dec 15 18:42:14 2009 From: ash2003raff at yahoo.com (ashraf) Date: Tue, 15 Dec 2009 10:42:14 -0800 Subject: filter outliers in e-prime In-Reply-To: <0CA8E1B4EC20D743912B980E486C5CAF0273E728@VUIEXCHC.ad.nottingham.ac.uk> Message-ID: thank you very much for your reply, On Dec 11, 2:55 pm, Michiel Spape wrote: > Hi Ashraf, > Here's how: > Go to e-merge, merge all your subjects into one file, right click on the file and select open to open it in e-DataAid. Go to analyze, filter, and just check all the RTs you believe are above or below your cut-off. (for Simon tests, I usually do between 200 and 1000 ms, for example) - select lowest RT above criterion, hold shift, select highest RT below criterion) and filter. There's a lot of literature on how best to filter (what ranges, and such, IQR, +- 2SD), but typically, the results remain pretty much the same if your experiment is okay anyway and there's even a good deal of support for just using a criterion (such as my example). > For more difficult techniques, use a different analysis programme (as suggested, SPSS). > Best, > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychology > > > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of ashraf > Sent: 11 December 2009 00:14 > To: E-Prime > Subject: filter outliers in e-prime > > how could i filter outliers in reaction time with e-merge,and is this > cutoffs applay to accuracy > > -- > > 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 athttp://groups.google.com/group/e-prime?hl=en. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation.- Hide quoted text - > > - Show quoted text - -- 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. From ash2003raff at yahoo.com Tue Dec 15 18:44:34 2009 From: ash2003raff at yahoo.com (ashraf) Date: Tue, 15 Dec 2009 10:44:34 -0800 Subject: Reaction time outliers in e-prime In-Reply-To: <4b225b7c.5844f10a.2fd1.22bfSMTPIN_ADDED@gmr-mx.google.com> Message-ID: hi groub, thank you very much for your interest, On Dec 11, 4:47 pm, David McFarlane wrote: > >but with a little effort these tools can *greatly* simplify the > >early stages of data analysis. > > Just to belabor this a bit, I refer specifically to the Analyze and > Batch Analysis features of E-DataAid, which get overlooked all too > much (took me a decade to discover these myself!). > > -- David McFarlane, Professional Faultfinder -- 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. From tobias.fw at gmail.com Wed Dec 16 09:23:18 2009 From: tobias.fw at gmail.com (Tobi) Date: Wed, 16 Dec 2009 01:23:18 -0800 Subject: response recording during several displays Message-ID: Hi everyone, I have the following, although sounding simple, hard to solve problem: I want to show a stimulus for x ms and then to show a mask for y ms. Participants should be able to respond for the x+y ms, i.e. during two displays. How can I do this? Any hints are most welcome! Cheers, Tobias -- 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. From mcfarla9 at msu.edu Wed Dec 16 15:00:08 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 16 Dec 2009 10:00:08 -0500 Subject: response recording during several displays In-Reply-To: <7e2fb028-91bf-4ddc-bec4-c4d83c4edc1a@l2g2000vbg.googlegroups.com> Message-ID: Tobias, Hint -- 1) Work through the Extended Input tutorial in Appendix C of the User's Guide that came with E-Prime. 2) Then, set up your stimulus with extended input and follow that with your mask. E-Prime makes this simple once you know the basic technique shown in Appendix C. -- David McFarlane, Professional Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) > Hi everyone, > > I have the following, although sounding simple, hard to solve problem: > > I want to show a stimulus for x ms and then to show a mask for y ms. > Participants should be able to respond for the x+y ms, i.e. during two > displays. > > How can I do this? > Any hints are most welcome! > > Cheers, > Tobias -- 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. From sravaniv at gmail.com Thu Dec 17 16:32:09 2009 From: sravaniv at gmail.com (Sravani Vinapamula) Date: Thu, 17 Dec 2009 11:32:09 -0500 Subject: response recording during several displays In-Reply-To: <7e2fb028-91bf-4ddc-bec4-c4d83c4edc1a@l2g2000vbg.googlegroups.com> Message-ID: I think you can just give the duration for the response as the sum of the times of both slides. On Wed, Dec 16, 2009 at 4:23 AM, Tobi wrote: > Hi everyone, > > I have the following, although sounding simple, hard to solve problem: > > I want to show a stimulus for x ms and then to show a mask for y ms. > Participants should be able to respond for the x+y ms, i.e. during two > displays. > > How can I do this? > Any hints are most welcome! > > Cheers, > Tobias > > -- > > 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. > > > -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sravaniv at gmail.com Thu Dec 17 16:46:50 2009 From: sravaniv at gmail.com (Sravani Vinapamula) Date: Thu, 17 Dec 2009 11:46:50 -0500 Subject: Problems with moving to next level on the list Message-ID: Hi, I have a quick question. The scenario is, I have a list with 8 levels with each level containing a different stimulus. Each level has a weight of 20. I have a code for recording the accumulated looking time (using TOBII). The e-prime program is supposed to keep track of the accumulated looking time in ms as well as the look aways from the screen. Everytime the subject looks away from the screen within a certain amount of accumulated looking time in ms, it presents the same stimulus (hence the weight of 20 is kind of a max limit for the look aways), but as soon as the subject reaches the required accumulated looking in ms, it needs to stop presenting the stimulus in the level it is currently in and go to the next level on the list (i.e. the next stimulus.). Thanks a bunch, Sravani -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sravaniv at gmail.com Thu Dec 17 16:51:17 2009 From: sravaniv at gmail.com (Sravani Vinapamula) Date: Thu, 17 Dec 2009 11:51:17 -0500 Subject: Problems with moving to next level on the list In-Reply-To: Message-ID: Hi, I have a quick question. The scenario is, I have a list with 8 levels with each level containing a different stimulus. Each level has a weight of 20. I have a code for recording the accumulated looking time (using TOBII). The e-prime program is supposed to keep track of the accumulated looking time in ms as well as the look aways from the screen. Everytime the subject looks away from the screen within a certain amount of accumulated looking time in ms, it presents the same stimulus (hence the weight of 20 is kind of a max limit for the look aways), but as soon as the subject reaches the required accumulated looking in ms, it needs to stop presenting the stimulus in the level it is currently in and go to the next level on the list (i.e. the next stimulus.). So I know it is keeping track of the times properly, but I do not know how to skip the current level and move on to the next level. Any help is appreciated Thanks a bunch, Sravani -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcfarla9 at msu.edu Thu Dec 17 17:57:13 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 17 Dec 2009 12:57:13 -0500 Subject: response recording during several displays In-Reply-To: Message-ID: Indeed, that is not a bad solution, and it is the first solution that all my students come up with when I pose the question to them (and was my own first solution). But for one thing it does seem kludgy: The .RT appears sometimes in the stimulus column, sometimes in the mask column, and when it appears in the mask column you have to add in the duration of the stim. And if you do just that, your RT will *not* include the time between the offset of the stimulus and the onset of the mask. So to get it right when the response comes during the mask you would need to calculate mask.RTTime - stim.OnsetTime. Whew! There has to be an easier way, and there is -- *Extended Input*. Extended input cleanly, simply, and transparently takes care of all of this. Please please do not overlook Appendix C. -- David McFarlane, Professional Faultfinder At 12/17/2009 11:32 AM Thursday, Sravani Vinapamula wrote: >I think you can just give the duration for the response as the sum >of the times of both slides. > > > > >On Wed, Dec 16, 2009 at 4:23 AM, Tobi ><tobias.fw at gmail.com> wrote: >Hi everyone, > >I have the following, although sounding simple, hard to solve problem: > >I want to show a stimulus for x ms and then to show a mask for y ms. >Participants should be able to respond for the x+y ms, i.e. during two >displays. > >How can I do this? >Any hints are most welcome! > >Cheers, >Tobias -- 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. From sravaniv at gmail.com Thu Dec 17 18:15:48 2009 From: sravaniv at gmail.com (Sravani Vinapamula) Date: Thu, 17 Dec 2009 13:15:48 -0500 Subject: response recording during several displays In-Reply-To: <4b2a70f9.5344f10a.31f0.4ca2SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Oh... Thank you! I will definitely look at the Appendix C On Thu, Dec 17, 2009 at 12:57 PM, David McFarlane wrote: > Indeed, that is not a bad solution, and it is the first solution that > all my students come up with when I pose the question to them (and > was my own first solution). But for one thing it does seem > kludgy: The .RT appears sometimes in the stimulus column, sometimes > in the mask column, and when it appears in the mask column you have > to add in the duration of the stim. And if you do just that, your RT > will *not* include the time between the offset of the stimulus and > the onset of the mask. So to get it right when the response comes > during the mask you would need to calculate mask.RTTime - > stim.OnsetTime. Whew! > > There has to be an easier way, and there is -- *Extended > Input*. Extended input cleanly, simply, and transparently takes care > of all of this. Please please do not overlook Appendix C. > > -- David McFarlane, Professional Faultfinder > > > At 12/17/2009 11:32 AM Thursday, Sravani Vinapamula wrote: > >I think you can just give the duration for the response as the sum > >of the times of both slides. > > > > > > > > > >On Wed, Dec 16, 2009 at 4:23 AM, Tobi > ><tobias.fw at gmail.com> wrote: > >Hi everyone, > > > >I have the following, although sounding simple, hard to solve problem: > > > >I want to show a stimulus for x ms and then to show a mask for y ms. > >Participants should be able to respond for the x+y ms, i.e. during two > >displays. > > > >How can I do this? > >Any hints are most welcome! > > > >Cheers, > >Tobias > > -- > > 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. > > > -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcfarla9 at msu.edu Thu Dec 17 19:31:34 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 17 Dec 2009 14:31:34 -0500 Subject: EP2.0.8.73 maximum Buffer Size limit reduced Message-ID: Our first lab updated to EP2.0.8.73 from EP2.9.8.22, and immediately ran into a problem. In short, it seems that EP2.0.8.73 reduced the maximum limit on sound Buffer Size. Details... User had programs that ran fine in EP2.0.8.22, but at run time in EP2.9.8.73 got the error message, "Internal error buffer size issue", error #101. This occured in the InitObjects subroutine as it tried to execute Feedback.LoadProperties. For debugging, we deleted Feedback, and then the error just moved to SoundOut1.LoadProperties, etc. Turns out that Feedback also included a SoundOut sub-object. Looking further, these sound objects all had Buffer Size set to 50000 or 60000 (experiment program originally developed in EP1, as you have guessed by now). Setting Buffer Mode to Streaming and Buffer Size back to the default of 5000 cured the problem, which is how things should be set in EP2 anyway. The program had worked in EP2.0.8.22 and earlier because then the maximum limit on Buffer Size was 100000, apparently this changed in EP2.0.8.22. I did try doing a binary search to find the new limit in EP2.9.8.73, but the limit changed as I ran the search, I got it down to the order of 45000. With Streaming Mode in EP2, no one needs large Buffer Sizes anymore, so this is not a critical bug, I post this only as information for those few users who may run into this problem. -- David McFarlane, Professional Faultfinder -- 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. From tobias.fw at gmail.com Thu Dec 17 20:02:49 2009 From: tobias.fw at gmail.com (Tobi) Date: Thu, 17 Dec 2009 12:02:49 -0800 Subject: CreateInputMask for Joystick Message-ID: I used the following code to call an object in the unreferenced objects, "feedback", as a feedback for accuracy and RT in the last block. I used the term "feedback.InputMasks.Add Keyboard.CreateInputMask" to specifiy the input. Now I want to use a Joystick instead of a keyboard. That works well for the entire experiment, but not for this code. The error message is: "Unknown Custom Option: "Response Mode". By the way: I use E-Prime 2. How can I solve this problem? Thanks fo all kinds of help! Tobias This is the code (crucial parts are "feedback.InputMasks.Add Joystick.CreateInputMask"): If c.GetAttrib("exppart") = "task" Then If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 60 = 0 AND c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 1680 <> 0 Then c.SetAttrib "BlockAcc", Format(CStr(CDbl(SummationAcc.Mean * 100)), "0.0") c.SetAttrib "BlockRT", Format(CStr(CDbl(SummationRT.Mean )), "0") RT = c.GetAttrib("BlockRT") Acc = c.GetAttrib("BlockAcc") blockcount = blockcount +1 feedback.InputMasks.Add Joystick.CreateInputMask("{ANY}", "", CLng (feedback.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical ("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") feedback.text = "Leistung in Block " & blockcount & "/28" & "\n\n\n \n" & "Reaktionszeit: " & RT & " ms" & "\n" & "Richtige Antworten: " & Acc & " %" & "\n\n\n" & "- Beliebige Taste zum Fortsetzen drücken -" feedback.run Set SummationAcc = New Summation Set SummationRT = New Summation PauseA.Run PauseB.InputMasks.Add Joystick.CreateInputMask("{ANY}", "", CLng (PauseB.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical ("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") PauseB.Run End if -- 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. From mcfarla9 at msu.edu Thu Dec 17 21:10:54 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 17 Dec 2009 16:10:54 -0500 Subject: CreateInputMask for Joystick In-Reply-To: <0daefbbb-7997-4df4-8666-74323aad4041@e27g2000yqd.googlegro ups.com> Message-ID: Tobias, I would go right to PST Web Support with this, you may contact them at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours. And then please post back here with the answer! -- David McFarlane, Professional Faultfinder >I used the following code to call an object in the unreferenced >objects, "feedback", as a feedback for accuracy and RT in the last >block. > >I used the term "feedback.InputMasks.Add Keyboard.CreateInputMask" to >specifiy the input. Now I want to use a Joystick instead of a >keyboard. That works well for the entire experiment, but not for this >code. The error message is: "Unknown Custom Option: "Response Mode". > >By the way: I use E-Prime 2. How can I solve this problem? > >Thanks fo all kinds of help! > >Tobias > > >This is the code (crucial parts are "feedback.InputMasks.Add >Joystick.CreateInputMask"): > > >If c.GetAttrib("exppart") = "task" Then > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 60 = 0 AND >c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 1680 <> 0 Then > c.SetAttrib "BlockAcc", > Format(CStr(CDbl(SummationAcc.Mean * 100)), >"0.0") > c.SetAttrib "BlockRT", > Format(CStr(CDbl(SummationRT.Mean )), "0") > RT = c.GetAttrib("BlockRT") > Acc = c.GetAttrib("BlockAcc") > blockcount = blockcount +1 > feedback.InputMasks.Add > Joystick.CreateInputMask("{ANY}", "", CLng >(feedback.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical >("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > feedback.text = > "Leistung in Block " & blockcount & "/28" & "\n\n\n >\n" & "Reaktionszeit: " & RT & " ms" & "\n" & "Richtige Antworten: " & >Acc & " %" & "\n\n\n" & "- Beliebige Taste zum Fortsetzen drücken -" > feedback.run > Set SummationAcc = New Summation > Set SummationRT = New Summation > PauseA.Run > PauseB.InputMasks.Add > Joystick.CreateInputMask("{ANY}", "", CLng >(PauseB.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical >("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > PauseB.Run > End if -- 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. From batouk74 at gmail.com Thu Dec 17 21:55:22 2009 From: batouk74 at gmail.com (batouk) Date: Thu, 17 Dec 2009 13:55:22 -0800 Subject: Unreferenced E-Object_Logging Message-ID: Hi! To do this condition "If RECOGNITION_TARGET.ACC = 1 then FREE_RECALLtextdisplay", I put the FREE_RECALLtextdispaly in the Unreferenced E-Object (of course, if the subject does not recognize the target (TARGET.ACC = 0) does not make sense to proceed with a request of more details about the target). The procedure works as I want, but the Unreferenced E-Object seems don't log the data. Unfortunately, inside of the Forum, I was not able to find information about how to log data if I need to use a simple TextDisplay on Unreferenced E-Object. My question are: Is it possible that an Unreferenced E-Object logs the subject responses? If so, how can I set it? I apologize, if the Forum contains some indication about that, please give me the istruction to read this information. Do you have any more elegant and better suggestion (or precise reference to a sample on the webside) about how can run the condition describe above without using Unreferenced E-Object? I'd really appreciate any help, or leads! Katia -- 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. From ixkackxi at gmail.com Thu Dec 17 22:01:45 2009 From: ixkackxi at gmail.com (Carlos) Date: Thu, 17 Dec 2009 14:01:45 -0800 Subject: Response devices In-Reply-To: <4b26a585.5244f10a.55d4.6fcdSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Dave, Thank you for your very detailed message. I will take a good look at this and let you know what we find. It may be a bit before I get back to you though since I will be leaving out of town this weekend for the break. Thanks again, Carlos Faraco University of Georgia On Dec 14, 3:52 pm, David McFarlane wrote: > Oops, I meant to preface my little report with an explanation of how > to figure this stuff out for yourself (because, you know, you should > never take my word for any of this).  I just put the SRBox through an > old terminal emulator that will show incoming characters as > hexadecimal.  I used an old DOS shareware program called Terminal > Plus!, apparently still available for download (find it through Google). > > -- David McFarlane, Professional Faultfinder > > >Carlos, > > >At 12/11/2009 04:53 PM Friday, you wrote: > > >David, > > > >Hi there, I am new to the group and see that you make your own boxes > > >to communicate with E-PRime. > > >Just on that point, we have built very simple passive switch boxes > >that we connect either to a digital I/O port (i.e., the parallel > >printer port), or to the expansion connector on the SRBox.  Although > >I know enough about the SRBox that in principle I could build one > >from scratch (no exotic circuitry in there), I have not yet gone to > >the trouble of doing anything like that. > > > >We are currently in the process of converting some old IFIS response > > >pads to work directly with E-Prime, but are having difficulty > > >getting E-Prime to detect every button press and difficulty figuring > > >out what type of characters E-Prime is expecting. Since the SRBox > > >Device is usually set to emulate the keyboard I thought we could > > >have the bread board we currently have the pads connected to send > > >out the hex code associated with the main number keys on the > > >keyboard. This didn't work very well and sometimes buttons that were > > >wired differently elicited the same output. > > > >So my question is if you know what type of input E-Prime is > > >expecting from a device connected to the serial port? > > >OK, now that I have considered your question...  Again, to be > >accurate I have never used the Serial Device in E-Prime, so for that > >I would look at the SerialDevice topic in the online E-Basic Help > >(and take that with a huge grain of salt, I find a mistake > >practically every time I look in the E-Basic Help).  But as far as I > >can tell that just reads raw bytes from any serial device, it is up > >to your particular device to determine what those bits mean and then > >up to your E-Prime script to decode them. > > >But FWIW I will say a bit about what I know of the SRBox, which also > >uses the serial port (which is not the same as being an E-Prime > >Serial Device).  OK, here is an excerpt from notes I made back in Aug > >2001, and never finished (but is much more detail than PST will ever > >give you)... > > >----------------------- > >The SRBox communicates with the computer though a standard RS-232C > >serial interface (DCE?; no handshaking).  The SRBox ignores all > >handshaking.  Communication parameters are 9600 or 19200 bps (jumper > >selectable, default is 9600), 8 data bits, no parity, 1 stop > >bit.  (At power on, sends &H7F) > > >Using these parameters, the SRBox sends a steady stream of key data > >at a pace of  800 or 1600 Bps (jumper selectable, default is > >800).  In total, three byte/communication rates are possible:  800 > >Bps at 9600 bps (default), 800 Bps at 19200 bps, and 1600 Bps at > >19200 bps (1600 Bps is incomptible with 9600 bps communication > >rate).  Note that at 800 Bps a byte is sent every 1.25 msec, while at > >1600 Bps a byte is sent every 0.625 msec. > > >Each byte sent from the SRBox encodes the state of one bank of eight > >devices (see control inputs below).  Bank one consists of the five > >built-in keys, the voice key, the refresh detector, and/or eight > >external devices through the expansion connector.  Bank two consists > >of an additional eight external devices through the expansion > >connector, plus the voice key and the refresh detector.  Data bytes > >are encoded according to the following table [this table does not > >show up well in plain text, but here it is anyway]: > > >Bit #   Bank 1 Function Bank 2 Function > >0       On-board Key 1, or external Key 1 (expansion connector pin > >#24) External Key 9 (pin #33) > >1       On-board Key 2, or external Key 2 (pin #25)     External Key > >10 (A) (pin #34) > >2       On-board Key 3, or external Key 3 (pin #26)     External Key > >11 (B) (pin #35) > >3       On-board Key 4, or external Key 4 (pin #27)     External Key > >12 (C) (pin #36) > >4       On-board Key 5, or external Key 5 (pin #28)     External Key > >13 (D) (pin #37) > >5       Voice Key, or external Key 6 (pin #29)  [?Voice Key, or?] > >External Key 14 (E) (pin #38) > >6       Refresh Detector, or external Key 7 (pin #30)   Refresh > >Detector, or External Key 15 (F) (pin #39) > >7       External Key 8 (pin #31)        External Key 16 (G) (pin #40) > > >The SRBox accepts input to control the state of built-in lamps and > >external devices, and to control its own operation.  (Same > >communcation parameters as for output.)  The lower five bits of an > >input byte control one of two banks of devices (see control bits > >below).  The upper five bits control the operation of the > >SRBox.  When sending a control byte to the SRBox, it is necessary to > >specify all three SRBox control bits.  Note that there is no way to > >read these control bits from the SRBox.  Thus, if you wish to change > >only one or two control bits, the program must itself store the prior > >state of all the control bits so that it can add back in the ones > >that are to remain unchanged. > > >For both banks, bits 0-4 control lamps or devices 1-5, where 0 > >deactivates the lamp or device, and 1 activates it.  The control bits > >operate as follows [again, this table comes out better in my original > >Word document]: > > >Bit #   Bank 1 Function Bank 2 Function > >0       On-board Lamp 1, or external Lamp 1 (expansion connector pins > >#7 & 6)   External Lamp 6 (9) (pins #9 & 8) > >1       On-board Lamp 2, or external Lamp 2 (pins #5 & > >4)       External Lamp 7 (A) (pins #11 & 10) > >2       On-board Lamp 3, or external Lamp 3 (pins #3 & > >2)       External Lamp 8 (B) (pins #13 & 12) > >3       On-board Lamp 4, or external Lamp 4 (pins #1 & > >21)      External Lamp 9 (C) (pins #15 & 14) > >4       On-board Lamp 5, or external Lamp 5 (pins #22 & > >23)     External Lamp 10 (D) (pins #17 & 16) > >5       Key Bank Select:  0 = bank 2, 1 = bank 1 > >6       Lamp Bank Select:  0 = voice key threshold & bank 2, 1 = bank 1 > >7       Transmit Data:  0 = Do not send data, 1 = Send data > > >Examples [another table that will not come out well in text]: > >Control Code > >Binary  Hex     Dec     Result > >0000 0001       01      1       Select key bank 2, stop data, set > >voice key threshold to 1, turn on lamp 6 (bank 2), turn off lamps 7-10 > >0010 0000       20      32      Select key bank 1, stop data, set > >voice key threshold to 0, turn off lamps 6-10 (bank 2) > >0100 0001       41      65      Select key bank 2, stop data, turn on > >lamp 1, turn off lamps 2-5 > >0110 0001       61      97      Select key bank 1, stop data, turn on > >lamp 1, turn off lamps 2-5 > >1000 0000       80      128     Select key bank 2, send data, set > >voice key threshold to 0, turn off lamps 6-10 (bank 2) > >1010 0000       A0      160     Select key bank 1, send data, set > >voice key threshold to 0, turn off lamps 6-10 (bank 2) > >1101 1010       DA      218     Select key bank 2, send data, turn on > >lamps 2, 4, & 5, turn off lamps 1 & 3 > >1110 1010       EA      234     Select key bank 1, send data, turn on > >lamps 2 & 4, turn off lamps 1, 3, & 5 > >----------------------- > > >Whew!  Here is a shorter view for you:  First, you might have to send > >something like &HE0 to start the SRBox sending data from key bank 1 > >(the on-board keys) (and turn off the on-board lamps).  At that point > >the SRBox will send a steady stream of bytes to the serial port, at > >the configured bps and communication rate (default 800 cps at 19200 > >baud).  Each bit encodes the state of one button, so, e.g., button 1 > >sends &H01, button 2 &H02, button 3 &H04, etc.; and buttons 1 & 3 > >simultaneously send &H05, etc.  You may then decode the byte with > >If...Then, or masking unwanted bits with a bitwise And. > > >As to "emulating the keyboard", clearly for that E-Prime > >transparently reads a byte from the SRBox, translates that into ASCII > >code for the appropriate numbers (e.g., button 1 becomes &H31, i.e., > >"1"), and uses something like InputDevice.InsertResponse to insert > >that string into the KeyboardDevice queue for use there.  I would > >rather start by using the device directly, and once I got that to > >work I might fiddle with getting emulation to work. > > >OK, that's probably both more and less than you asked for, but there it is. > > >-- David McFarlane, Professional Faultfinder > > > >Thanks, > > > >Carlos Faraco > > >University of Georgia > > > >On Oct 29, 10:50 am, David McFarlane wrote: > > > > Tobias, > > > > > OK, this question clearly lies outside the domain of PST Web Support, > > > > so I will weigh in... > > > > > >Of course, keyboards and mice don't look that professional > > > > > Hmm, around here we use keyboards and mice extensively, but perhaps > > > > we are not that "professional" :).  We also use the PST SRBox, and if > > > > you understand its operation then in principle you could use it with > > > > any platform that will accept a stream from a serial port.  Beyond > > > > that, sometimes we (meaning I) build our own customresponseboxes > > > > and wire them up either through an SRBox, a commercial digital I/O > > > > board, or even the lowly parallel port -- I have some mechanical > > > > skills as well as electronic and technology skills, and that is my > > > > job here.  Of course you should have a machine shop and an electronic > > > > shop as well as a skilled research technology professional at your > > > > own institution to help with that (perhaps you are that > > > > professional!).   I really don't see how anyone can consider > > > > themselves to do serious science in this > > ... > > read more » -- 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. From mcfarla9 at msu.edu Thu Dec 17 22:14:09 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 17 Dec 2009 17:14:09 -0500 Subject: Unreferenced E-Object_Logging In-Reply-To: <482bdafb-885d-4f70-89c9-30260614a095@c3g2000yqd.googlegrou ps.com> Message-ID: Katia, Standard reminder: 1) I do not work for PST. 2) PST's trained staff really does like to take any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours. So don't be shy there. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take ... >To do this condition "If RECOGNITION_TARGET.ACC = 1 then >FREE_RECALLtextdisplay", Hmm, this line of yours does not look quite right. Are you sure it is not something like If RECOGNITION_TARGET.ACC = 1 then FREE_RECALLtextdisplay.Run ? > I put the FREE_RECALLtextdispaly in the >Unreferenced E-Object (of course, if the subject does not recognize >the target (TARGET.ACC = 0) does not make sense to proceed with a >request of more details about the target). >The procedure works as I want, but the Unreferenced E-Object seems >don't log the data. >Unfortunately, inside of the Forum, I was not able to find information >about how to log data if I need to use a simple TextDisplay on >Unreferenced E-Object. >My question are: >Is it possible that an Unreferenced E-Object logs the subject >responses? If so, how can I set it? Whether a stimulus object appears in the main Structure or in Unreferenced E-Objects (to be run from inline script, etc.) should make no difference whatsoever. Either way you need to enable the Data Logging in the Properties page of that object, either from the Duration/Input tab or the Logging tab. >I apologize, if the Forum contains some indication about that, please >give me the istruction to read this information. >Do you have any more elegant and better suggestion (or precise >reference to a sample on the webside) about how can run the condition >describe above without using Unreferenced E-Object? >I'd really appreciate any help, or leads! I would rather use a structure like RecognitionScript FREE_RECALLtextdisplay FreeRecallSkipLabel and then my RecognitionScript would look like If RECOGNITION_TARGET.ACC then Goto FreeRecallSkipLabel That way my FREE_RECALLtextdisplay would appear in the Structure instead of Unreferenced E-Objects. -- David McFarlane, Professional Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) -- 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. From batouk74 at gmail.com Thu Dec 17 22:36:43 2009 From: batouk74 at gmail.com (batouk) Date: Thu, 17 Dec 2009 14:36:43 -0800 Subject: Unreferenced E-Object_Logging In-Reply-To: <4b2aad33.5944f10a.265f.5649SMTPIN_ADDED@gmr-mx.google.com> Message-ID: David, Thank you so much for your suggestion. I'll try immediately. Of course, as soon as PST staff will reply, I'll post their reply here! I really appreciate your help, so thank you again for your time Katia On 17 Dic, 18:14, David McFarlane wrote: > Katia, > > Standard reminder:  1) I do not work for PST.  2) PST's trained staff > really does like to take any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours.  So don't be shy > there.  3) If you do get an answer from PST Web Support, please > extend the courtesy of posting their reply back here for the sake of others. > > That said, here is my take ... > > >To do this condition "If RECOGNITION_TARGET.ACC = 1 then > >FREE_RECALLtextdisplay", > > Hmm, this line of yours does not look quite right.  Are you sure it > is not something like > > If RECOGNITION_TARGET.ACC = 1 then FREE_RECALLtextdisplay.Run   ? > > >  I put the FREE_RECALLtextdispaly in the > >Unreferenced E-Object (of course, if the subject does not recognize > >the target (TARGET.ACC = 0) does not make sense to proceed with a > >request of more details about the target). > >The procedure works as I want, but the Unreferenced E-Object seems > >don't log the data. > >Unfortunately, inside of the Forum, I was not able to find information > >about how to log data if I need to use a simple TextDisplay on > >Unreferenced E-Object. > >My question are: > >Is it possible that an Unreferenced E-Object logs the subject > >responses? If so, how can I set it? > > Whether a stimulus object appears in the main Structure or in > Unreferenced E-Objects (to be run from inline script, etc.) should > make no difference whatsoever.  Either way you need to enable the > Data Logging in the Properties page of that object, either from the > Duration/Input tab or the Logging tab. > > >I apologize, if the Forum contains some indication about that, please > >give me the istruction to read this information. > >Do you have any more elegant and better suggestion (or precise > >reference to a sample on the webside) about how can run the condition > >describe above without using Unreferenced E-Object? > >I'd really appreciate any help, or leads! > > I would rather use a structure like > > RecognitionScript > FREE_RECALLtextdisplay > FreeRecallSkipLabel > > and then my RecognitionScript would look like > > If RECOGNITION_TARGET.ACC then Goto FreeRecallSkipLabel > > That way my FREE_RECALLtextdisplay would appear in the Structure > instead of Unreferenced E-Objects. > > -- David McFarlane, Professional Faultfinder > "For a successful technology, reality must take precedence over > public relations, for nature cannot be fooled."  (Richard Feynman, > Nobel prize-winning physicist) -- 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. From mcfarla9 at msu.edu Fri Dec 18 15:59:48 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 18 Dec 2009 10:59:48 -0500 Subject: Unreferenced E-Object_Logging In-Reply-To: <4b2aad33.5944f10a.265f.5649SMTPIN_ADDED@gmr-mx.google.com> Message-ID: David, On Thu 17 Dec 2009 David McFarlane wrote: > Whether a stimulus object appears in the main Structure or in > Unreferenced E-Objects (to be run from inline script, etc.) should > make no difference whatsoever. Either way you need to enable the > Data Logging in the Properties page of that object, either from the > Duration/Input tab or the Logging tab. Some "Professional Faultfinder" you are! As any idiot except you knows, when you run a stimulus object from inline script E-Prime does *not* generate the c.SetAttrib calls needed to log the properties of that object (whether or not the object is in "Unreferenced E-Objects" still makes no difference). For that you would need to explicitly add your own logging script, e.g., If RECOGNITION_TARGET.ACC = 1 then FREE_RECALLtextdisplay.Run c.SetAttrib "FREE_RECALLtextdisplay.RESP", FREE_RECALLtextdisplay.RESP c.SetAttrib "FREE_RECALLtextdisplay.RT", FREE_RECALLtextdisplay.RT For more details just look at the full generated script from any stimulus object, or look at the Context topic in the online E-Basic Help. Furthermore, running a stimulus object from inline script does not generate the script to construct the input mask for that object, which could lead to other problems. All the more why I prefer the solution of putting the stimulus object directly in the structure and then using If...Then...Goto to skip around it. Next time check your facts before you shoot your mouth off and sow confusion. And then please spare us all your feeble attempt at self-deprecating humor in your inevitable followup post! -- David McFarlane, Professional Faultfinder -- 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. From liza.mccarron at uwe.ac.uk Fri Dec 18 16:15:02 2009 From: liza.mccarron at uwe.ac.uk (LizaM) Date: Fri, 18 Dec 2009 08:15:02 -0800 Subject: Setting 2 seperate duration times Message-ID: Hello, I have an experiment which runs 32 lists as facial image sequnces - the participant has to press space when the eyes within the faces appear to be no longer looking at them. Each list needs to reapeat twice with each image in the sequence displayed for 200ms on one viewing and 300ms on the other viewing - these should not be sequential, ie seq 1 may have 300 ms on first view and 200 on 2nd, seq 2 may be the other way round etc. The lists need to be displayed in a random order but one view must be 200ms and one 300ms. I have made the duration on the image display object into a variable which is selected from a list nested inside bloclk list - my question is how do I ensure that one view of the seq is at 300ms and one at 200ms whilst preserving the random order of sequences? Many thanks for any help! Liza -- 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. From liza.mccarron at uwe.ac.uk Fri Dec 18 16:41:47 2009 From: liza.mccarron at uwe.ac.uk (LizaM) Date: Fri, 18 Dec 2009 08:41:47 -0800 Subject: Setting 2 seperate duration times In-Reply-To: <7e55e59a-4622-4648-9378-e25113873c14@21g2000yqj.googlegroups.com> Message-ID: Just worked it out! Repeated the Procedures that run the Image seq lists in the Blocklist twice, created an attribute called timeduartion in that list, gave each a value of 200 for the first lot and 300 for the repeats, used that as the variable in the Image Display duration, set the blocklist to select randomly and bingo! It works! I think it was documenting the problem here that helped though :) On Dec 18, 4:15 pm, LizaM wrote: > Hello, > > I have an experiment which runs 32 lists as facial image sequnces - > the participant has to press space when the eyes within the faces > appear to be no longer looking at them.  Each list needs to reapeat > twice with each image in the sequence displayed for 200ms on one > viewing and 300ms on the other viewing - these should not be > sequential, ie seq 1 may have 300 ms on first view and 200 on 2nd, seq > 2 may be the other way round etc. The lists need to be displayed in a > random order but one view must be 200ms and one 300ms.  I have made > the duration on the image display object into a variable which is > selected from a list nested inside bloclk list - my question is how do > I ensure that one view of the seq is at 300ms and one at 200ms whilst > preserving the random order of sequences? > > Many thanks for any help! > > Liza -- 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. From mcfarla9 at msu.edu Fri Dec 18 21:18:02 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 18 Dec 2009 16:18:02 -0500 Subject: Unreferenced E-Object_Logging In-Reply-To: <4b2aad33.5944f10a.265f.5649SMTPIN_ADDED@gmr-mx.google.com> Message-ID: On Thu 17 Dec 2009 David McFarlane wrote: > I would rather use a structure like > > RecognitionScript > FREE_RECALLtextdisplay > FreeRecallSkipLabel > > and then my RecognitionScript would look like > > If RECOGNITION_TARGET.ACC then Goto FreeRecallSkipLabel Did anybody find the slight logic error in that example? To satisfy Katia's posted question, that last line should read If (RECOGNITION_TARGET.ACC = 0) Then Goto FreeRecallSkipLabel But that would be apparent to anybody as soon as that script were run. BTW Katia, I just noticed something else fishy about your program as described. The names of your stimulus objects contain an underscore, "_". AFAIK E-Studio does not allow this, at least every version that I use rejects the underscore as soon as I try to use it in an object name. E-Prime allows underscores only for objects and variables that appear only in script, not in the E-Studio GUI. So I suspect that there is a lot more to your problem than you are telling us, and I probably will not be able to help you further (no great loss there, as I keep making mistakes anyway :)). -- David McFarlane, Professional Faultfinder -- 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. From mcgree at gmail.com Sun Dec 27 03:15:23 2009 From: mcgree at gmail.com (mcgree) Date: Sat, 26 Dec 2009 19:15:23 -0800 Subject: Compatibility with Windows 7 Message-ID: Hello, I just upgraded to Windows 7. I am not sure if E-Prime will even work with Windows 7. Has anyone tried this? If so, what has your experience been like? Thank you! -- 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. From j.browndyke at duke.edu Sun Dec 27 15:06:57 2009 From: j.browndyke at duke.edu (Jeffrey Browndyke) Date: Sun, 27 Dec 2009 10:06:57 -0500 Subject: Jeff Browndyke is out of the office for the holidays. Message-ID: I will be out of the office starting 12/22/2009 and will not return until 12/29/2009. I will respond to your message when I return. Will catch email when I can, but will be unable to access anything from 12/24-12/28. Happy Holidays! Jeff If this is a clinical issue requiring more prompt attention, please address inquiries to Vicki Dixon (vicki.dixon at duke.edu). Alternatively, if a research-related issue of some urgency, you may try Michelle McCart (misimons at duke.edu). Regards, Jeff Browndyke -- 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. From cmarker1 at gmail.com Sun Dec 27 15:29:13 2009 From: cmarker1 at gmail.com (Craig) Date: Sun, 27 Dec 2009 07:29:13 -0800 Subject: Compatibility with Windows 7 In-Reply-To: <0d9c30fa-d73a-46db-b8af-c48f17b0ff66@e27g2000yqd.googlegroups.com> Message-ID: Hello, One idea is to use XP mode in Windows 7. There is virtualization software available from Windows to allow you to run XP software in Windows 7. I am actually planning on trying this out in the next few days as well. Here is the link:http://www.microsoft.com/windows/ virtual-pc/download.aspx -- 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. From mcgree at gmail.com Sun Dec 27 19:16:43 2009 From: mcgree at gmail.com (mcgree) Date: Sun, 27 Dec 2009 11:16:43 -0800 Subject: Compatibility with Windows 7 In-Reply-To: <2009fccf-e4e4-41fb-8812-d0c95432a4e2@j24g2000yqa.googlegroups.com> Message-ID: Thank you so much for the information! I will give it a try. -- 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. From salemibehnam at gmail.com Wed Dec 9 03:30:02 2009 From: salemibehnam at gmail.com (Ben) Date: Tue, 8 Dec 2009 19:30:02 -0800 Subject: Flashing two dots at different frequencies. Message-ID: Hi, For a SSVEP experiment I need to flash two dots on an image at different frequencies. My problem is that I haven't been able find a way to set different timings for each dot to turn on and off independently. I am new to E-Prime and would appreciate your help. Thank you, Ben. -- 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. From liwenna at gmail.com Wed Dec 9 10:10:12 2009 From: liwenna at gmail.com (liwenna) Date: Wed, 9 Dec 2009 02:10:12 -0800 Subject: FW: Message ("This is only a mirror of the EPRIME list. You...") In-Reply-To: <4b1eab65.5244f10a.2895.7008SMTPIN_ADDED@gmr-mx.google.com> Message-ID: I've started receiving these since a couple of weeks now. I figured the owner of the listserv group probably changed some setting or another. On Dec 8, 8:39 pm, David McFarlane wrote: > Mich, > > Yes, I have started getting these every time I > post to the Group. I never got them as long as I > was only subscribed to the old E-Prime List, but > recently I officially "joined" the Google Group, > with the hope that I could contribute some of my > demo programs to the Files section (that required > getting a Google account, and then I still could > not upload files, sigh). And ever since I joined > the Google Group I have gotten that message every time I post. Coincidence? > > -- David McFarlane, Professional Faultfinder > > At 12/8/2009 07:23 AM Tuesday, you wrote: > > >Does anyone else keep getting this message? I'm > >sort of wondering what I keep doing wrong, and > >secondly, whether there's a difference between > >eprime at googlegroups.com and e-prime at googlegroups.com... > >Best, > >Mich > > >Michiel Spap? > >Research Fellow > >Perception & Action group > >University of Nottingham > >School of Psychology > > >-----Original Message----- > >From: LISTSERV.LINGUISTLIST.ORG LISTSERV Server > >(15.5) [mailto:LISTS... at LISTSERV.LINGUISTLIST.ORG] > >Sent: 25 November 2009 11:39 > >To: Michiel.Sp... at NOTTINGHAM.AC.UK > >Subject: Message ("This is only a mirror of the EPRIME list. You...") > > >This is only a mirror of the EPRIME list. You cannot therefore post messages > >for EPRIME to this address. If you wish to do so, you must send mail to the > >address EPR... at GOOGLEGROUPS.COM or the appropriate list-owner. > >This message has been checked for viruses but the contents of an attachment > >may still contain software viruses which could damage your computer system: > >you are advised to perform your own checks. Email communications with the > >University of Nottingham may be monitored as permitted by UK legislation. -- 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. From liwenna at gmail.com Wed Dec 9 10:59:11 2009 From: liwenna at gmail.com (liwenna) Date: Wed, 9 Dec 2009 02:59:11 -0800 Subject: FW: Message ("This is only a mirror of the EPRIME list. You...") In-Reply-To: <92f75876-bf0b-490d-b691-e3e821b96352@k4g2000yqb.googlegroups.com> Message-ID: Didn't get it for the above message though O.o On Dec 9, 11:10 am, liwenna wrote: > I've started receiving these since a couple of weeks now. I figured > the owner of the listserv group probably changed some setting or > another. > > On Dec 8, 8:39 pm, David McFarlane wrote: > > > Mich, > > > Yes, I have started getting these every time I > > post to the Group. I never got them as long as I > > was only subscribed to the old E-Prime List, but > > recently I officially "joined" the Google Group, > > with the hope that I could contribute some of my > > demo programs to the Files section (that required > > getting a Google account, and then I still could > > not upload files, sigh). And ever since I joined > > the Google Group I have gotten that message every time I post. Coincidence? > > > -- David McFarlane, Professional Faultfinder > > > At 12/8/2009 07:23 AM Tuesday, you wrote: > > > >Does anyone else keep getting this message? I'm > > >sort of wondering what I keep doing wrong, and > > >secondly, whether there's a difference between > > >eprime at googlegroups.com and e-prime at googlegroups.com... > > >Best, > > >Mich > > > >Michiel Spap? > > >Research Fellow > > >Perception & Action group > > >University of Nottingham > > >School of Psychology > > > >-----Original Message----- > > >From: LISTSERV.LINGUISTLIST.ORG LISTSERV Server > > >(15.5) [mailto:LISTS... at LISTSERV.LINGUISTLIST.ORG] > > >Sent: 25 November 2009 11:39 > > >To: Michiel.Sp... at NOTTINGHAM.AC.UK > > >Subject: Message ("This is only a mirror of the EPRIME list. You...") > > > >This is only a mirror of the EPRIME list. You cannot therefore post messages > > >for EPRIME to this address. If you wish to do so, you must send mail to the > > >address EPR... at GOOGLEGROUPS.COM or the appropriate list-owner. > > >This message has been checked for viruses but the contents of an attachment > > >may still contain software viruses which could damage your computer system: > > >you are advised to perform your own checks. Email communications with the > > >University of Nottingham may be monitored as permitted by UK legislation. -- 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. From mcfarla9 at msu.edu Wed Dec 9 14:44:22 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 9 Dec 2009 09:44:22 -0500 Subject: Flashing two dots at different frequencies. In-Reply-To: Message-ID: Ben, Standard reminder: 1) I do not work for PST. 2) PST's trained staff really does like to take any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours. So don't be shy there. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take ... Hmm, it would make it rather easier if one frequency were an integral multiple of the other. In that case the slower dot appears only in conjunction with the faster one, and you could simply use two different Slides with a List that cycles through them at the right frequency. But I assume that your situation is not so simple. Back when I did this sort of thing in C, at the start of the session I would create an array with all the scheduled times and events, and then just roll that out through an event loop. E.g., if each dot persisted for 200 ms, and one dot flashed every 500 ms while the other every 750 ms, then my array might look like t_ms event ---- ----- 0 dot500on 200 dot500off 500 dot500on 700 dot500off 750 dot750on 950 dot750off 1000 dot500on 1200 dot500off 1500 dot500on 1500 dot750on 1700 dot500off 1700 dot750off 2000 dot500on 2200 dot500off (Actually, I would add the start time of the session to all those times.) In principle you could do this with E-Prime, but I am not about to demonstrate that myself. I call this general approach an "in advace" technique. If you prefer an "on the fly" technique, then you might consider using inline script to select which dot(s) appear next, and to manipulate SetNextTargetOnsetTime for that dot to appear (or use .CustomOnsetTime & .CustomOffsetTime if you prefer) -- see the online E-Basic Help. Because one dot might need to turn on or off during the duration of another dot, you might still need to set the Duration of the dots to 0 and use script to turn them off at the appropriate time. I sure hope someone else chimes in with a better idea! -- David McFarlane, Professional Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) Ben wrote: > For a SSVEP experiment I need to flash two dots on an image at > different frequencies. My problem is that I haven't been able find a > way to set different timings for each dot to turn on and off > independently. > I am new to E-Prime and would appreciate your help. > > Thank you, > Ben. -- 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. From vvanmulukom at gmail.com Wed Dec 9 22:33:27 2009 From: vvanmulukom at gmail.com (Valerie) Date: Wed, 9 Dec 2009 14:33:27 -0800 Subject: How to implement ordered stimulus repetition in E-Prime Message-ID: Hi, For my fMRI adaptation experiment, I need to encode ordered repetitions. That is, I have an ordered list of stimuli that will be presented, but within this list (each of the) 12 items will be repeated three times (with a variable number of intervening trials). I was wondering, is there a way to make use of the ID?s that the different stimuli have to implement this repetition in E-Prime? For example, by writing some script which recalls an ID or something? (I.e. [present 1, 2, 3, 1, ..]). I will need to make 125 lists, so it would really save time if there were a way to implement this. Thanks! Valerie -- 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. From mcfarla9 at msu.edu Thu Dec 10 03:11:20 2009 From: mcfarla9 at msu.edu (dkmcf) Date: Wed, 9 Dec 2009 19:11:20 -0800 Subject: Variable always offset by 1 row.... In-Reply-To: <4b1d5789.1308c00a.0719.ffff8faaSMTPIN_ADDED@gmr-mx.google.com> Message-ID: On Dec 7, 2:29 pm, David McFarlane wrote: > In general, if you mean > a series of If..Thens to have only one effect (like a "radio button" > instead of a "check box"), it makes more sense to use the full > If..Then..Else If structure, thus, > > If CardSlideA.RESP = "c" then > falsecardfilename1 = "circle.jpg" > Else If CardSlideA.RESP = "v" then > falsecardfilename1 = "cross.jpg" > Else If CardSlideA.RESP = "b" then > falsecardfilename1 = "square.jpg" > Else If CardSlideA.RESP = "n" then > falsecardfilename1 = "squiggle.jpg" > Else If CardSlideA.RESP = "m" > then falsecardfilename1 = "star.jpg" > Else ' defensive programming! > MsgBox "Unanticipated CardSlideA.RESP!" > End If > c.setattrib "falsecardfilename", falsecardfilename1 Sorry to keep correcting my own examples, but I keep forgetting that in E-Basic, although "End If" is two words, "ElseIf" is only one. So that example should read If CardSlideA.RESP = "c" then falsecardfilename1 = "circle.jpg" ElseIf CardSlideA.RESP = "v" then falsecardfilename1 = "cross.jpg" ElseIf CardSlideA.RESP = "b" then falsecardfilename1 = "square.jpg" ElseIf CardSlideA.RESP = "n" then falsecardfilename1 = "squiggle.jpg" ElseIf CardSlideA.RESP = "m" then falsecardfilename1 = "star.jpg" Else ' defensive programming! MsgBox "Unanticipated CardSlideA.RESP!" End If c.setattrib "falsecardfilename", falsecardfilename1 -- David McFarlane, Professional (& occasionally sloppy) Faultfinder -- 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. From mcfarla9 at msu.edu Thu Dec 10 03:21:47 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 9 Dec 2009 22:21:47 -0500 Subject: Flashing two dots at different frequencies. In-Reply-To: <4B1FB7C6.8040102@msu.edu> Message-ID: Ben, Here is another "on the fly" approach (based on my experience with NetLogo at the start of this year). Think of each flashing dot as an object or "agent" with properties for on duration, off duration, current state (on or off), and clock time for its next change of state (you might do this with a User Defined Type, or with some clever use of the properties already built in to E-Prime display objects). Your event loop would then check the "next change" time of each active object against the current clock time. For each object whose "next change" time has been reached, it would toggle the object's state and update its "next change" time accordingly. You would still have to write your own event loop for E-Prime (in NetLogo this is built in). -- David McFarlane, Professional Faultfinder -- 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. From ll356 at medschl.cam.ac.uk Thu Dec 10 11:00:21 2009 From: ll356 at medschl.cam.ac.uk (River) Date: Thu, 10 Dec 2009 03:00:21 -0800 Subject: Recording presses and releases from a serial response box In-Reply-To: <4b17f034.5944f10a.5ef1.294bSMTPIN_ADDED@gmr-mx.google.com> Message-ID: FYI for others who aren't clever enough to check the PST site first... (apologies) To get the SRBox to register presses and releases you have to: go to Edit, Experiment, Devices, and edit what it records. Then in Allowable responses add the key as you normally would e.g. 1 as well as {-1} which denotes presses with the 1 and releases with the {-1} . Then click on the advanced button and increase the MaxCount to at least 2. Also, just from my experience, if you're trying to get timing between presses, bear in mind that responses may occur during fixations and necessarily during images so these settings should probably be applies to fixation screens too. Thanks for the pointers David. On Dec 3, 5:06?pm, David McFarlane wrote: > River, > > Standard reminder: ?1) I do not work for PST. ?2) PST's trained staff > really does like to take any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours. ?So don't be shy > there. ?3) If you do get an answer from PST Web Support, please > extend the courtesy of posting their reply back here for the sake of others. > > That said, here is my take ... > > At 12/3/2009 09:23 AM Thursday, you wrote: > > >I've been perusing the E-Basic Help pages...just to specify, ideally I > >want this record to appear in the data file, not in a msg box. Is that > >possible?! > > Yes. ?Please download the > Multiple > Response Collection sample from the PST web site. > > >On Dec 3, 12:26 pm, River wrote: > > > I see that you can get the srbox to record presses and releases > > > however I can't see where these two discrete events are recorded in > > > the data files when this setting is used-can anyone enlighten me? > > By default, only one response gets recorded in the .edat file. ?If > you have both presses & releases enabled, and a Max Count of 1 (the > default), then you will record only the press. ?If you set Max Count > to 2, then you will record only the release. ?To record more, please > see the answer above. > > > > Secondly, is there a way to program the software to start a stop watch > > > when a certain srbox button has been pressed (or released) and stop it > > > when its pressed again (or released) while simultaneously continuing > > > with the experiment (namely showing a series of pictures which are to > > > be responded to using a different srbox key press.) I.e. is it > > > possible to time the duration between a specific set of key presses? > > Yes, it is possible, and many other things besides. ?It will require > some inline script, and the more intricate your design, the more > script you will need. > > -- David McFarlane, Professional Faultfinder -- 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. From Michiel.Spape at nottingham.ac.uk Thu Dec 10 12:14:13 2009 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Thu, 10 Dec 2009 12:14:13 -0000 Subject: Recording presses and releases from a serial response box In-Reply-To: <258f3e89-60f0-48e3-a591-0ab2d44ff1eb@j14g2000yqm.googlegroups.com> Message-ID: Hi, Just to make a bit of a contribution to this: as David pointed out, though maxCount will allow recording of multiple responses, it will not necessarily SAVE the timings of these responses. Here's an example where I have one textDisplay, 'RespS1', which collects the two responses, and a script which then saves the relevant information to the .edat (a quick edit from the ebasic help, actually): dim nClicks as integer Dim kbdRespColl As ResponseDataCollection nClicks = RespS1.InputMasks(1).Responses.Count '(1) being keyboard here Set kbdRespColl = RespS1.InputMasks(1).Responses if nClicks > 0 then c.Setattrib "RT1", (kbdRespColl(1).RT) if kbdRespColl(1).RESP = c.GetAttrib ("CRESP1") then c.SetAttrib "ACC1", 1 else c.SetAttrib "ACC1", 0 end if if nClicks > 1 then c.SetAttrib "RT2", (kbdRespColl(2).RT) if kbdRespColl(2).RESP = c.GetAttrib ("CRESP2") then c.SetAttrib "ACC2", 1 else c.SetAttrib "ACC2", 0 end if BTW: I agree with David that ElseIf would be more computationally efficient and elegant, but I usually find it easier on my own cognition to make exclusive and exhaustive if-then statements (and will take the extra microsecond for granted). The above formula works pretty elegantly however, since the only unselected case (=0) shouldn't give any RT's or ACC's anyway (I prefer missing reactions to be coded as missing rather than as errors). Cheers, Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of River Sent: 10 December 2009 11:00 To: E-Prime Subject: Re: Recording presses and releases from a serial response box FYI for others who aren't clever enough to check the PST site first... (apologies) To get the SRBox to register presses and releases you have to: go to Edit, Experiment, Devices, and edit what it records. Then in Allowable responses add the key as you normally would e.g. 1 as well as {-1} which denotes presses with the 1 and releases with the {-1} . Then click on the advanced button and increase the MaxCount to at least 2. Also, just from my experience, if you're trying to get timing between presses, bear in mind that responses may occur during fixations and necessarily during images so these settings should probably be applies to fixation screens too. Thanks for the pointers David. On Dec 3, 5:06?pm, David McFarlane wrote: > River, > > Standard reminder: ?1) I do not work for PST. ?2) PST's trained staff > really does like to take any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours. ?So don't be shy > there. ?3) If you do get an answer from PST Web Support, please > extend the courtesy of posting their reply back here for the sake of others. > > That said, here is my take ... > > At 12/3/2009 09:23 AM Thursday, you wrote: > > >I've been perusing the E-Basic Help pages...just to specify, ideally I > >want this record to appear in the data file, not in a msg box. Is that > >possible?! > > Yes. ?Please download the > Multiple > Response Collection sample from the PST web site. > > >On Dec 3, 12:26 pm, River wrote: > > > I see that you can get the srbox to record presses and releases > > > however I can't see where these two discrete events are recorded in > > > the data files when this setting is used-can anyone enlighten me? > > By default, only one response gets recorded in the .edat file. ?If > you have both presses & releases enabled, and a Max Count of 1 (the > default), then you will record only the press. ?If you set Max Count > to 2, then you will record only the release. ?To record more, please > see the answer above. > > > > Secondly, is there a way to program the software to start a stop watch > > > when a certain srbox button has been pressed (or released) and stop it > > > when its pressed again (or released) while simultaneously continuing > > > with the experiment (namely showing a series of pictures which are to > > > be responded to using a different srbox key press.) I.e. is it > > > possible to time the duration between a specific set of key presses? > > Yes, it is possible, and many other things besides. ?It will require > some inline script, and the more intricate your design, the more > script you will need. > > -- David McFarlane, Professional Faultfinder -- 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. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- 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. From dperlman at wisc.edu Thu Dec 10 21:04:02 2009 From: dperlman at wisc.edu (David Perlman) Date: Thu, 10 Dec 2009 13:04:02 -0800 Subject: ExitValueSamples: get it in an Inline? In-Reply-To: <4ae61129.5244f10a.4393.7bfdSMTPIN_ADDED@gmr-mx.google.com> Message-ID: OK, this is interesting. It looks like if I get something like RunList.TerminateCondition it will be an object like Cycles(1). But I can't find any documentation on how I would get the nCycles parameter out of the object. And in any case, with the default settings you'd just get Cycles(1) which wouldn't tell you anything about how many samples were in a cycle, i.e. how many items total in the list. So unless there's something more you can do with it, I'm still stumped. On Oct 26, 3:12?pm, David McFarlane wrote: > Dave, > > This is all beyond me, so I encourage you to take this up with PST > Web Support athttp://support.pstnet.com/e%2Dprime/support/login.asp > , they promise response times of 24-48 hours to all requests. ?But > here are my thoughts anyway... > > At 10/23/2009 04:25 PM Friday, you wrote: > > >Is there a way to get the "Exit List After # Samples" value from a > >list object and use it in an Inline script? ?Looking at the .es file > >in a text editor (I'm using Eprime 1.1) I see the value is stored as > >"ExitValueSamples" but I haven't found anything about that in the > >documentation anywhere, or through Google. > > You may find this documentend in the List.TerminateCondition topic of > the online E-Basic Help, which will then steer you to the Trigger > Object topic. ?But I don't know that any of that will help you > because AFAIK .TerminateCondition returns a "Trigger" object instead > of a number. > > > > > > >The reason I am trying to do this is that I have script to run an > >experiment in the fMRI scanner. ?The experiment is broken into 8 scan > >runs to allow the subject resting periods. ?If something goes wrong I > >need to be able to start up the script on a specified run number. > >Right now I have it prompt for a startup value StartRunNum and then I > >have a script at the beginning which uses a For loop to step through > >the right number of GetNextAttrib() methods, which has the effect of > >advancing the list by the right number. ?But there are sub-lists > >within each run, which also need to be advanced. ?I am piloting this > >right now, so I may be changing the numbers of samples of the various > >sub-lists, and if I do it this way it gets to be a complicated set of > >nested For loops with values that have to stay synchronized with > >changes in the Exit List After Samples in a complicated way. ?So I'd > >like to be able to change the Exit After value in my lists without > >needing to update the skip-ahead script. > > >If anyone has a better way of skipping ahead to a specified run > >number, I'd be open to alternatives, too. > > Since you have the scan runs organized in a list, you might find some > way to just jump to and run one single level of your scan run > list. ?This is very much what Counterbalance does, so you might take > a look at the script that that produces (you would have to get > comfortable with List.Order, List.Deletion, and PickOne, as well as > List.TerminateCondition, List.ResetCondition, and Samples). ?For that > matter, long ago we used IFIS for our fMRI, and that implemented a > complete random-access scan run menu all in E-Prime. ?If you could > find someone to generate any old IFIS program in EP1 and send you > both the .es and the .ebs file, you could learn a lot by poring over > the script. ?(I know that I did long ago, e.g., now I use an > Unreferenced list to expose global parameters to users rather than > make them figure out how to use the User Script pane.) ?Make sure > they use EP1, and send the .ebs file -- you cannot generate the .ebs > file without the IFIS package, and EP2 .ebs2 files hide the generated script. > > -- David McFarlane, Professional Faultfinder -- 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. From salemibehnam at gmail.com Thu Dec 10 21:13:19 2009 From: salemibehnam at gmail.com (Ben) Date: Thu, 10 Dec 2009 13:13:19 -0800 Subject: Flashing two dots at different frequencies. In-Reply-To: <4B20694B.6040205@msu.edu> Message-ID: Hello David, Thank you for your responses. I actually implemented the exact same approach in VB yesterday and it is working nicely. Best, B. On Dec 9, 7:21?pm, David McFarlane wrote: > Ben, > > Here is another "on the fly" approach (based on my experience with > NetLogo at the start of this year). ?Think of each flashing dot as an > object or "agent" with properties for on duration, off duration, current > state (on or off), and clock time for its next change of state (you > might do this with a User Defined Type, or with some clever use of the > properties already built in to E-Prime display objects). ?Your event > loop would then check the "next change" time of each active object > against the current clock time. ?For each object whose "next change" > time has been reached, it would toggle the object's state and update its > "next change" time accordingly. > > You would still have to write your own event loop for E-Prime (in > NetLogo this is built in). > > -- David McFarlane, Professional Faultfinder -- 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. From ash2003raff at yahoo.com Thu Dec 10 21:22:42 2009 From: ash2003raff at yahoo.com (ashraf) Date: Thu, 10 Dec 2009 13:22:42 -0800 Subject: Reaction time outliers in e-prime Message-ID: hi group what the effective way to remove reaction time outliers by e-prime and ,should i analysis the removable values when i analysis the accuracy ashraf -- 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. From mcfarla9 at msu.edu Thu Dec 10 22:24:57 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 10 Dec 2009 17:24:57 -0500 Subject: ExitValueSamples: get it in an Inline? In-Reply-To: <03b2c522-0d76-42a6-b935-6774bc768dab@s31g2000yqs.googlegro ups.com> Message-ID: Dave, I asked a question much like this about getting List Weights some time ago (see http://www.pstnet.com/forum/Topic1244-5-1.aspx ). Brandon's answer to that was: (1) can't do it, and (2) could work around that by setting up a column in the list to "mirror" the desired information. I suppose the other workaround would be to, instead of setting the .TerminateCondition via the E-Studio GUI and trying to read it in script, set the .TerminateCondition only in script and then your script will always know and control the value. -- David McFarlane, Professional Faultfinder >OK, this is interesting. It looks like if I get something like >RunList.TerminateCondition it will be an object like Cycles(1). But I >can't find any documentation on how I would get the nCycles parameter >out of the object. And in any case, with the default settings you'd >just get Cycles(1) which wouldn't tell you anything about how many >samples were in a cycle, i.e. how many items total in the list. So >unless there's something more you can do with it, I'm still stumped. > > >On Oct 26, 3:12 pm, David McFarlane wrote: > > Dave, > > > > This is all beyond me, so I encourage you to take this up with PST > > Web Support athttp://support.pstnet.com/e%2Dprime/support/login.asp > > , they promise response times of 24-48 hours to all requests. But > > here are my thoughts anyway... > > > > At 10/23/2009 04:25 PM Friday, you wrote: > > > > >Is there a way to get the "Exit List After # Samples" value from a > > >list object and use it in an Inline script? Looking at the .es file > > >in a text editor (I'm using Eprime 1.1) I see the value is stored as > > >"ExitValueSamples" but I haven't found anything about that in the > > >documentation anywhere, or through Google. > > > > You may find this documentend in the List.TerminateCondition topic of > > the online E-Basic Help, which will then steer you to the Trigger > > Object topic. But I don't know that any of that will help you > > because AFAIK .TerminateCondition returns a "Trigger" object instead > > of a number. > > > > > > > > > > > > >The reason I am trying to do this is that I have script to run an > > >experiment in the fMRI scanner. The experiment is broken into 8 scan > > >runs to allow the subject resting periods. If something goes wrong I > > >need to be able to start up the script on a specified run number. > > >Right now I have it prompt for a startup value StartRunNum and then I > > >have a script at the beginning which uses a For loop to step through > > >the right number of GetNextAttrib() methods, which has the effect of > > >advancing the list by the right number. But there are sub-lists > > >within each run, which also need to be advanced. I am piloting this > > >right now, so I may be changing the numbers of samples of the various > > >sub-lists, and if I do it this way it gets to be a complicated set of > > >nested For loops with values that have to stay synchronized with > > >changes in the Exit List After Samples in a complicated way. So I'd > > >like to be able to change the Exit After value in my lists without > > >needing to update the skip-ahead script. > > > > >If anyone has a better way of skipping ahead to a specified run > > >number, I'd be open to alternatives, too. > > > > Since you have the scan runs organized in a list, you might find some > > way to just jump to and run one single level of your scan run > > list. This is very much what Counterbalance does, so you might take > > a look at the script that that produces (you would have to get > > comfortable with List.Order, List.Deletion, and PickOne, as well as > > List.TerminateCondition, List.ResetCondition, and Samples). For that > > matter, long ago we used IFIS for our fMRI, and that implemented a > > complete random-access scan run menu all in E-Prime. If you could > > find someone to generate any old IFIS program in EP1 and send you > > both the .es and the .ebs file, you could learn a lot by poring over > > the script. (I know that I did long ago, e.g., now I use an > > Unreferenced list to expose global parameters to users rather than > > make them figure out how to use the User Script pane.) Make sure > > they use EP1, and send the .ebs file -- you cannot generate the .ebs > > file without the IFIS package, and EP2 .ebs2 files hide the > generated script. > > > > -- David McFarlane, Professional Faultfinder -- 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. From mcfarla9 at msu.edu Thu Dec 10 22:43:43 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 10 Dec 2009 17:43:43 -0500 Subject: Reaction time outliers in e-prime In-Reply-To: <8041a2c1-c195-4fb4-bdbf-13450f4e34cf@d21g2000yqn.googlegro ups.com> Message-ID: ashraf, Offhand, I don't know if this is a question about how to do something in E-Prime, or a more general question about how to handle outliers, which would be better suited for a class on data analysis. Also, is there any reason to have E-Prime handle outliers at run time rather than to gather all the raw data first and then deal with outliers during analysis? And you would probably use some statistics analysis package to handle the outliers, not E-Prime. But first you have to have a good grounding in statistical data analysis before you start throwing out data, and I would think that that topic goes way beyond the purpose this E-Prime Group. Regards, -- David McFarlane, Professional Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) >hi group > >what the effective way to remove reaction time outliers by e-prime >and ,should i analysis the removable values when i analysis the >accuracy >ashraf -- 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. From ash2003raff at yahoo.com Thu Dec 10 23:01:45 2009 From: ash2003raff at yahoo.com (ashraf) Date: Thu, 10 Dec 2009 15:01:45 -0800 Subject: Reaction time outliers in e-prime In-Reply-To: <4b2179a1.5344f10a.3ba3.15a2SMTPIN_ADDED@gmr-mx.google.com> Message-ID: David McFarlane, thank you for your reply ,there is a filter in e-prime could help me to handle outliers in reaction time before analysis,my question about that,also about analysis the accuracy in e-merge. please help me ,thank you very much On Dec 11, 12:43?am, David McFarlane wrote: > ashraf, > > Offhand, I don't know if this is a question about how to do something > in E-Prime, or a more general question about how to handle outliers, > which would be better suited for a class on data analysis. ?Also, is > there any reason to have E-Prime handle outliers at run time rather > than to gather all the raw data first and then deal with outliers > during analysis? ?And you would probably use some statistics analysis > package to handle the outliers, not E-Prime. ?But first you have to > have a good grounding in statistical data analysis before you start > throwing out data, and I would think that that topic goes way beyond > the purpose this E-Prime Group. > > Regards, > -- David McFarlane, Professional Faultfinder > "For a successful technology, reality must take precedence over > public relations, for nature cannot be fooled." ?(Richard Feynman, > Nobel prize-winning physicist) > > >hi group > > >what the effective way to remove reaction time outliers by e-prime > >and ,should i analysis the removable values ?when i analysis the > >accuracy > >ashraf -- 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. From ash2003raff at yahoo.com Fri Dec 11 00:14:09 2009 From: ash2003raff at yahoo.com (ashraf) Date: Thu, 10 Dec 2009 16:14:09 -0800 Subject: filter outliers in e-prime Message-ID: how could i filter outliers in reaction time with e-merge,and is this cutoffs applay to accuracy -- 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. From liwenna at gmail.com Fri Dec 11 11:02:14 2009 From: liwenna at gmail.com (liwenna) Date: Fri, 11 Dec 2009 03:02:14 -0800 Subject: Reaction time outliers in e-prime In-Reply-To: Message-ID: Hi Ashraf, I think that many users don't really use e-merge for their data- analysis (I don't at least and I know noone who does). So I really couldn't tell you how to do that although I guess it would be similar to the way you would do it when for instance using excel or spss. What I myself do: I merge the edat files and export them to a .txt file which I then import in SPSS. The next step is to know how you want to define outliers: do you want to define outliers per subject, per condition, per group etc etc. And do you want to define an outlier as more than 2 sd's from the mean or 3 sd's from the mean? In many tasks there's also a 'raw' cutoff of scores used based on the idea that for instance (and depending on your task) any reactiontime under say 200 ms or over 2000 ms are probably due to the subject not paying attention to the task enough (i.e. reasonably too fast or too slow). Once you have your definition you calculate the means and sd's over the collection of reactiontimes that you want to remove outliers from (for instance mean per group or mean per subject or mean per subject AND condition etc). and then calculate the lower and upper bound (by adding and subtracting 2 or 3 or depending on your definition sd's from the mean) and then filter the reactiontimes under and over these bounds out for that collection of reactiontimes. Alternatively you could use median scores instead of mean scores for which you would not need to calculate outliers... but... this might be harder to get published, yet for a first glance at your data is a quicker way. I agree with David that this is definitaly beyond the scope of this google group which has more to do with using e-prime the program as with the analysis of data collected with e-prime. In order to come to a definition of your outliers you ought to consult with existing literature on your task, with your statistics books and your common- sense (and your supervisors perhaps? If you have one that is). Good luck on it though :) liw On 11 dec, 00:01, ashraf wrote: > ?David McFarlane, > thank you for your reply ,there is a filter in e-prime ?could help me > to handle outliers in reaction time before analysis,my question about > that,also about analysis the accuracy in e-merge. please help > me ,thank you very much > > On Dec 11, 12:43?am, David McFarlane wrote: > > > ashraf, > > > Offhand, I don't know if this is a question about how to do something > > in E-Prime, or a more general question about how to handle outliers, > > which would be better suited for a class on data analysis. ?Also, is > > there any reason to have E-Prime handle outliers at run time rather > > than to gather all the raw data first and then deal with outliers > > during analysis? ?And you would probably use some statistics analysis > > package to handle the outliers, not E-Prime. ?But first you have to > > have a good grounding in statistical data analysis before you start > > throwing out data, and I would think that that topic goes way beyond > > the purpose this E-Prime Group. > > > Regards, > > -- David McFarlane, Professional Faultfinder > > "For a successful technology, reality must take precedence over > > public relations, for nature cannot be fooled." ?(Richard Feynman, > > Nobel prize-winning physicist) > > > >hi group > > > >what the effective way to remove reaction time outliers by e-prime > > >and ,should i analysis the removable values ?when i analysis the > > >accuracy > > >ashraf -- 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. From liwenna at gmail.com Fri Dec 11 11:14:40 2009 From: liwenna at gmail.com (liwenna) Date: Fri, 11 Dec 2009 03:14:40 -0800 Subject: How to implement ordered stimulus repetition in E-Prime In-Reply-To: Message-ID: Hi Valerie, I think we are a bit in the dark on your exact needs still. If you'd write a script within e-prime to order the triallist each run of e- prime will give the exact same order, which isnt' what you want I think cause if I understand correctly you need 125 different 'orders'. Right? And these orders need to be known beforehand and can't be created 'on the fly', am I right to think so? In that case I think your best shot is to create 125 lists and store them in 125 textfiles that are loaded into the triallist by e-prime based on for instance subjectnumber. If the randomisation can be made at random for each subject during the running of e-prime... you could consider using three different lists that are run subsequently each of them containing your 12 key-trials as well as a number of fillertrials and randomise each list: this way you can't control the number of fillertrials inbetween keytrials and also you can't prevent keytrials to be presented subsequently but you do know that each of the 12 keytrials will have been presented once before any of them is repeated and you also have a random number of intervening fillertrials as well as a new random order on each run of e-prime (i.e. each subject). Just two cents, tell a bit more about your exact needs if the above doesn't help at all (which seems likely :p) Best, liw On 9 dec, 23:33, Valerie wrote: > Hi, > > For my fMRI adaptation experiment, I need to encode ordered > repetitions. That is, I have an ordered list of stimuli that will be > presented, but within this list (each of the) 12 items will be > repeated three times (with a variable number of intervening trials). I > was wondering, is there a way to make use of the ID?s that the > different stimuli have to implement this repetition in E-Prime? For > example, by writing some script which recalls an ID or something? > (I.e. [present 1, 2, 3, 1, ..]). I will need to make 125 lists, so it > would really save time if there were a way to implement this. > > Thanks! > > Valerie -- 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. From Michiel.Spape at nottingham.ac.uk Fri Dec 11 12:55:55 2009 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Fri, 11 Dec 2009 12:55:55 -0000 Subject: filter outliers in e-prime In-Reply-To: <752a6884-cf42-4353-aa5f-43f1ae8752ef@f16g2000yqm.googlegroups.com> Message-ID: Hi Ashraf, Here's how: Go to e-merge, merge all your subjects into one file, right click on the file and select open to open it in e-DataAid. Go to analyze, filter, and just check all the RTs you believe are above or below your cut-off. (for Simon tests, I usually do between 200 and 1000 ms, for example) - select lowest RT above criterion, hold shift, select highest RT below criterion) and filter. There's a lot of literature on how best to filter (what ranges, and such, IQR, +- 2SD), but typically, the results remain pretty much the same if your experiment is okay anyway and there's even a good deal of support for just using a criterion (such as my example). For more difficult techniques, use a different analysis programme (as suggested, SPSS). Best, Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of ashraf Sent: 11 December 2009 00:14 To: E-Prime Subject: filter outliers in e-prime how could i filter outliers in reaction time with e-merge,and is this cutoffs applay to accuracy -- 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. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- 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. From mcfarla9 at msu.edu Fri Dec 11 14:41:23 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 11 Dec 2009 09:41:23 -0500 Subject: Reaction time outliers in e-prime In-Reply-To: Message-ID: ashraf, Mich already kindly gave some specific instructions on how to use the filtering feature of E-DataAid. For more information, please work through the the E-DataAid tutorial in the Getting Started Guide, the Data Handling chapter in the User's Guide, and the E-DataAid chapter of the Reference Guide that came with E-Prime. While you are at it you should also study the E-Merge chapters in those Guides. It is well worth the effort, in my experience these tools are vastly underutilized even though they provide enough benefit that it is almost worth using E-Prime for these data analysis tools alone. They still will not do statistical hypothesis testing or more complicated data manipulation for you, but with a little effort these tools can *greatly* simplify the early stages of data analysis. -- David McFarlane, Professional Faultfinder At 12/10/2009 06:01 PM Thursday, you wrote: > David McFarlane, >thank you for your reply ,there is a filter in e-prime could help me >to handle outliers in reaction time before analysis,my question about >that,also about analysis the accuracy in e-merge. please help >me ,thank you very much > >On Dec 11, 12:43 am, David McFarlane wrote: > > ashraf, > > > > Offhand, I don't know if this is a question about how to do something > > in E-Prime, or a more general question about how to handle outliers, > > which would be better suited for a class on data analysis. Also, is > > there any reason to have E-Prime handle outliers at run time rather > > than to gather all the raw data first and then deal with outliers > > during analysis? And you would probably use some statistics analysis > > package to handle the outliers, not E-Prime. But first you have to > > have a good grounding in statistical data analysis before you start > > throwing out data, and I would think that that topic goes way beyond > > the purpose this E-Prime Group. > > > > Regards, > > -- David McFarlane, Professional Faultfinder > > "For a successful technology, reality must take precedence over > > public relations, for nature cannot be fooled." (Richard Feynman, > > Nobel prize-winning physicist) > > > > >hi group > > > > >what the effective way to remove reaction time outliers by e-prime > > >and ,should i analysis the removable values when i analysis the > > >accuracy > > >ashraf -- 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. From mcfarla9 at msu.edu Fri Dec 11 14:47:21 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 11 Dec 2009 09:47:21 -0500 Subject: Reaction time outliers in e-prime In-Reply-To: <4b225a16.5844f10a.37bb.2249SMTPIN_ADDED@gmr-mx.google.com> Message-ID: >but with a little effort these tools can *greatly* simplify the >early stages of data analysis. Just to belabor this a bit, I refer specifically to the Analyze and Batch Analysis features of E-DataAid, which get overlooked all too much (took me a decade to discover these myself!). -- David McFarlane, Professional Faultfinder -- 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. From mcfarla9 at msu.edu Fri Dec 11 15:08:39 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 11 Dec 2009 10:08:39 -0500 Subject: How to implement ordered stimulus repetition in E-Prime In-Reply-To: Message-ID: >I think we are a bit in the dark on your exact needs still. If you'd >write a script within e-prime to order the triallist each run of e- >prime will give the exact same order, which isnt' what you want I >think cause if I understand correctly you need 125 different 'orders'. >Right? And these orders need to be known beforehand and can't be >created 'on the fly', am I right to think so? I didn't get what Valerie wanted either, liw, but your response rings a bell for me. In our fMRI studies we often use a limited number of fixed pre-randomized orders so as to avoid the problem of multicollinearity during analysis of the functional brain images -- for correlation, deconvolution, or general linear modelling analysis to work we cannot allow any sequence to be a linear combination of any others, so we generally cannot leave this to chance by randomizing sequences "on the fly" (this is explained very nicely in the AFNI documentation from NIMH). >In that case I think your best shot is to create 125 lists and store >them in 125 textfiles that are loaded into the triallist by e-prime >based on for instance subjectnumber. You might also do this all directly in E-Studio with no external text files and no script. You would have to make a master List with one row (level) for each possible sequence (in this case, perhaps 125 rows). You would then set its selection Order to Counterbalance, and Order By to Subject (or perhaps to Session). Counterbalance will select and run one *and only one* row from the master List, based on Subject (or Session). (This is explained somewhere in the EP docs, or just search the EP Group with the term "Counterbalance" to see where I recently explained this.) Back in your master List, you could have each row call a customized Procedure for one of the 125 random orders, or have each row use the same Procedure but a different nested List for the random order, etc. Don't know if this addresses Valerie's question, but it does address an fMRI issue that crops up from time to time, so I am adding this to my FAQ. -- David McFarlane, Professional Faultfinder -- 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. From ixkackxi at gmail.com Fri Dec 11 21:53:16 2009 From: ixkackxi at gmail.com (Carlos) Date: Fri, 11 Dec 2009 13:53:16 -0800 Subject: Response devices In-Reply-To: <4ae9b9ca.5844f10a.1c4b.1daeSMTPIN_ADDED@gmr-mx.google.com> Message-ID: David, Hi there, I am new to the group and see that you make your own boxes to communicate with E-PRime. We are currently in the process of converting some old IFIS response pads to work directly with E-Prime, but are having difficulty getting E-Prime to detect every button press and difficulty figuring out what type of characters E-Prime is expecting. Since the SRBox Device is usually set to emulate the keyboard I thought we could have the bread board we currently have the pads connected to send out the hex code associated with the main number keys on the keyboard. This didn't work very well and sometimes buttons that were wired differently elicited the same output. So my question is if you know what type of input E-Prime is expecting from a device connected to the serial port? Thanks, Carlos Faraco University of Georgia On Oct 29, 10:50?am, David McFarlane wrote: > Tobias, > > OK, this question clearly lies outside the domain of PST Web Support, > so I will weigh in... > > >Of course, keyboards and mice don't look that professional > > Hmm, around here we use keyboards and mice extensively, but perhaps > we are not that "professional" :). ?We also use the PST SRBox, and if > you understand its operation then in principle you could use it with > any platform that will accept a stream from a serial port. ?Beyond > that, sometimes we (meaning I) build our own customresponseboxes > and wire them up either through an SRBox, a commercial digital I/O > board, or even the lowly parallel port -- I have some mechanical > skills as well as electronic and technology skills, and that is my > job here. ?Of course you should have a machine shop and an electronic > shop as well as a skilled research technology professional at your > own institution to help with that (perhaps you are that > professional!). ? I really don't see how anyone can consider > themselves to do serious science in this day & age without such > assistance. ?In short, we just do whatever it takes to get the data. > > Oh, Empirisoft also boasts a keyboard with millisecond latency > specifically for psychology research, as well as a USB button box > (puts them a bit ahead of PST there), but we have not tried any of > these. ?Seehttp://www.empirisoft.com. ?And of course, some people > use touch screens, but I have to let those folks speak up for themselves. > > Good question, I look forward to more responses. > > -- David McFarlane, Professional Faultfinder -- 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. From liza.mccarron at uwe.ac.uk Mon Dec 14 10:04:45 2009 From: liza.mccarron at uwe.ac.uk (LizaM) Date: Mon, 14 Dec 2009 02:04:45 -0800 Subject: Variable always offset by 1 row.... In-Reply-To: Message-ID: Thanks for posting the ElseIf correction - I had worked that out and was going to post but forgot! In testing before I discovered the correction I did however find that if you use Else If instead you then have to end each with a seperate End If statement... seemed to achieve the same results but obviously messy code! On Dec 10, 3:11?am, dkmcf wrote: > On Dec 7, 2:29 pm, David McFarlane wrote: > > > > > > > In general, if you mean > > a series of If..Thens to have only one effect (like a "radio button" > > instead of a "check box"), it makes more sense to use the full > > If..Then..Else If structure, thus, > > > If CardSlideA.RESP = "c" then > > ? ? ?falsecardfilename1 = "circle.jpg" > > Else If CardSlideA.RESP = "v" then > > ? ? ?falsecardfilename1 = "cross.jpg" > > Else If CardSlideA.RESP = "b" then > > ? ? ?falsecardfilename1 = "square.jpg" > > Else If CardSlideA.RESP = "n" then > > ? ? ?falsecardfilename1 = "squiggle.jpg" > > Else If CardSlideA.RESP = "m" > > ? ? ?then falsecardfilename1 = "star.jpg" > > Else ?' defensive programming! > > ? ? ?MsgBox "Unanticipated CardSlideA.RESP!" > > End If > > c.setattrib "falsecardfilename", falsecardfilename1 > > Sorry to keep correcting my own examples, but I keep forgetting that > in E-Basic, although "End If" is two words, "ElseIf" is only one. ?So > that example should read > > If CardSlideA.RESP = "c" then > ? ? ?falsecardfilename1 = "circle.jpg" > ElseIf CardSlideA.RESP = "v" then > ? ? ?falsecardfilename1 = "cross.jpg" > ElseIf CardSlideA.RESP = "b" then > ? ? ?falsecardfilename1 = "square.jpg" > ElseIf CardSlideA.RESP = "n" then > ? ? ?falsecardfilename1 = "squiggle.jpg" > ElseIf CardSlideA.RESP = "m" > ? ? ?then falsecardfilename1 = "star.jpg" > Else ?' defensive programming! > ? ? ?MsgBox "Unanticipated CardSlideA.RESP!" > End If > c.setattrib "falsecardfilename", falsecardfilename1 > > -- David McFarlane, Professional (& occasionally sloppy) Faultfinder- Hide quoted text - > > - Show quoted text - -- 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. From mcfarla9 at msu.edu Mon Dec 14 20:29:34 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 14 Dec 2009 15:29:34 -0500 Subject: Response devices In-Reply-To: <7487ab8c-80e0-4bef-8724-54dcce707b0a@20g2000vbz.googlegrou ps.com> Message-ID: Carlos, At 12/11/2009 04:53 PM Friday, you wrote: >David, > >Hi there, I am new to the group and see that you make your own boxes >to communicate with E-PRime. Just on that point, we have built very simple passive switch boxes that we connect either to a digital I/O port (i.e., the parallel printer port), or to the expansion connector on the SRBox. Although I know enough about the SRBox that in principle I could build one from scratch (no exotic circuitry in there), I have not yet gone to the trouble of doing anything like that. >We are currently in the process of converting some old IFIS response >pads to work directly with E-Prime, but are having difficulty >getting E-Prime to detect every button press and difficulty figuring >out what type of characters E-Prime is expecting. Since the SRBox >Device is usually set to emulate the keyboard I thought we could >have the bread board we currently have the pads connected to send >out the hex code associated with the main number keys on the >keyboard. This didn't work very well and sometimes buttons that were >wired differently elicited the same output. > >So my question is if you know what type of input E-Prime is >expecting from a device connected to the serial port? OK, now that I have considered your question... Again, to be accurate I have never used the Serial Device in E-Prime, so for that I would look at the SerialDevice topic in the online E-Basic Help (and take that with a huge grain of salt, I find a mistake practically every time I look in the E-Basic Help). But as far as I can tell that just reads raw bytes from any serial device, it is up to your particular device to determine what those bits mean and then up to your E-Prime script to decode them. But FWIW I will say a bit about what I know of the SRBox, which also uses the serial port (which is not the same as being an E-Prime Serial Device). OK, here is an excerpt from notes I made back in Aug 2001, and never finished (but is much more detail than PST will ever give you)... ----------------------- The SRBox communicates with the computer though a standard RS-232C serial interface (DCE?; no handshaking). The SRBox ignores all handshaking. Communication parameters are 9600 or 19200 bps (jumper selectable, default is 9600), 8 data bits, no parity, 1 stop bit. (At power on, sends &H7F) Using these parameters, the SRBox sends a steady stream of key data at a pace of 800 or 1600 Bps (jumper selectable, default is 800). In total, three byte/communication rates are possible: 800 Bps at 9600 bps (default), 800 Bps at 19200 bps, and 1600 Bps at 19200 bps (1600 Bps is incomptible with 9600 bps communication rate). Note that at 800 Bps a byte is sent every 1.25 msec, while at 1600 Bps a byte is sent every 0.625 msec. Each byte sent from the SRBox encodes the state of one bank of eight devices (see control inputs below). Bank one consists of the five built-in keys, the voice key, the refresh detector, and/or eight external devices through the expansion connector. Bank two consists of an additional eight external devices through the expansion connector, plus the voice key and the refresh detector. Data bytes are encoded according to the following table [this table does not show up well in plain text, but here it is anyway]: Bit # Bank 1 Function Bank 2 Function 0 On-board Key 1, or external Key 1 (expansion connector pin #24) External Key 9 (pin #33) 1 On-board Key 2, or external Key 2 (pin #25) External Key 10 (A) (pin #34) 2 On-board Key 3, or external Key 3 (pin #26) External Key 11 (B) (pin #35) 3 On-board Key 4, or external Key 4 (pin #27) External Key 12 (C) (pin #36) 4 On-board Key 5, or external Key 5 (pin #28) External Key 13 (D) (pin #37) 5 Voice Key, or external Key 6 (pin #29) [?Voice Key, or?] External Key 14 (E) (pin #38) 6 Refresh Detector, or external Key 7 (pin #30) Refresh Detector, or External Key 15 (F) (pin #39) 7 External Key 8 (pin #31) External Key 16 (G) (pin #40) The SRBox accepts input to control the state of built-in lamps and external devices, and to control its own operation. (Same communcation parameters as for output.) The lower five bits of an input byte control one of two banks of devices (see control bits below). The upper five bits control the operation of the SRBox. When sending a control byte to the SRBox, it is necessary to specify all three SRBox control bits. Note that there is no way to read these control bits from the SRBox. Thus, if you wish to change only one or two control bits, the program must itself store the prior state of all the control bits so that it can add back in the ones that are to remain unchanged. For both banks, bits 0-4 control lamps or devices 1-5, where 0 deactivates the lamp or device, and 1 activates it. The control bits operate as follows [again, this table comes out better in my original Word document]: Bit # Bank 1 Function Bank 2 Function 0 On-board Lamp 1, or external Lamp 1 (expansion connector pins #7 & 6) External Lamp 6 (9) (pins #9 & 8) 1 On-board Lamp 2, or external Lamp 2 (pins #5 & 4) External Lamp 7 (A) (pins #11 & 10) 2 On-board Lamp 3, or external Lamp 3 (pins #3 & 2) External Lamp 8 (B) (pins #13 & 12) 3 On-board Lamp 4, or external Lamp 4 (pins #1 & 21) External Lamp 9 (C) (pins #15 & 14) 4 On-board Lamp 5, or external Lamp 5 (pins #22 & 23) External Lamp 10 (D) (pins #17 & 16) 5 Key Bank Select: 0 = bank 2, 1 = bank 1 6 Lamp Bank Select: 0 = voice key threshold & bank 2, 1 = bank 1 7 Transmit Data: 0 = Do not send data, 1 = Send data Examples [another table that will not come out well in text]: Control Code Binary Hex Dec Result 0000 0001 01 1 Select key bank 2, stop data, set voice key threshold to 1, turn on lamp 6 (bank 2), turn off lamps 7-10 0010 0000 20 32 Select key bank 1, stop data, set voice key threshold to 0, turn off lamps 6-10 (bank 2) 0100 0001 41 65 Select key bank 2, stop data, turn on lamp 1, turn off lamps 2-5 0110 0001 61 97 Select key bank 1, stop data, turn on lamp 1, turn off lamps 2-5 1000 0000 80 128 Select key bank 2, send data, set voice key threshold to 0, turn off lamps 6-10 (bank 2) 1010 0000 A0 160 Select key bank 1, send data, set voice key threshold to 0, turn off lamps 6-10 (bank 2) 1101 1010 DA 218 Select key bank 2, send data, turn on lamps 2, 4, & 5, turn off lamps 1 & 3 1110 1010 EA 234 Select key bank 1, send data, turn on lamps 2 & 4, turn off lamps 1, 3, & 5 ----------------------- Whew! Here is a shorter view for you: First, you might have to send something like &HE0 to start the SRBox sending data from key bank 1 (the on-board keys) (and turn off the on-board lamps). At that point the SRBox will send a steady stream of bytes to the serial port, at the configured bps and communication rate (default 800 cps at 19200 baud). Each bit encodes the state of one button, so, e.g., button 1 sends &H01, button 2 &H02, button 3 &H04, etc.; and buttons 1 & 3 simultaneously send &H05, etc. You may then decode the byte with If...Then, or masking unwanted bits with a bitwise And. As to "emulating the keyboard", clearly for that E-Prime transparently reads a byte from the SRBox, translates that into ASCII code for the appropriate numbers (e.g., button 1 becomes &H31, i.e., "1"), and uses something like InputDevice.InsertResponse to insert that string into the KeyboardDevice queue for use there. I would rather start by using the device directly, and once I got that to work I might fiddle with getting emulation to work. OK, that's probably both more and less than you asked for, but there it is. -- David McFarlane, Professional Faultfinder >Thanks, > >Carlos Faraco >University of Georgia > >On Oct 29, 10:50 am, David McFarlane wrote: > > Tobias, > > > > OK, this question clearly lies outside the domain of PST Web Support, > > so I will weigh in... > > > > >Of course, keyboards and mice don't look that professional > > > > Hmm, around here we use keyboards and mice extensively, but perhaps > > we are not that "professional" :). We also use the PST SRBox, and if > > you understand its operation then in principle you could use it with > > any platform that will accept a stream from a serial port. Beyond > > that, sometimes we (meaning I) build our own customresponseboxes > > and wire them up either through an SRBox, a commercial digital I/O > > board, or even the lowly parallel port -- I have some mechanical > > skills as well as electronic and technology skills, and that is my > > job here. Of course you should have a machine shop and an electronic > > shop as well as a skilled research technology professional at your > > own institution to help with that (perhaps you are that > > professional!). I really don't see how anyone can consider > > themselves to do serious science in this day & age without such > > assistance. In short, we just do whatever it takes to > get the data. > > > > Oh, Empirisoft also boasts a keyboard with millisecond latency > > specifically for psychology research, as well as a USB button box > > (puts them a bit ahead of PST there), but we have not tried any of > > these. Seehttp://www.empirisoft.com. And of course, some people > > use touch screens, but I have to let those folks speak up for themselves. > > > > Good question, I look forward to more responses. > > > > -- David McFarlane, Professional Faultfinder -- 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. From mcfarla9 at msu.edu Mon Dec 14 20:52:14 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 14 Dec 2009 15:52:14 -0500 Subject: Response devices In-Reply-To: <4b26a036.5344f10a.38b0.70e9SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Oops, I meant to preface my little report with an explanation of how to figure this stuff out for yourself (because, you know, you should never take my word for any of this). I just put the SRBox through an old terminal emulator that will show incoming characters as hexadecimal. I used an old DOS shareware program called Terminal Plus!, apparently still available for download (find it through Google). -- David McFarlane, Professional Faultfinder >Carlos, > >At 12/11/2009 04:53 PM Friday, you wrote: > >David, > > > >Hi there, I am new to the group and see that you make your own boxes > >to communicate with E-PRime. > >Just on that point, we have built very simple passive switch boxes >that we connect either to a digital I/O port (i.e., the parallel >printer port), or to the expansion connector on the SRBox. Although >I know enough about the SRBox that in principle I could build one >from scratch (no exotic circuitry in there), I have not yet gone to >the trouble of doing anything like that. > > > >We are currently in the process of converting some old IFIS response > >pads to work directly with E-Prime, but are having difficulty > >getting E-Prime to detect every button press and difficulty figuring > >out what type of characters E-Prime is expecting. Since the SRBox > >Device is usually set to emulate the keyboard I thought we could > >have the bread board we currently have the pads connected to send > >out the hex code associated with the main number keys on the > >keyboard. This didn't work very well and sometimes buttons that were > >wired differently elicited the same output. > > > >So my question is if you know what type of input E-Prime is > >expecting from a device connected to the serial port? > >OK, now that I have considered your question... Again, to be >accurate I have never used the Serial Device in E-Prime, so for that >I would look at the SerialDevice topic in the online E-Basic Help >(and take that with a huge grain of salt, I find a mistake >practically every time I look in the E-Basic Help). But as far as I >can tell that just reads raw bytes from any serial device, it is up >to your particular device to determine what those bits mean and then >up to your E-Prime script to decode them. > >But FWIW I will say a bit about what I know of the SRBox, which also >uses the serial port (which is not the same as being an E-Prime >Serial Device). OK, here is an excerpt from notes I made back in Aug >2001, and never finished (but is much more detail than PST will ever >give you)... > >----------------------- >The SRBox communicates with the computer though a standard RS-232C >serial interface (DCE?; no handshaking). The SRBox ignores all >handshaking. Communication parameters are 9600 or 19200 bps (jumper >selectable, default is 9600), 8 data bits, no parity, 1 stop >bit. (At power on, sends &H7F) > >Using these parameters, the SRBox sends a steady stream of key data >at a pace of 800 or 1600 Bps (jumper selectable, default is >800). In total, three byte/communication rates are possible: 800 >Bps at 9600 bps (default), 800 Bps at 19200 bps, and 1600 Bps at >19200 bps (1600 Bps is incomptible with 9600 bps communication >rate). Note that at 800 Bps a byte is sent every 1.25 msec, while at >1600 Bps a byte is sent every 0.625 msec. > >Each byte sent from the SRBox encodes the state of one bank of eight >devices (see control inputs below). Bank one consists of the five >built-in keys, the voice key, the refresh detector, and/or eight >external devices through the expansion connector. Bank two consists >of an additional eight external devices through the expansion >connector, plus the voice key and the refresh detector. Data bytes >are encoded according to the following table [this table does not >show up well in plain text, but here it is anyway]: > >Bit # Bank 1 Function Bank 2 Function >0 On-board Key 1, or external Key 1 (expansion connector pin >#24) External Key 9 (pin #33) >1 On-board Key 2, or external Key 2 (pin #25) External Key >10 (A) (pin #34) >2 On-board Key 3, or external Key 3 (pin #26) External Key >11 (B) (pin #35) >3 On-board Key 4, or external Key 4 (pin #27) External Key >12 (C) (pin #36) >4 On-board Key 5, or external Key 5 (pin #28) External Key >13 (D) (pin #37) >5 Voice Key, or external Key 6 (pin #29) [?Voice Key, or?] >External Key 14 (E) (pin #38) >6 Refresh Detector, or external Key 7 (pin #30) Refresh >Detector, or External Key 15 (F) (pin #39) >7 External Key 8 (pin #31) External Key 16 (G) (pin #40) > >The SRBox accepts input to control the state of built-in lamps and >external devices, and to control its own operation. (Same >communcation parameters as for output.) The lower five bits of an >input byte control one of two banks of devices (see control bits >below). The upper five bits control the operation of the >SRBox. When sending a control byte to the SRBox, it is necessary to >specify all three SRBox control bits. Note that there is no way to >read these control bits from the SRBox. Thus, if you wish to change >only one or two control bits, the program must itself store the prior >state of all the control bits so that it can add back in the ones >that are to remain unchanged. > >For both banks, bits 0-4 control lamps or devices 1-5, where 0 >deactivates the lamp or device, and 1 activates it. The control bits >operate as follows [again, this table comes out better in my original >Word document]: > >Bit # Bank 1 Function Bank 2 Function >0 On-board Lamp 1, or external Lamp 1 (expansion connector pins >#7 & 6) External Lamp 6 (9) (pins #9 & 8) >1 On-board Lamp 2, or external Lamp 2 (pins #5 & >4) External Lamp 7 (A) (pins #11 & 10) >2 On-board Lamp 3, or external Lamp 3 (pins #3 & >2) External Lamp 8 (B) (pins #13 & 12) >3 On-board Lamp 4, or external Lamp 4 (pins #1 & >21) External Lamp 9 (C) (pins #15 & 14) >4 On-board Lamp 5, or external Lamp 5 (pins #22 & >23) External Lamp 10 (D) (pins #17 & 16) >5 Key Bank Select: 0 = bank 2, 1 = bank 1 >6 Lamp Bank Select: 0 = voice key threshold & bank 2, 1 = bank 1 >7 Transmit Data: 0 = Do not send data, 1 = Send data > >Examples [another table that will not come out well in text]: >Control Code >Binary Hex Dec Result >0000 0001 01 1 Select key bank 2, stop data, set >voice key threshold to 1, turn on lamp 6 (bank 2), turn off lamps 7-10 >0010 0000 20 32 Select key bank 1, stop data, set >voice key threshold to 0, turn off lamps 6-10 (bank 2) >0100 0001 41 65 Select key bank 2, stop data, turn on >lamp 1, turn off lamps 2-5 >0110 0001 61 97 Select key bank 1, stop data, turn on >lamp 1, turn off lamps 2-5 >1000 0000 80 128 Select key bank 2, send data, set >voice key threshold to 0, turn off lamps 6-10 (bank 2) >1010 0000 A0 160 Select key bank 1, send data, set >voice key threshold to 0, turn off lamps 6-10 (bank 2) >1101 1010 DA 218 Select key bank 2, send data, turn on >lamps 2, 4, & 5, turn off lamps 1 & 3 >1110 1010 EA 234 Select key bank 1, send data, turn on >lamps 2 & 4, turn off lamps 1, 3, & 5 >----------------------- > > >Whew! Here is a shorter view for you: First, you might have to send >something like &HE0 to start the SRBox sending data from key bank 1 >(the on-board keys) (and turn off the on-board lamps). At that point >the SRBox will send a steady stream of bytes to the serial port, at >the configured bps and communication rate (default 800 cps at 19200 >baud). Each bit encodes the state of one button, so, e.g., button 1 >sends &H01, button 2 &H02, button 3 &H04, etc.; and buttons 1 & 3 >simultaneously send &H05, etc. You may then decode the byte with >If...Then, or masking unwanted bits with a bitwise And. > >As to "emulating the keyboard", clearly for that E-Prime >transparently reads a byte from the SRBox, translates that into ASCII >code for the appropriate numbers (e.g., button 1 becomes &H31, i.e., >"1"), and uses something like InputDevice.InsertResponse to insert >that string into the KeyboardDevice queue for use there. I would >rather start by using the device directly, and once I got that to >work I might fiddle with getting emulation to work. > >OK, that's probably both more and less than you asked for, but there it is. > >-- David McFarlane, Professional Faultfinder > > > >Thanks, > > > >Carlos Faraco > >University of Georgia > > > >On Oct 29, 10:50 am, David McFarlane wrote: > > > Tobias, > > > > > > OK, this question clearly lies outside the domain of PST Web Support, > > > so I will weigh in... > > > > > > >Of course, keyboards and mice don't look that professional > > > > > > Hmm, around here we use keyboards and mice extensively, but perhaps > > > we are not that "professional" :). We also use the PST SRBox, and if > > > you understand its operation then in principle you could use it with > > > any platform that will accept a stream from a serial port. Beyond > > > that, sometimes we (meaning I) build our own customresponseboxes > > > and wire them up either through an SRBox, a commercial digital I/O > > > board, or even the lowly parallel port -- I have some mechanical > > > skills as well as electronic and technology skills, and that is my > > > job here. Of course you should have a machine shop and an electronic > > > shop as well as a skilled research technology professional at your > > > own institution to help with that (perhaps you are that > > > professional!). I really don't see how anyone can consider > > > themselves to do serious science in this day & age without such > > > assistance. In short, we just do whatever it takes to > > get the data. > > > > > > Oh, Empirisoft also boasts a keyboard with millisecond latency > > > specifically for psychology research, as well as a USB button box > > > (puts them a bit ahead of PST there), but we have not tried any of > > > these. Seehttp://www.empirisoft.com. And of course, some people > > > use touch screens, but I have to let those folks speak up for themselves. > > > > > > Good question, I look forward to more responses. > > > > > > -- David McFarlane, Professional Faultfinder > >-- > >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. -- 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. From ash2003raff at yahoo.com Tue Dec 15 18:42:14 2009 From: ash2003raff at yahoo.com (ashraf) Date: Tue, 15 Dec 2009 10:42:14 -0800 Subject: filter outliers in e-prime In-Reply-To: <0CA8E1B4EC20D743912B980E486C5CAF0273E728@VUIEXCHC.ad.nottingham.ac.uk> Message-ID: thank you very much for your reply, On Dec 11, 2:55?pm, Michiel Spape wrote: > Hi Ashraf, > Here's how: > Go to e-merge, merge all your subjects into one file, right click on the file and select open to open it in e-DataAid. Go to analyze, filter, and just check all the RTs you believe are above or below your cut-off. (for Simon tests, I usually do between 200 and 1000 ms, for example) - select lowest RT above criterion, hold shift, select highest RT below criterion) and filter. There's a lot of literature on how best to filter (what ranges, and such, IQR, +- 2SD), but typically, the results remain pretty much the same if your experiment is okay anyway and there's even a good deal of support for just using a criterion (such as my example). > For more difficult techniques, use a different analysis programme (as suggested, SPSS). > Best, > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychology > > > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of ashraf > Sent: 11 December 2009 00:14 > To: E-Prime > Subject: filter outliers in e-prime > > how could i filter outliers in reaction time with e-merge,and is this > cutoffs applay to accuracy > > -- > > 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 athttp://groups.google.com/group/e-prime?hl=en. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation.- Hide quoted text - > > - Show quoted text - -- 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. From ash2003raff at yahoo.com Tue Dec 15 18:44:34 2009 From: ash2003raff at yahoo.com (ashraf) Date: Tue, 15 Dec 2009 10:44:34 -0800 Subject: Reaction time outliers in e-prime In-Reply-To: <4b225b7c.5844f10a.2fd1.22bfSMTPIN_ADDED@gmr-mx.google.com> Message-ID: hi groub, thank you very much for your interest, On Dec 11, 4:47?pm, David McFarlane wrote: > >but with a little effort these tools can *greatly* simplify the > >early stages of data analysis. > > Just to belabor this a bit, I refer specifically to the Analyze and > Batch Analysis features of E-DataAid, which get overlooked all too > much (took me a decade to discover these myself!). > > -- David McFarlane, Professional Faultfinder -- 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. From tobias.fw at gmail.com Wed Dec 16 09:23:18 2009 From: tobias.fw at gmail.com (Tobi) Date: Wed, 16 Dec 2009 01:23:18 -0800 Subject: response recording during several displays Message-ID: Hi everyone, I have the following, although sounding simple, hard to solve problem: I want to show a stimulus for x ms and then to show a mask for y ms. Participants should be able to respond for the x+y ms, i.e. during two displays. How can I do this? Any hints are most welcome! Cheers, Tobias -- 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. From mcfarla9 at msu.edu Wed Dec 16 15:00:08 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 16 Dec 2009 10:00:08 -0500 Subject: response recording during several displays In-Reply-To: <7e2fb028-91bf-4ddc-bec4-c4d83c4edc1a@l2g2000vbg.googlegroups.com> Message-ID: Tobias, Hint -- 1) Work through the Extended Input tutorial in Appendix C of the User's Guide that came with E-Prime. 2) Then, set up your stimulus with extended input and follow that with your mask. E-Prime makes this simple once you know the basic technique shown in Appendix C. -- David McFarlane, Professional Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) > Hi everyone, > > I have the following, although sounding simple, hard to solve problem: > > I want to show a stimulus for x ms and then to show a mask for y ms. > Participants should be able to respond for the x+y ms, i.e. during two > displays. > > How can I do this? > Any hints are most welcome! > > Cheers, > Tobias -- 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. From sravaniv at gmail.com Thu Dec 17 16:32:09 2009 From: sravaniv at gmail.com (Sravani Vinapamula) Date: Thu, 17 Dec 2009 11:32:09 -0500 Subject: response recording during several displays In-Reply-To: <7e2fb028-91bf-4ddc-bec4-c4d83c4edc1a@l2g2000vbg.googlegroups.com> Message-ID: I think you can just give the duration for the response as the sum of the times of both slides. On Wed, Dec 16, 2009 at 4:23 AM, Tobi wrote: > Hi everyone, > > I have the following, although sounding simple, hard to solve problem: > > I want to show a stimulus for x ms and then to show a mask for y ms. > Participants should be able to respond for the x+y ms, i.e. during two > displays. > > How can I do this? > Any hints are most welcome! > > Cheers, > Tobias > > -- > > 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. > > > -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sravaniv at gmail.com Thu Dec 17 16:46:50 2009 From: sravaniv at gmail.com (Sravani Vinapamula) Date: Thu, 17 Dec 2009 11:46:50 -0500 Subject: Problems with moving to next level on the list Message-ID: Hi, I have a quick question. The scenario is, I have a list with 8 levels with each level containing a different stimulus. Each level has a weight of 20. I have a code for recording the accumulated looking time (using TOBII). The e-prime program is supposed to keep track of the accumulated looking time in ms as well as the look aways from the screen. Everytime the subject looks away from the screen within a certain amount of accumulated looking time in ms, it presents the same stimulus (hence the weight of 20 is kind of a max limit for the look aways), but as soon as the subject reaches the required accumulated looking in ms, it needs to stop presenting the stimulus in the level it is currently in and go to the next level on the list (i.e. the next stimulus.). Thanks a bunch, Sravani -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sravaniv at gmail.com Thu Dec 17 16:51:17 2009 From: sravaniv at gmail.com (Sravani Vinapamula) Date: Thu, 17 Dec 2009 11:51:17 -0500 Subject: Problems with moving to next level on the list In-Reply-To: Message-ID: Hi, I have a quick question. The scenario is, I have a list with 8 levels with each level containing a different stimulus. Each level has a weight of 20. I have a code for recording the accumulated looking time (using TOBII). The e-prime program is supposed to keep track of the accumulated looking time in ms as well as the look aways from the screen. Everytime the subject looks away from the screen within a certain amount of accumulated looking time in ms, it presents the same stimulus (hence the weight of 20 is kind of a max limit for the look aways), but as soon as the subject reaches the required accumulated looking in ms, it needs to stop presenting the stimulus in the level it is currently in and go to the next level on the list (i.e. the next stimulus.). So I know it is keeping track of the times properly, but I do not know how to skip the current level and move on to the next level. Any help is appreciated Thanks a bunch, Sravani -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcfarla9 at msu.edu Thu Dec 17 17:57:13 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 17 Dec 2009 12:57:13 -0500 Subject: response recording during several displays In-Reply-To: Message-ID: Indeed, that is not a bad solution, and it is the first solution that all my students come up with when I pose the question to them (and was my own first solution). But for one thing it does seem kludgy: The .RT appears sometimes in the stimulus column, sometimes in the mask column, and when it appears in the mask column you have to add in the duration of the stim. And if you do just that, your RT will *not* include the time between the offset of the stimulus and the onset of the mask. So to get it right when the response comes during the mask you would need to calculate mask.RTTime - stim.OnsetTime. Whew! There has to be an easier way, and there is -- *Extended Input*. Extended input cleanly, simply, and transparently takes care of all of this. Please please do not overlook Appendix C. -- David McFarlane, Professional Faultfinder At 12/17/2009 11:32 AM Thursday, Sravani Vinapamula wrote: >I think you can just give the duration for the response as the sum >of the times of both slides. > > > > >On Wed, Dec 16, 2009 at 4:23 AM, Tobi ><tobias.fw at gmail.com> wrote: >Hi everyone, > >I have the following, although sounding simple, hard to solve problem: > >I want to show a stimulus for x ms and then to show a mask for y ms. >Participants should be able to respond for the x+y ms, i.e. during two >displays. > >How can I do this? >Any hints are most welcome! > >Cheers, >Tobias -- 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. From sravaniv at gmail.com Thu Dec 17 18:15:48 2009 From: sravaniv at gmail.com (Sravani Vinapamula) Date: Thu, 17 Dec 2009 13:15:48 -0500 Subject: response recording during several displays In-Reply-To: <4b2a70f9.5344f10a.31f0.4ca2SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Oh... Thank you! I will definitely look at the Appendix C On Thu, Dec 17, 2009 at 12:57 PM, David McFarlane wrote: > Indeed, that is not a bad solution, and it is the first solution that > all my students come up with when I pose the question to them (and > was my own first solution). But for one thing it does seem > kludgy: The .RT appears sometimes in the stimulus column, sometimes > in the mask column, and when it appears in the mask column you have > to add in the duration of the stim. And if you do just that, your RT > will *not* include the time between the offset of the stimulus and > the onset of the mask. So to get it right when the response comes > during the mask you would need to calculate mask.RTTime - > stim.OnsetTime. Whew! > > There has to be an easier way, and there is -- *Extended > Input*. Extended input cleanly, simply, and transparently takes care > of all of this. Please please do not overlook Appendix C. > > -- David McFarlane, Professional Faultfinder > > > At 12/17/2009 11:32 AM Thursday, Sravani Vinapamula wrote: > >I think you can just give the duration for the response as the sum > >of the times of both slides. > > > > > > > > > >On Wed, Dec 16, 2009 at 4:23 AM, Tobi > ><tobias.fw at gmail.com> wrote: > >Hi everyone, > > > >I have the following, although sounding simple, hard to solve problem: > > > >I want to show a stimulus for x ms and then to show a mask for y ms. > >Participants should be able to respond for the x+y ms, i.e. during two > >displays. > > > >How can I do this? > >Any hints are most welcome! > > > >Cheers, > >Tobias > > -- > > 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. > > > -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcfarla9 at msu.edu Thu Dec 17 19:31:34 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 17 Dec 2009 14:31:34 -0500 Subject: EP2.0.8.73 maximum Buffer Size limit reduced Message-ID: Our first lab updated to EP2.0.8.73 from EP2.9.8.22, and immediately ran into a problem. In short, it seems that EP2.0.8.73 reduced the maximum limit on sound Buffer Size. Details... User had programs that ran fine in EP2.0.8.22, but at run time in EP2.9.8.73 got the error message, "Internal error buffer size issue", error #101. This occured in the InitObjects subroutine as it tried to execute Feedback.LoadProperties. For debugging, we deleted Feedback, and then the error just moved to SoundOut1.LoadProperties, etc. Turns out that Feedback also included a SoundOut sub-object. Looking further, these sound objects all had Buffer Size set to 50000 or 60000 (experiment program originally developed in EP1, as you have guessed by now). Setting Buffer Mode to Streaming and Buffer Size back to the default of 5000 cured the problem, which is how things should be set in EP2 anyway. The program had worked in EP2.0.8.22 and earlier because then the maximum limit on Buffer Size was 100000, apparently this changed in EP2.0.8.22. I did try doing a binary search to find the new limit in EP2.9.8.73, but the limit changed as I ran the search, I got it down to the order of 45000. With Streaming Mode in EP2, no one needs large Buffer Sizes anymore, so this is not a critical bug, I post this only as information for those few users who may run into this problem. -- David McFarlane, Professional Faultfinder -- 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. From tobias.fw at gmail.com Thu Dec 17 20:02:49 2009 From: tobias.fw at gmail.com (Tobi) Date: Thu, 17 Dec 2009 12:02:49 -0800 Subject: CreateInputMask for Joystick Message-ID: I used the following code to call an object in the unreferenced objects, "feedback", as a feedback for accuracy and RT in the last block. I used the term "feedback.InputMasks.Add Keyboard.CreateInputMask" to specifiy the input. Now I want to use a Joystick instead of a keyboard. That works well for the entire experiment, but not for this code. The error message is: "Unknown Custom Option: "Response Mode". By the way: I use E-Prime 2. How can I solve this problem? Thanks fo all kinds of help! Tobias This is the code (crucial parts are "feedback.InputMasks.Add Joystick.CreateInputMask"): If c.GetAttrib("exppart") = "task" Then If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 60 = 0 AND c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 1680 <> 0 Then c.SetAttrib "BlockAcc", Format(CStr(CDbl(SummationAcc.Mean * 100)), "0.0") c.SetAttrib "BlockRT", Format(CStr(CDbl(SummationRT.Mean )), "0") RT = c.GetAttrib("BlockRT") Acc = c.GetAttrib("BlockAcc") blockcount = blockcount +1 feedback.InputMasks.Add Joystick.CreateInputMask("{ANY}", "", CLng (feedback.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical ("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") feedback.text = "Leistung in Block " & blockcount & "/28" & "\n\n\n \n" & "Reaktionszeit: " & RT & " ms" & "\n" & "Richtige Antworten: " & Acc & " %" & "\n\n\n" & "- Beliebige Taste zum Fortsetzen dr?cken -" feedback.run Set SummationAcc = New Summation Set SummationRT = New Summation PauseA.Run PauseB.InputMasks.Add Joystick.CreateInputMask("{ANY}", "", CLng (PauseB.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical ("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") PauseB.Run End if -- 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. From mcfarla9 at msu.edu Thu Dec 17 21:10:54 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 17 Dec 2009 16:10:54 -0500 Subject: CreateInputMask for Joystick In-Reply-To: <0daefbbb-7997-4df4-8666-74323aad4041@e27g2000yqd.googlegro ups.com> Message-ID: Tobias, I would go right to PST Web Support with this, you may contact them at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours. And then please post back here with the answer! -- David McFarlane, Professional Faultfinder >I used the following code to call an object in the unreferenced >objects, "feedback", as a feedback for accuracy and RT in the last >block. > >I used the term "feedback.InputMasks.Add Keyboard.CreateInputMask" to >specifiy the input. Now I want to use a Joystick instead of a >keyboard. That works well for the entire experiment, but not for this >code. The error message is: "Unknown Custom Option: "Response Mode". > >By the way: I use E-Prime 2. How can I solve this problem? > >Thanks fo all kinds of help! > >Tobias > > >This is the code (crucial parts are "feedback.InputMasks.Add >Joystick.CreateInputMask"): > > >If c.GetAttrib("exppart") = "task" Then > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 60 = 0 AND >c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 1680 <> 0 Then > c.SetAttrib "BlockAcc", > Format(CStr(CDbl(SummationAcc.Mean * 100)), >"0.0") > c.SetAttrib "BlockRT", > Format(CStr(CDbl(SummationRT.Mean )), "0") > RT = c.GetAttrib("BlockRT") > Acc = c.GetAttrib("BlockAcc") > blockcount = blockcount +1 > feedback.InputMasks.Add > Joystick.CreateInputMask("{ANY}", "", CLng >(feedback.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical >("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > feedback.text = > "Leistung in Block " & blockcount & "/28" & "\n\n\n >\n" & "Reaktionszeit: " & RT & " ms" & "\n" & "Richtige Antworten: " & >Acc & " %" & "\n\n\n" & "- Beliebige Taste zum Fortsetzen dr?cken -" > feedback.run > Set SummationAcc = New Summation > Set SummationRT = New Summation > PauseA.Run > PauseB.InputMasks.Add > Joystick.CreateInputMask("{ANY}", "", CLng >(PauseB.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical >("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > PauseB.Run > End if -- 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. From batouk74 at gmail.com Thu Dec 17 21:55:22 2009 From: batouk74 at gmail.com (batouk) Date: Thu, 17 Dec 2009 13:55:22 -0800 Subject: Unreferenced E-Object_Logging Message-ID: Hi! To do this condition "If RECOGNITION_TARGET.ACC = 1 then FREE_RECALLtextdisplay", I put the FREE_RECALLtextdispaly in the Unreferenced E-Object (of course, if the subject does not recognize the target (TARGET.ACC = 0) does not make sense to proceed with a request of more details about the target). The procedure works as I want, but the Unreferenced E-Object seems don't log the data. Unfortunately, inside of the Forum, I was not able to find information about how to log data if I need to use a simple TextDisplay on Unreferenced E-Object. My question are: Is it possible that an Unreferenced E-Object logs the subject responses? If so, how can I set it? I apologize, if the Forum contains some indication about that, please give me the istruction to read this information. Do you have any more elegant and better suggestion (or precise reference to a sample on the webside) about how can run the condition describe above without using Unreferenced E-Object? I'd really appreciate any help, or leads! Katia -- 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. From ixkackxi at gmail.com Thu Dec 17 22:01:45 2009 From: ixkackxi at gmail.com (Carlos) Date: Thu, 17 Dec 2009 14:01:45 -0800 Subject: Response devices In-Reply-To: <4b26a585.5244f10a.55d4.6fcdSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Dave, Thank you for your very detailed message. I will take a good look at this and let you know what we find. It may be a bit before I get back to you though since I will be leaving out of town this weekend for the break. Thanks again, Carlos Faraco University of Georgia On Dec 14, 3:52?pm, David McFarlane wrote: > Oops, I meant to preface my little report with an explanation of how > to figure this stuff out for yourself (because, you know, you should > never take my word for any of this). ?I just put the SRBox through an > old terminal emulator that will show incoming characters as > hexadecimal. ?I used an old DOS shareware program called Terminal > Plus!, apparently still available for download (find it through Google). > > -- David McFarlane, Professional Faultfinder > > >Carlos, > > >At 12/11/2009 04:53 PM Friday, you wrote: > > >David, > > > >Hi there, I am new to the group and see that you make your own boxes > > >to communicate with E-PRime. > > >Just on that point, we have built very simple passive switch boxes > >that we connect either to a digital I/O port (i.e., the parallel > >printer port), or to the expansion connector on the SRBox. ?Although > >I know enough about the SRBox that in principle I could build one > >from scratch (no exotic circuitry in there), I have not yet gone to > >the trouble of doing anything like that. > > > >We are currently in the process of converting some old IFIS response > > >pads to work directly with E-Prime, but are having difficulty > > >getting E-Prime to detect every button press and difficulty figuring > > >out what type of characters E-Prime is expecting. Since the SRBox > > >Device is usually set to emulate the keyboard I thought we could > > >have the bread board we currently have the pads connected to send > > >out the hex code associated with the main number keys on the > > >keyboard. This didn't work very well and sometimes buttons that were > > >wired differently elicited the same output. > > > >So my question is if you know what type of input E-Prime is > > >expecting from a device connected to the serial port? > > >OK, now that I have considered your question... ?Again, to be > >accurate I have never used the Serial Device in E-Prime, so for that > >I would look at the SerialDevice topic in the online E-Basic Help > >(and take that with a huge grain of salt, I find a mistake > >practically every time I look in the E-Basic Help). ?But as far as I > >can tell that just reads raw bytes from any serial device, it is up > >to your particular device to determine what those bits mean and then > >up to your E-Prime script to decode them. > > >But FWIW I will say a bit about what I know of the SRBox, which also > >uses the serial port (which is not the same as being an E-Prime > >Serial Device). ?OK, here is an excerpt from notes I made back in Aug > >2001, and never finished (but is much more detail than PST will ever > >give you)... > > >----------------------- > >The SRBox communicates with the computer though a standard RS-232C > >serial interface (DCE?; no handshaking). ?The SRBox ignores all > >handshaking. ?Communication parameters are 9600 or 19200 bps (jumper > >selectable, default is 9600), 8 data bits, no parity, 1 stop > >bit. ?(At power on, sends &H7F) > > >Using these parameters, the SRBox sends a steady stream of key data > >at a pace of ?800 or 1600 Bps (jumper selectable, default is > >800). ?In total, three byte/communication rates are possible: ?800 > >Bps at 9600 bps (default), 800 Bps at 19200 bps, and 1600 Bps at > >19200 bps (1600 Bps is incomptible with 9600 bps communication > >rate). ?Note that at 800 Bps a byte is sent every 1.25 msec, while at > >1600 Bps a byte is sent every 0.625 msec. > > >Each byte sent from the SRBox encodes the state of one bank of eight > >devices (see control inputs below). ?Bank one consists of the five > >built-in keys, the voice key, the refresh detector, and/or eight > >external devices through the expansion connector. ?Bank two consists > >of an additional eight external devices through the expansion > >connector, plus the voice key and the refresh detector. ?Data bytes > >are encoded according to the following table [this table does not > >show up well in plain text, but here it is anyway]: > > >Bit # ? Bank 1 Function Bank 2 Function > >0 ? ? ? On-board Key 1, or external Key 1 (expansion connector pin > >#24) External Key 9 (pin #33) > >1 ? ? ? On-board Key 2, or external Key 2 (pin #25) ? ? External Key > >10 (A) (pin #34) > >2 ? ? ? On-board Key 3, or external Key 3 (pin #26) ? ? External Key > >11 (B) (pin #35) > >3 ? ? ? On-board Key 4, or external Key 4 (pin #27) ? ? External Key > >12 (C) (pin #36) > >4 ? ? ? On-board Key 5, or external Key 5 (pin #28) ? ? External Key > >13 (D) (pin #37) > >5 ? ? ? Voice Key, or external Key 6 (pin #29) ?[?Voice Key, or?] > >External Key 14 (E) (pin #38) > >6 ? ? ? Refresh Detector, or external Key 7 (pin #30) ? Refresh > >Detector, or External Key 15 (F) (pin #39) > >7 ? ? ? External Key 8 (pin #31) ? ? ? ?External Key 16 (G) (pin #40) > > >The SRBox accepts input to control the state of built-in lamps and > >external devices, and to control its own operation. ?(Same > >communcation parameters as for output.) ?The lower five bits of an > >input byte control one of two banks of devices (see control bits > >below). ?The upper five bits control the operation of the > >SRBox. ?When sending a control byte to the SRBox, it is necessary to > >specify all three SRBox control bits. ?Note that there is no way to > >read these control bits from the SRBox. ?Thus, if you wish to change > >only one or two control bits, the program must itself store the prior > >state of all the control bits so that it can add back in the ones > >that are to remain unchanged. > > >For both banks, bits 0-4 control lamps or devices 1-5, where 0 > >deactivates the lamp or device, and 1 activates it. ?The control bits > >operate as follows [again, this table comes out better in my original > >Word document]: > > >Bit # ? Bank 1 Function Bank 2 Function > >0 ? ? ? On-board Lamp 1, or external Lamp 1 (expansion connector pins > >#7 & 6) ? External Lamp 6 (9) (pins #9 & 8) > >1 ? ? ? On-board Lamp 2, or external Lamp 2 (pins #5 & > >4) ? ? ? External Lamp 7 (A) (pins #11 & 10) > >2 ? ? ? On-board Lamp 3, or external Lamp 3 (pins #3 & > >2) ? ? ? External Lamp 8 (B) (pins #13 & 12) > >3 ? ? ? On-board Lamp 4, or external Lamp 4 (pins #1 & > >21) ? ? ?External Lamp 9 (C) (pins #15 & 14) > >4 ? ? ? On-board Lamp 5, or external Lamp 5 (pins #22 & > >23) ? ? External Lamp 10 (D) (pins #17 & 16) > >5 ? ? ? Key Bank Select: ?0 = bank 2, 1 = bank 1 > >6 ? ? ? Lamp Bank Select: ?0 = voice key threshold & bank 2, 1 = bank 1 > >7 ? ? ? Transmit Data: ?0 = Do not send data, 1 = Send data > > >Examples [another table that will not come out well in text]: > >Control Code > >Binary ?Hex ? ? Dec ? ? Result > >0000 0001 ? ? ? 01 ? ? ?1 ? ? ? Select key bank 2, stop data, set > >voice key threshold to 1, turn on lamp 6 (bank 2), turn off lamps 7-10 > >0010 0000 ? ? ? 20 ? ? ?32 ? ? ?Select key bank 1, stop data, set > >voice key threshold to 0, turn off lamps 6-10 (bank 2) > >0100 0001 ? ? ? 41 ? ? ?65 ? ? ?Select key bank 2, stop data, turn on > >lamp 1, turn off lamps 2-5 > >0110 0001 ? ? ? 61 ? ? ?97 ? ? ?Select key bank 1, stop data, turn on > >lamp 1, turn off lamps 2-5 > >1000 0000 ? ? ? 80 ? ? ?128 ? ? Select key bank 2, send data, set > >voice key threshold to 0, turn off lamps 6-10 (bank 2) > >1010 0000 ? ? ? A0 ? ? ?160 ? ? Select key bank 1, send data, set > >voice key threshold to 0, turn off lamps 6-10 (bank 2) > >1101 1010 ? ? ? DA ? ? ?218 ? ? Select key bank 2, send data, turn on > >lamps 2, 4, & 5, turn off lamps 1 & 3 > >1110 1010 ? ? ? EA ? ? ?234 ? ? Select key bank 1, send data, turn on > >lamps 2 & 4, turn off lamps 1, 3, & 5 > >----------------------- > > >Whew! ?Here is a shorter view for you: ?First, you might have to send > >something like &HE0 to start the SRBox sending data from key bank 1 > >(the on-board keys) (and turn off the on-board lamps). ?At that point > >the SRBox will send a steady stream of bytes to the serial port, at > >the configured bps and communication rate (default 800 cps at 19200 > >baud). ?Each bit encodes the state of one button, so, e.g., button 1 > >sends &H01, button 2 &H02, button 3 &H04, etc.; and buttons 1 & 3 > >simultaneously send &H05, etc. ?You may then decode the byte with > >If...Then, or masking unwanted bits with a bitwise And. > > >As to "emulating the keyboard", clearly for that E-Prime > >transparently reads a byte from the SRBox, translates that into ASCII > >code for the appropriate numbers (e.g., button 1 becomes &H31, i.e., > >"1"), and uses something like InputDevice.InsertResponse to insert > >that string into the KeyboardDevice queue for use there. ?I would > >rather start by using the device directly, and once I got that to > >work I might fiddle with getting emulation to work. > > >OK, that's probably both more and less than you asked for, but there it is. > > >-- David McFarlane, Professional Faultfinder > > > >Thanks, > > > >Carlos Faraco > > >University of Georgia > > > >On Oct 29, 10:50 am, David McFarlane wrote: > > > > Tobias, > > > > > OK, this question clearly lies outside the domain of PST Web Support, > > > > so I will weigh in... > > > > > >Of course, keyboards and mice don't look that professional > > > > > Hmm, around here we use keyboards and mice extensively, but perhaps > > > > we are not that "professional" :). ?We also use the PST SRBox, and if > > > > you understand its operation then in principle you could use it with > > > > any platform that will accept a stream from a serial port. ?Beyond > > > > that, sometimes we (meaning I) build our own customresponseboxes > > > > and wire them up either through an SRBox, a commercial digital I/O > > > > board, or even the lowly parallel port -- I have some mechanical > > > > skills as well as electronic and technology skills, and that is my > > > > job here. ?Of course you should have a machine shop and an electronic > > > > shop as well as a skilled research technology professional at your > > > > own institution to help with that (perhaps you are that > > > > professional!). ? I really don't see how anyone can consider > > > > themselves to do serious science in this > > ... > > read more ? -- 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. From mcfarla9 at msu.edu Thu Dec 17 22:14:09 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 17 Dec 2009 17:14:09 -0500 Subject: Unreferenced E-Object_Logging In-Reply-To: <482bdafb-885d-4f70-89c9-30260614a095@c3g2000yqd.googlegrou ps.com> Message-ID: Katia, Standard reminder: 1) I do not work for PST. 2) PST's trained staff really does like to take any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours. So don't be shy there. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take ... >To do this condition "If RECOGNITION_TARGET.ACC = 1 then >FREE_RECALLtextdisplay", Hmm, this line of yours does not look quite right. Are you sure it is not something like If RECOGNITION_TARGET.ACC = 1 then FREE_RECALLtextdisplay.Run ? > I put the FREE_RECALLtextdispaly in the >Unreferenced E-Object (of course, if the subject does not recognize >the target (TARGET.ACC = 0) does not make sense to proceed with a >request of more details about the target). >The procedure works as I want, but the Unreferenced E-Object seems >don't log the data. >Unfortunately, inside of the Forum, I was not able to find information >about how to log data if I need to use a simple TextDisplay on >Unreferenced E-Object. >My question are: >Is it possible that an Unreferenced E-Object logs the subject >responses? If so, how can I set it? Whether a stimulus object appears in the main Structure or in Unreferenced E-Objects (to be run from inline script, etc.) should make no difference whatsoever. Either way you need to enable the Data Logging in the Properties page of that object, either from the Duration/Input tab or the Logging tab. >I apologize, if the Forum contains some indication about that, please >give me the istruction to read this information. >Do you have any more elegant and better suggestion (or precise >reference to a sample on the webside) about how can run the condition >describe above without using Unreferenced E-Object? >I'd really appreciate any help, or leads! I would rather use a structure like RecognitionScript FREE_RECALLtextdisplay FreeRecallSkipLabel and then my RecognitionScript would look like If RECOGNITION_TARGET.ACC then Goto FreeRecallSkipLabel That way my FREE_RECALLtextdisplay would appear in the Structure instead of Unreferenced E-Objects. -- David McFarlane, Professional Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) -- 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. From batouk74 at gmail.com Thu Dec 17 22:36:43 2009 From: batouk74 at gmail.com (batouk) Date: Thu, 17 Dec 2009 14:36:43 -0800 Subject: Unreferenced E-Object_Logging In-Reply-To: <4b2aad33.5944f10a.265f.5649SMTPIN_ADDED@gmr-mx.google.com> Message-ID: David, Thank you so much for your suggestion. I'll try immediately. Of course, as soon as PST staff will reply, I'll post their reply here! I really appreciate your help, so thank you again for your time Katia On 17 Dic, 18:14, David McFarlane wrote: > Katia, > > Standard reminder: ?1) I do not work for PST. ?2) PST's trained staff > really does like to take any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours. ?So don't be shy > there. ?3) If you do get an answer from PST Web Support, please > extend the courtesy of posting their reply back here for the sake of others. > > That said, here is my take ... > > >To do this condition "If RECOGNITION_TARGET.ACC = 1 then > >FREE_RECALLtextdisplay", > > Hmm, this line of yours does not look quite right. ?Are you sure it > is not something like > > If RECOGNITION_TARGET.ACC = 1 then FREE_RECALLtextdisplay.Run ? ? > > > ?I put the FREE_RECALLtextdispaly in the > >Unreferenced E-Object (of course, if the subject does not recognize > >the target (TARGET.ACC = 0) does not make sense to proceed with a > >request of more details about the target). > >The procedure works as I want, but the Unreferenced E-Object seems > >don't log the data. > >Unfortunately, inside of the Forum, I was not able to find information > >about how to log data if I need to use a simple TextDisplay on > >Unreferenced E-Object. > >My question are: > >Is it possible that an Unreferenced E-Object logs the subject > >responses? If so, how can I set it? > > Whether a stimulus object appears in the main Structure or in > Unreferenced E-Objects (to be run from inline script, etc.) should > make no difference whatsoever. ?Either way you need to enable the > Data Logging in the Properties page of that object, either from the > Duration/Input tab or the Logging tab. > > >I apologize, if the Forum contains some indication about that, please > >give me the istruction to read this information. > >Do you have any more elegant and better suggestion (or precise > >reference to a sample on the webside) about how can run the condition > >describe above without using Unreferenced E-Object? > >I'd really appreciate any help, or leads! > > I would rather use a structure like > > RecognitionScript > FREE_RECALLtextdisplay > FreeRecallSkipLabel > > and then my RecognitionScript would look like > > If RECOGNITION_TARGET.ACC then Goto FreeRecallSkipLabel > > That way my FREE_RECALLtextdisplay would appear in the Structure > instead of Unreferenced E-Objects. > > -- David McFarlane, Professional Faultfinder > "For a successful technology, reality must take precedence over > public relations, for nature cannot be fooled." ?(Richard Feynman, > Nobel prize-winning physicist) -- 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. From mcfarla9 at msu.edu Fri Dec 18 15:59:48 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 18 Dec 2009 10:59:48 -0500 Subject: Unreferenced E-Object_Logging In-Reply-To: <4b2aad33.5944f10a.265f.5649SMTPIN_ADDED@gmr-mx.google.com> Message-ID: David, On Thu 17 Dec 2009 David McFarlane wrote: > Whether a stimulus object appears in the main Structure or in > Unreferenced E-Objects (to be run from inline script, etc.) should > make no difference whatsoever. Either way you need to enable the > Data Logging in the Properties page of that object, either from the > Duration/Input tab or the Logging tab. Some "Professional Faultfinder" you are! As any idiot except you knows, when you run a stimulus object from inline script E-Prime does *not* generate the c.SetAttrib calls needed to log the properties of that object (whether or not the object is in "Unreferenced E-Objects" still makes no difference). For that you would need to explicitly add your own logging script, e.g., If RECOGNITION_TARGET.ACC = 1 then FREE_RECALLtextdisplay.Run c.SetAttrib "FREE_RECALLtextdisplay.RESP", FREE_RECALLtextdisplay.RESP c.SetAttrib "FREE_RECALLtextdisplay.RT", FREE_RECALLtextdisplay.RT For more details just look at the full generated script from any stimulus object, or look at the Context topic in the online E-Basic Help. Furthermore, running a stimulus object from inline script does not generate the script to construct the input mask for that object, which could lead to other problems. All the more why I prefer the solution of putting the stimulus object directly in the structure and then using If...Then...Goto to skip around it. Next time check your facts before you shoot your mouth off and sow confusion. And then please spare us all your feeble attempt at self-deprecating humor in your inevitable followup post! -- David McFarlane, Professional Faultfinder -- 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. From liza.mccarron at uwe.ac.uk Fri Dec 18 16:15:02 2009 From: liza.mccarron at uwe.ac.uk (LizaM) Date: Fri, 18 Dec 2009 08:15:02 -0800 Subject: Setting 2 seperate duration times Message-ID: Hello, I have an experiment which runs 32 lists as facial image sequnces - the participant has to press space when the eyes within the faces appear to be no longer looking at them. Each list needs to reapeat twice with each image in the sequence displayed for 200ms on one viewing and 300ms on the other viewing - these should not be sequential, ie seq 1 may have 300 ms on first view and 200 on 2nd, seq 2 may be the other way round etc. The lists need to be displayed in a random order but one view must be 200ms and one 300ms. I have made the duration on the image display object into a variable which is selected from a list nested inside bloclk list - my question is how do I ensure that one view of the seq is at 300ms and one at 200ms whilst preserving the random order of sequences? Many thanks for any help! Liza -- 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. From liza.mccarron at uwe.ac.uk Fri Dec 18 16:41:47 2009 From: liza.mccarron at uwe.ac.uk (LizaM) Date: Fri, 18 Dec 2009 08:41:47 -0800 Subject: Setting 2 seperate duration times In-Reply-To: <7e55e59a-4622-4648-9378-e25113873c14@21g2000yqj.googlegroups.com> Message-ID: Just worked it out! Repeated the Procedures that run the Image seq lists in the Blocklist twice, created an attribute called timeduartion in that list, gave each a value of 200 for the first lot and 300 for the repeats, used that as the variable in the Image Display duration, set the blocklist to select randomly and bingo! It works! I think it was documenting the problem here that helped though :) On Dec 18, 4:15?pm, LizaM wrote: > Hello, > > I have an experiment which runs 32 lists as facial image sequnces - > the participant has to press space when the eyes within the faces > appear to be no longer looking at them. ?Each list needs to reapeat > twice with each image in the sequence displayed for 200ms on one > viewing and 300ms on the other viewing - these should not be > sequential, ie seq 1 may have 300 ms on first view and 200 on 2nd, seq > 2 may be the other way round etc. The lists need to be displayed in a > random order but one view must be 200ms and one 300ms. ?I have made > the duration on the image display object into a variable which is > selected from a list nested inside bloclk list - my question is how do > I ensure that one view of the seq is at 300ms and one at 200ms whilst > preserving the random order of sequences? > > Many thanks for any help! > > Liza -- 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. From mcfarla9 at msu.edu Fri Dec 18 21:18:02 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 18 Dec 2009 16:18:02 -0500 Subject: Unreferenced E-Object_Logging In-Reply-To: <4b2aad33.5944f10a.265f.5649SMTPIN_ADDED@gmr-mx.google.com> Message-ID: On Thu 17 Dec 2009 David McFarlane wrote: > I would rather use a structure like > > RecognitionScript > FREE_RECALLtextdisplay > FreeRecallSkipLabel > > and then my RecognitionScript would look like > > If RECOGNITION_TARGET.ACC then Goto FreeRecallSkipLabel Did anybody find the slight logic error in that example? To satisfy Katia's posted question, that last line should read If (RECOGNITION_TARGET.ACC = 0) Then Goto FreeRecallSkipLabel But that would be apparent to anybody as soon as that script were run. BTW Katia, I just noticed something else fishy about your program as described. The names of your stimulus objects contain an underscore, "_". AFAIK E-Studio does not allow this, at least every version that I use rejects the underscore as soon as I try to use it in an object name. E-Prime allows underscores only for objects and variables that appear only in script, not in the E-Studio GUI. So I suspect that there is a lot more to your problem than you are telling us, and I probably will not be able to help you further (no great loss there, as I keep making mistakes anyway :)). -- David McFarlane, Professional Faultfinder -- 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. From mcgree at gmail.com Sun Dec 27 03:15:23 2009 From: mcgree at gmail.com (mcgree) Date: Sat, 26 Dec 2009 19:15:23 -0800 Subject: Compatibility with Windows 7 Message-ID: Hello, I just upgraded to Windows 7. I am not sure if E-Prime will even work with Windows 7. Has anyone tried this? If so, what has your experience been like? Thank you! -- 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. From j.browndyke at duke.edu Sun Dec 27 15:06:57 2009 From: j.browndyke at duke.edu (Jeffrey Browndyke) Date: Sun, 27 Dec 2009 10:06:57 -0500 Subject: Jeff Browndyke is out of the office for the holidays. Message-ID: I will be out of the office starting 12/22/2009 and will not return until 12/29/2009. I will respond to your message when I return. Will catch email when I can, but will be unable to access anything from 12/24-12/28. Happy Holidays! Jeff If this is a clinical issue requiring more prompt attention, please address inquiries to Vicki Dixon (vicki.dixon at duke.edu). Alternatively, if a research-related issue of some urgency, you may try Michelle McCart (misimons at duke.edu). Regards, Jeff Browndyke -- 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. From cmarker1 at gmail.com Sun Dec 27 15:29:13 2009 From: cmarker1 at gmail.com (Craig) Date: Sun, 27 Dec 2009 07:29:13 -0800 Subject: Compatibility with Windows 7 In-Reply-To: <0d9c30fa-d73a-46db-b8af-c48f17b0ff66@e27g2000yqd.googlegroups.com> Message-ID: Hello, One idea is to use XP mode in Windows 7. There is virtualization software available from Windows to allow you to run XP software in Windows 7. I am actually planning on trying this out in the next few days as well. Here is the link:http://www.microsoft.com/windows/ virtual-pc/download.aspx -- 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. From mcgree at gmail.com Sun Dec 27 19:16:43 2009 From: mcgree at gmail.com (mcgree) Date: Sun, 27 Dec 2009 11:16:43 -0800 Subject: Compatibility with Windows 7 In-Reply-To: <2009fccf-e4e4-41fb-8812-d0c95432a4e2@j24g2000yqa.googlegroups.com> Message-ID: Thank you so much for the information! I will give it a try. -- 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.