diff --git a/circle.yml b/circle.yml
index 35bec260..20aeb385 100644
--- a/circle.yml
+++ b/circle.yml
@@ -59,7 +59,7 @@ test:
- $HOME/miniconda2/bin/python -c "from expfactory.tests import circle_ci_test; circle_ci_test('mindful_attention_awareness','web','.');"
- $HOME/miniconda2/bin/python -c "from expfactory.tests import circle_ci_test; circle_ci_test('motor_selective_stop_signal','web','.');"
- $HOME/miniconda2/bin/python -c "from expfactory.tests import circle_ci_test; circle_ci_test('mpq_control','web','.');"
- - $HOME/miniconda2/bin/python -c "from expfactory.tests import circle_ci_test; circle_ci_test('multiplication','web',pause_time=2000);"
+ - $HOME/miniconda2/bin/python -c "from expfactory.tests import circle_ci_test; circle_ci_test('multiplication','web','.',pause_time=2000);"
- $HOME/miniconda2/bin/python -c "from expfactory.tests import circle_ci_test; circle_ci_test('multisource','web','.');"
- $HOME/miniconda2/bin/python -c "from expfactory.tests import circle_ci_test; circle_ci_test('n_back','web','.');"
- $HOME/miniconda2/bin/python -c "from expfactory.tests import circle_ci_test; circle_ci_test('number_letter','web','.');"
diff --git a/multiplication/config.json b/multiplication/config.json
index 9679b2de..333544ec 100644
--- a/multiplication/config.json
+++ b/multiplication/config.json
@@ -9,6 +9,7 @@
"static/js/jspsych/poldrack_plugins/jspsych-poldrack-instructions.js",
"static/js/jspsych/poldrack_plugins/jspsych-attention-check.js",
"static/js/jspsych/poldrack_plugins/jspsych-single-stim-button.js",
+ "static/js/jspsych/plugins/jspsych-call-function.js",
"experiment.js",
"static/css/jspsych.css",
"static/css/default_style.css"
diff --git a/multiplication/experiment.js b/multiplication/experiment.js
index 07b219e8..5c83f489 100644
--- a/multiplication/experiment.js
+++ b/multiplication/experiment.js
@@ -28,11 +28,11 @@ var randomDraw = function(lst) {
var getStim = function() {
response = 0
- num1 = Math.floor(Math.random() * 99) + 1
- num2 = Math.floor(Math.random() * 99) + 1
+ num1 = Math.floor(Math.random() * 89) + 10
+ num2 = Math.floor(Math.random() * 89) + 10
answer = num1 * num2
var text = '
'
+ ' =
'
return text
}
var submit = function() {
@@ -52,14 +52,15 @@ var num1 = ''
var num2 = ''
var answer = 0
var response = 0
-var response_time = 180000
+var response_time = 60000
var lstep = 5000
var sstep = 1000
var n_large_steps = 50
var n_small_steps = 50
var p = 0.5 // The probability of a correct response for the staircase
-var fatigue_time = 45
-
+var fatigue_start = 0
+var timelimit = 20 //time for fatigue block
+var elapsed = 0
/* ************************************ */
/* Set up jsPsych blocks */
/* ************************************ */
@@ -77,7 +78,6 @@ var feedback_instruct_block = {
timing_response: 6000
};
/// This ensures that the subject does not read through the instructions too quickly. If they do it too quickly, then we will go over the loop again.
-var instruction_trials = []
var instructions_block = {
type: 'poldrack-instructions',
data: {
@@ -95,11 +95,9 @@ var instructions_block = {
}, 1010)
}
};
-instruction_trials.push(feedback_instruct_block)
-instruction_trials.push(instructions_block)
var instruction_node = {
- timeline: instruction_trials,
+ timeline: [feedback_instruct_block, instructions_block],
/* This function defines stopping criteria */
loop_function: function(data) {
for (i = 0; i < data.length; i++) {
@@ -220,17 +218,34 @@ var fatigue_block = {
}
}
+var fatigue_node = {
+ timeline: [fatigue_block],
+ loop_function: function() {
+ elapsed = (new Date() - fatigue_start) / 60000
+ if (elapsed < timelimit) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+}
+var start_clock_block = {
+ type: 'call-function',
+ func: function() {
+ fatigue_start = new Date()
+ }
+}
/* create experiment definition array */
var multiplication_experiment = []
multiplication_experiment.push(instruction_node)
-for (var i = 0; i < 2; i++) { //n_large_steps
+for (var i = 0; i < n_large_steps; i++) {
multiplication_experiment.push(largeStep_block)
}
-for (var i = 0; i < 2; i++) { //n_small_steps
+for (var i = 0; i < n_small_steps; i++) {
multiplication_experiment.push(smallStep_block)
}
-for (var i = 0; i < 2; i++) { //Math.floor(180000 * fatigue_time / response_time)
- multiplication_experiment.push(fatigue_block)
-}
\ No newline at end of file
+multiplication_experiment.push(start_clock_block)
+multiplication_experiment.push(fatigue_node)
+multiplication_experiment.push(end_block)