Millisecond Forums

PASAT-C

https://forums.millisecond.com/Topic22325.aspx

By RiskyBehaviourLabUvic - 8/25/2017

Hello again! I'm working on the PASAT-C  experiment, and I want to insert a timer that would run down from 15 minutes in level 3. The timer would run down as the subject is doing the experiment showing them how much time is left. I would like to control the timer so that I could take away time from it if the subject gets the wrong answer. Any help is very appreciated!
By RiskyBehaviourLabUvic - 8/25/2017

RiskyBehaviourLabUvic - Friday, August 25, 2017
Hello again! I'm working on the PASAT-C  experiment, and I want to insert a timer that would run down from 15 minutes in level 3. The timer would run down as the subject is doing the experiment showing them how much time is left. I would like to control the timer so that I could take away time from it if the subject gets the wrong answer. Any help is very appreciated!

So i added a clock with 15 minutes on it at level three using:
trial.level3.insertstimulusframe(clock.timer1, 1)

where clock.timer1 counts down from 15 minutes. My challenge now is to stop level 3 every 20 trials and present the subject with options that would either decrease the time on the clock or increase the time on the clock
By Dave - 8/25/2017

RiskyBehaviourLabUvic - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
Hello again! I'm working on the PASAT-C  experiment, and I want to insert a timer that would run down from 15 minutes in level 3. The timer would run down as the subject is doing the experiment showing them how much time is left. I would like to control the timer so that I could take away time from it if the subject gets the wrong answer. Any help is very appreciated!

So i added a clock with 15 minutes on it at level three using:
trial.level3.insertstimulusframe(clock.timer1, 1)

where clock.timer1 counts down from 15 minutes. My challenge now is to stop level 3 every 20 trials and present the subject with options that would either decrease the time on the clock or increase the time on the clock

Count the trials (by using <values>, for example) and /branch to a separate <trial> presenting what you termed "options" if the counter hits 20. Manipulate the timer as needed based on the response, reset the value to 0 and repeat.
By Dave - 8/25/2017

Dave - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
Hello again! I'm working on the PASAT-C  experiment, and I want to insert a timer that would run down from 15 minutes in level 3. The timer would run down as the subject is doing the experiment showing them how much time is left. I would like to control the timer so that I could take away time from it if the subject gets the wrong answer. Any help is very appreciated!

So i added a clock with 15 minutes on it at level three using:
trial.level3.insertstimulusframe(clock.timer1, 1)

where clock.timer1 counts down from 15 minutes. My challenge now is to stop level 3 every 20 trials and present the subject with options that would either decrease the time on the clock or increase the time on the clock

Count the trials (by using <values>, for example) and /branch to a separate <trial> presenting what you termed "options" if the counter hits 20. Manipulate the timer as needed based on the response, reset the value to 0 and repeat.

Here's a super-basic example to illustrate the general idea:

<values>
/ trialcounter = 0
</values>

<block myblock>
/ bgstim = (myclock)
/ trials = [1-20=mytrial]
</block>

<trial mytrial>
/ ontrialbegin = [values.trialcounter +=1;]
/ stimulusframes = [1=mytext]
/ validresponse = (57)
/ branch = [if(values.trialcounter == 5)trial.optionstrial]
</trial>

<trial optionstrial>
/ ontrialbegin = [values.trialcounter = 0; clock.myclock.pause();]
/ stimulusframes = [1=optionstext]
/ validresponse = (23, 32)
/ ontrialend = [if(trial.optionstrial.response == 23) clock.myclock.timeout=clock.myclock.timeout+10000]
/ ontrialend = [if(trial.optionstrial.response == 32) clock.myclock.timeout=clock.myclock.timeout-5000]
/ ontrialend = [clock.myclock.start();]
</trial>

<clock myclock>
/ timeout = 50000
/ mode = timer
/ position = (50%, 10%)
</clock>

<text mytext>
/ items = ("Trial # <%values.trialcounter%>")
</text>

<text optionstext>
/ items = ("Press 'i' to increase the timer, press 'd' to decrease.")
</text>

Hope this helps!
By RiskyBehaviourLabUvic - 8/25/2017

Dave - Friday, August 25, 2017
Dave - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
Hello again! I'm working on the PASAT-C  experiment, and I want to insert a timer that would run down from 15 minutes in level 3. The timer would run down as the subject is doing the experiment showing them how much time is left. I would like to control the timer so that I could take away time from it if the subject gets the wrong answer. Any help is very appreciated!

So i added a clock with 15 minutes on it at level three using:
trial.level3.insertstimulusframe(clock.timer1, 1)

where clock.timer1 counts down from 15 minutes. My challenge now is to stop level 3 every 20 trials and present the subject with options that would either decrease the time on the clock or increase the time on the clock

Count the trials (by using <values>, for example) and /branch to a separate <trial> presenting what you termed "options" if the counter hits 20. Manipulate the timer as needed based on the response, reset the value to 0 and repeat.

Here's a super-basic example to illustrate the general idea:

<values>
/ trialcounter = 0
</values>

<block myblock>
/ bgstim = (myclock)
/ trials = [1-20=mytrial]
</block>

<trial mytrial>
/ ontrialbegin = [values.trialcounter +=1;]
/ stimulusframes = [1=mytext]
/ validresponse = (57)
/ branch = [if(values.trialcounter == 5)trial.optionstrial]
</trial>

<trial optionstrial>
/ ontrialbegin = [values.trialcounter = 0; clock.myclock.pause();]
/ stimulusframes = [1=optionstext]
/ validresponse = (23, 32)
/ ontrialend = [if(trial.optionstrial.response == 23) clock.myclock.timeout=clock.myclock.timeout+10000]
/ ontrialend = [if(trial.optionstrial.response == 32) clock.myclock.timeout=clock.myclock.timeout-5000]
/ ontrialend = [clock.myclock.start();]
</trial>

<clock myclock>
/ timeout = 50000
/ mode = timer
/ position = (50%, 10%)
</clock>

<text mytext>
/ items = ("Trial # <%values.trialcounter%>")
</text>

<text optionstext>
/ items = ("Press 'i' to increase the timer, press 'd' to decrease.")
</text>

Hope this helps!

the time out seems to be adding or subtracting from the initial clock duration not from the running duration. For example if i had an initial time of 1 minute and 15 seconds elapsed, and i chose to decrease  by another 10 seconds, my  clock subtracts 10 seconds from 60 and give me 50 seconds when it unpauses instead of 35 seconds.
By RiskyBehaviourLabUvic - 8/25/2017

RiskyBehaviourLabUvic - Friday, August 25, 2017
Dave - Friday, August 25, 2017
Dave - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
Hello again! I'm working on the PASAT-C  experiment, and I want to insert a timer that would run down from 15 minutes in level 3. The timer would run down as the subject is doing the experiment showing them how much time is left. I would like to control the timer so that I could take away time from it if the subject gets the wrong answer. Any help is very appreciated!

So i added a clock with 15 minutes on it at level three using:
trial.level3.insertstimulusframe(clock.timer1, 1)

where clock.timer1 counts down from 15 minutes. My challenge now is to stop level 3 every 20 trials and present the subject with options that would either decrease the time on the clock or increase the time on the clock

Count the trials (by using <values>, for example) and /branch to a separate <trial> presenting what you termed "options" if the counter hits 20. Manipulate the timer as needed based on the response, reset the value to 0 and repeat.

Here's a super-basic example to illustrate the general idea:

<values>
/ trialcounter = 0
</values>

<block myblock>
/ bgstim = (myclock)
/ trials = [1-20=mytrial]
</block>

<trial mytrial>
/ ontrialbegin = [values.trialcounter +=1;]
/ stimulusframes = [1=mytext]
/ validresponse = (57)
/ branch = [if(values.trialcounter == 5)trial.optionstrial]
</trial>

<trial optionstrial>
/ ontrialbegin = [values.trialcounter = 0; clock.myclock.pause();]
/ stimulusframes = [1=optionstext]
/ validresponse = (23, 32)
/ ontrialend = [if(trial.optionstrial.response == 23) clock.myclock.timeout=clock.myclock.timeout+10000]
/ ontrialend = [if(trial.optionstrial.response == 32) clock.myclock.timeout=clock.myclock.timeout-5000]
/ ontrialend = [clock.myclock.start();]
</trial>

<clock myclock>
/ timeout = 50000
/ mode = timer
/ position = (50%, 10%)
</clock>

<text mytext>
/ items = ("Trial # <%values.trialcounter%>")
</text>

<text optionstext>
/ items = ("Press 'i' to increase the timer, press 'd' to decrease.")
</text>

Hope this helps!

the time out seems to be adding or subtracting from the initial clock duration not from the running duration. For example if i had an initial time of 1 minute and 15 seconds elapsed, and i chose to decrease  by another 10 seconds, my  clock subtracts 10 seconds from 60 and give me 50 seconds when it unpauses instead of 35 seconds.

got it ! I changed it to clock.myclock.remainingitme
By RiskyBehaviourLabUvic - 8/26/2017

RiskyBehaviourLabUvic - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
Dave - Friday, August 25, 2017
Dave - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
Hello again! I'm working on the PASAT-C  experiment, and I want to insert a timer that would run down from 15 minutes in level 3. The timer would run down as the subject is doing the experiment showing them how much time is left. I would like to control the timer so that I could take away time from it if the subject gets the wrong answer. Any help is very appreciated!

So i added a clock with 15 minutes on it at level three using:
trial.level3.insertstimulusframe(clock.timer1, 1)

where clock.timer1 counts down from 15 minutes. My challenge now is to stop level 3 every 20 trials and present the subject with options that would either decrease the time on the clock or increase the time on the clock

Count the trials (by using <values>, for example) and /branch to a separate <trial> presenting what you termed "options" if the counter hits 20. Manipulate the timer as needed based on the response, reset the value to 0 and repeat.

Here's a super-basic example to illustrate the general idea:

<values>
/ trialcounter = 0
</values>

<block myblock>
/ bgstim = (myclock)
/ trials = [1-20=mytrial]
</block>

<trial mytrial>
/ ontrialbegin = [values.trialcounter +=1;]
/ stimulusframes = [1=mytext]
/ validresponse = (57)
/ branch = [if(values.trialcounter == 5)trial.optionstrial]
</trial>

<trial optionstrial>
/ ontrialbegin = [values.trialcounter = 0; clock.myclock.pause();]
/ stimulusframes = [1=optionstext]
/ validresponse = (23, 32)
/ ontrialend = [if(trial.optionstrial.response == 23) clock.myclock.timeout=clock.myclock.timeout+10000]
/ ontrialend = [if(trial.optionstrial.response == 32) clock.myclock.timeout=clock.myclock.timeout-5000]
/ ontrialend = [clock.myclock.start();]
</trial>

<clock myclock>
/ timeout = 50000
/ mode = timer
/ position = (50%, 10%)
</clock>

<text mytext>
/ items = ("Trial # <%values.trialcounter%>")
</text>

<text optionstext>
/ items = ("Press 'i' to increase the timer, press 'd' to decrease.")
</text>

Hope this helps!

the time out seems to be adding or subtracting from the initial clock duration not from the running duration. For example if i had an initial time of 1 minute and 15 seconds elapsed, and i chose to decrease  by another 10 seconds, my  clock subtracts 10 seconds from 60 and give me 50 seconds when it unpauses instead of 35 seconds.

got it ! I changed it to clock.myclock.remainingitme

Where do i find the inquisite char codes ( or keys) i know that space is 57 but where do i find the rest?
By RiskyBehaviourLabUvic - 8/26/2017

RiskyBehaviourLabUvic - Saturday, August 26, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
Dave - Friday, August 25, 2017
Dave - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
Hello again! I'm working on the PASAT-C  experiment, and I want to insert a timer that would run down from 15 minutes in level 3. The timer would run down as the subject is doing the experiment showing them how much time is left. I would like to control the timer so that I could take away time from it if the subject gets the wrong answer. Any help is very appreciated!

So i added a clock with 15 minutes on it at level three using:
trial.level3.insertstimulusframe(clock.timer1, 1)

where clock.timer1 counts down from 15 minutes. My challenge now is to stop level 3 every 20 trials and present the subject with options that would either decrease the time on the clock or increase the time on the clock

Count the trials (by using <values>, for example) and /branch to a separate <trial> presenting what you termed "options" if the counter hits 20. Manipulate the timer as needed based on the response, reset the value to 0 and repeat.

Here's a super-basic example to illustrate the general idea:

<values>
/ trialcounter = 0
</values>

<block myblock>
/ bgstim = (myclock)
/ trials = [1-20=mytrial]
</block>

<trial mytrial>
/ ontrialbegin = [values.trialcounter +=1;]
/ stimulusframes = [1=mytext]
/ validresponse = (57)
/ branch = [if(values.trialcounter == 5)trial.optionstrial]
</trial>

<trial optionstrial>
/ ontrialbegin = [values.trialcounter = 0; clock.myclock.pause();]
/ stimulusframes = [1=optionstext]
/ validresponse = (23, 32)
/ ontrialend = [if(trial.optionstrial.response == 23) clock.myclock.timeout=clock.myclock.timeout+10000]
/ ontrialend = [if(trial.optionstrial.response == 32) clock.myclock.timeout=clock.myclock.timeout-5000]
/ ontrialend = [clock.myclock.start();]
</trial>

<clock myclock>
/ timeout = 50000
/ mode = timer
/ position = (50%, 10%)
</clock>

<text mytext>
/ items = ("Trial # <%values.trialcounter%>")
</text>

<text optionstext>
/ items = ("Press 'i' to increase the timer, press 'd' to decrease.")
</text>

Hope this helps!

the time out seems to be adding or subtracting from the initial clock duration not from the running duration. For example if i had an initial time of 1 minute and 15 seconds elapsed, and i chose to decrease  by another 10 seconds, my  clock subtracts 10 seconds from 60 and give me 50 seconds when it unpauses instead of 35 seconds.

got it ! I changed it to clock.myclock.remainingitme

Where do i find the inquisite char codes ( or keys) i know that space is 57 but where do i find the rest?

Found it! 
http://www.millisecond.com/support/docs/v5/html/language/scancodes.htm

By Dave - 8/28/2017

RiskyBehaviourLabUvic - Saturday, August 26, 2017
RiskyBehaviourLabUvic - Saturday, August 26, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
Dave - Friday, August 25, 2017
Dave - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
RiskyBehaviourLabUvic - Friday, August 25, 2017
Hello again! I'm working on the PASAT-C  experiment, and I want to insert a timer that would run down from 15 minutes in level 3. The timer would run down as the subject is doing the experiment showing them how much time is left. I would like to control the timer so that I could take away time from it if the subject gets the wrong answer. Any help is very appreciated!

So i added a clock with 15 minutes on it at level three using:
trial.level3.insertstimulusframe(clock.timer1, 1)

where clock.timer1 counts down from 15 minutes. My challenge now is to stop level 3 every 20 trials and present the subject with options that would either decrease the time on the clock or increase the time on the clock

Count the trials (by using <values>, for example) and /branch to a separate <trial> presenting what you termed "options" if the counter hits 20. Manipulate the timer as needed based on the response, reset the value to 0 and repeat.

Here's a super-basic example to illustrate the general idea:

<values>
/ trialcounter = 0
</values>

<block myblock>
/ bgstim = (myclock)
/ trials = [1-20=mytrial]
</block>

<trial mytrial>
/ ontrialbegin = [values.trialcounter +=1;]
/ stimulusframes = [1=mytext]
/ validresponse = (57)
/ branch = [if(values.trialcounter == 5)trial.optionstrial]
</trial>

<trial optionstrial>
/ ontrialbegin = [values.trialcounter = 0; clock.myclock.pause();]
/ stimulusframes = [1=optionstext]
/ validresponse = (23, 32)
/ ontrialend = [if(trial.optionstrial.response == 23) clock.myclock.timeout=clock.myclock.timeout+10000]
/ ontrialend = [if(trial.optionstrial.response == 32) clock.myclock.timeout=clock.myclock.timeout-5000]
/ ontrialend = [clock.myclock.start();]
</trial>

<clock myclock>
/ timeout = 50000
/ mode = timer
/ position = (50%, 10%)
</clock>

<text mytext>
/ items = ("Trial # <%values.trialcounter%>")
</text>

<text optionstext>
/ items = ("Press 'i' to increase the timer, press 'd' to decrease.")
</text>

Hope this helps!

the time out seems to be adding or subtracting from the initial clock duration not from the running duration. For example if i had an initial time of 1 minute and 15 seconds elapsed, and i chose to decrease  by another 10 seconds, my  clock subtracts 10 seconds from 60 and give me 50 seconds when it unpauses instead of 35 seconds.

got it ! I changed it to clock.myclock.remainingitme

Where do i find the inquisite char codes ( or keys) i know that space is 57 but where do i find the rest?

Found it! 
http://www.millisecond.com/support/docs/v5/html/language/scancodes.htm


To add: You can also use Tools - > Keyboard Scancodes... in Inquisit Lab to figure out a given key's numerical scancode. The table in the documentation you linked assumes an English-language QWERTY keyboard layout, scancodes will be different for some other layouts (e.g. French-language AZERTY).