Hi,
I am trying to run an experiment with Stroop which should last 45 minutes and have the same amount of trials for each participant. This would involve 1080 trials which last 2500 ms (including time for user's response)
Ideally, I am looking for total single trial duration which lasts 2500ms and has parameters:
* 1000 ms of stimulus display eg.
RED* 1500 ms of blank screen
Here, from the stimulus onset (1 frame), participant has 1700 ms (1000ms of stimulus display + 700ms taken from the blank screen time) to make a response
With a missed/lapsed response after 1700 ms from the stimulus onset the "X" is displayed for 400 ms, and also when incorrect response (as already in-built)
--> I tried /timeout = 1700 but I see error saying I cannot have timeout & trialduration at the same time.
--> With my previous modifications I have noticed, that /trialduration = 2500 would not include the timing of /error message, which lasts 400 ms, so it with errorr msg it exceeds initial 45 min.
--> I have also tried with adding a /correct message which would last 400 ms and be simply a blank screen (and steal these 400 ms from trialduration to still fit into 45 min), however then I do not get any error message once there is 'no key response' by user (which also is an incorrect answer).
After all this, I have modified the code for all trials to look as the one below, [unfortunately without timeout 1700 ms], which shows /error message for both [incorrect AND no response]. For no responses (so when the script runs without any keyboard reaction) numbers add up to have 2500ms, however when a response is made, I subtract the recorded script.elapsedtime and the numbers are simply not adding up, so I do not reach 45 min, but more.
<trial redcongruent>
/ontrialbegin = [
values.congruency = 1;
]
/ pretrialpause = 0
/ stimulustimes = [1=redcongruent, redreminder, greenreminder, bluereminder, blackreminder]
/ correctresponse = ("d")
/ validresponse = ("d", "f", "j", "k")
/ errormessage = true(x, 0)/ posttrialpause = 400
/ trialduration = 2500/ontrialend = [
list.responses.insertitem(trial.redcongruent.correct, 1);
list.responses_congruent.insertitem(trial.redcongruent.correct, 1);
if (trial.redcongruent.correct) {
list.latencies.insertitem(trial.redcongruent.latency, 1);
list.latencies_congruent.insertitem(trial.redcongruent.latency, 1);
}
]
</trial>
Any help would be greatly appreciated.