Hi All,
consider the attached script. There are a few things not functional here.
(1) Fixation cross flickers between trials TRIAL_refset and TRIAL_probe.
There is not a single "erase=true" statement in the entire script. However, the fixation cross (or text in this demo script) flickers at the switch between TRIAL_refset and TRIAL_probe. Since we are doing an EEG experiment, the flicker yields EEG activity which we'd rather avoid.
(2) A second port stimulus in trial TRIAL_refset has no effect.
Issue (1) could be circumvented by integrating TRIAL_refset and TRIAL_probe into one trial. The latter should look like
<trial TRIAL_refset>
/ iscorrectresponse = [((values.iIdent==0) && (trial.TRIAL_probe.response==203))||((values.iIdent==1) && (trial.TRIAL_probe.response==205))]
/ responseinterrupt = trial
/ responsetime = 2250
/ responsetrial = (anyresponse, TRIAL_response)
/ responsetrial = (noresponse, TRIAL_response)
/ stimulustimes = [0 = SHAPE_blank,PIC_fix,TEXT_debugstring;
1500=PORT_refset,PIC_ref_p01,PIC_ref_p02,PIC_fix; 3000=SHAPE_blank,PIC_fix; 4500=PORT_probe,SHAPE_blank,PIC_ref_p03; 5250=SHAPE_blank]
/ timeout = 8250
/ validresponse = (203,205,noresponse)
</trial>
Unfortunately, PORT_probe is not set in this case.
(3) Inquisit allows only for some none-consecutive numbers in an <item>.
The port triggers need to be computed at runtime since they encode some important trial properties. Since I wasn't aware of a way to send integer values to a port, I decided to realize a translation table "integer -> binary" via an item. The various integer codes used throughout the script are not consecutive, hence I originally planned to define the <item> like this:
<item ITEM_portsignals>
/ 1 = "00000001"
/ 2 = "00000010"
/ 3 = "00000011"
/ 11 = "00001011"
/ 12 = "00001100"
/ 13 = "00001101"
/ 14 = "00001110"
/ 15 = "00001111"
/ 16 = "00010000"
/ 21 = "00010101"
/ 22 = "00010110"
/ 23 = "00010111"
/ 24 = "00011000"
/ 25 = "00011001"
/ 26 = "00011010"
/ 31 = "01101111"
/ 32 = "01110000"
/ 33 = "01110001"
/ 34 = "01110010"
/ 35 = "01110011"
/ 36 = "01110100"
/ 41 = "01111001"
/ 42 = "01111010"
/ 43 = "01111011"
/ 44 = "01111100"
/ 45 = "01111101"
/ 46 = "01111110"
</item>
Inquisit does not issue an error when I do so. During runtime, while the following expressions work:
getitem(ITEM_portsignals,1)
getitem(ITEM_portsignals,11)
getitem(ITEM_portsignals,26)
these do not but issue a script error:
getitem(ITEM_portsignals,31)
getitem(ITEM_portsignals,46)
Any clues on any of these?
Bye, Malte.