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 = '
' + num1 + ' * ' + num2 + - ' =


' + ' =

' 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)