Skip to content
Snippets Groups Projects
Commit d861fe60 authored by unknown's avatar unknown
Browse files

UPDATE: add TI

parent ac5e7b57
No related branches found
No related tags found
No related merge requests found
File added
{
"Port": "COM6",
"BaudRate": 115200,
"rampUp": 5000,
"rampDown": 5000,
"Channels": [
{
"Freqency": 2000,
"Amplitutde": 2,
"loadA": 32,
"loadB": 32,
"pinA": 1,
"pinB": 2
},
{
"Freqency": 2005,
"Amplitutde": 2,
"loadA": 32,
"loadB": 32,
"pinA": 3,
"pinB": 4
}
]
}
<?xml version="1.0" ?>
<PsychoPy2experiment encoding="utf-8" version="3.2.4">
<PsychoPy2experiment encoding="utf-8" version="2020.1.0">
<Settings>
<Param name="Audio latency priority" updates="None" val="use prefs" valType="str"/>
<Param name="Audio lib" updates="None" val="use prefs" valType="str"/>
<Param name="Completed URL" updates="None" val="" valType="str"/>
<Param name="Data filename" updates="None" val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code"/>
<Param name="Enable Escape" updates="None" val="True" valType="bool"/>
<Param name="Experiment info" updates="None" val="{'participant': '', 'session': '001', 'practice': 'False'}" valType="code"/>
<Param name="Experiment info" updates="None" val="{'participant': '', 'session': '001', 'practice': 'False', 'config': 'config_TI.json', 'port': 'COM5'}" valType="code"/>
<Param name="Force stereo" updates="None" val="True" valType="bool"/>
<Param name="Full-screen window" updates="None" val="True" valType="bool"/>
<Param name="HTML path" updates="None" val="html" valType="str"/>
......@@ -23,7 +23,7 @@
<Param name="Show mouse" updates="None" val="False" valType="bool"/>
<Param name="Units" updates="None" val="deg" valType="str"/>
<Param name="Use version" updates="None" val="" valType="str"/>
<Param name="Window size (pixels)" updates="None" val="[1280, 1024]" valType="code"/>
<Param name="Window size (pixels)" updates="None" val="[1920, 1080]" valType="code"/>
<Param name="blendMode" updates="None" val="avg" valType="str"/>
<Param name="color" updates="None" val="$[0,0,0]" valType="str"/>
<Param name="colorSpace" updates="None" val="rgb" valType="str"/>
......@@ -102,15 +102,15 @@
<Param name="syncScreenRefresh" updates="constant" val="False" valType="bool"/>
</KeyboardComponent>
<CodeComponent name="init">
<Param name="Begin Experiment" updates="constant" val="MINLEVEL=0&amp;#10;MAXLEVEL=9&amp;#10;&amp;#10;if expInfo['practice']:&amp;#10; nTrial = 2&amp;#10;else:&amp;#10; nTrial = 20" valType="extendedCode"/>
<Param name="Begin JS Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="Begin JS Routine" updates="constant" val="" valType="extendedCode"/>
<Param name="Begin Routine" updates="constant" val="" valType="extendedCode"/>
<Param name="Code Type" updates="None" val="Py" valType="str"/>
<Param name="Begin Experiment" updates="constant" val="from pyniexp import stimulation&amp;#10;&amp;#10;MINLEVEL=0&amp;#10;MAXLEVEL=9&amp;#10;shamAmp = [2,2]&amp;#10;&amp;#10;if expInfo['practice']:&amp;#10; nTrial = 2&amp;#10;else:&amp;#10; nTrial = 2&amp;#10; stimulator = stimulation.TI(expInfo['config'])&amp;#10; stimulator.port = expInfo['port']&amp;#10; stimulator.connect()&amp;#10; stimulator.load()&amp;#10;&amp;#10;" valType="extendedCode"/>
<Param name="Begin JS Experiment" updates="constant" val="import {stimulation} from 'pyniexp';&amp;#10;var MAXLEVEL, MINLEVEL, nTrial, shamAmp, stimulator;&amp;#10;MINLEVEL = 0;&amp;#10;MAXLEVEL = 9;&amp;#10;shamAmp = [2, 2];&amp;#10;if (expInfo[&quot;practice&quot;]) {&amp;#10; nTrial = 2;&amp;#10;} else {&amp;#10; nTrial = 2;&amp;#10; stimulator = new stimulation.TI(expInfo[&quot;config&quot;]);&amp;#10; stimulator.port = expInfo[&quot;port&quot;];&amp;#10; stimulator.connect();&amp;#10; stimulator.load();&amp;#10;}&amp;#10;" valType="extendedCode"/>
<Param name="Begin JS Routine" updates="constant" val="if ((! expInfo[&quot;practice&quot;])) {&amp;#10; stimulator.amplitude = function () {&amp;#10; var _pj_a = [], _pj_b = thisRun[expInfo[&quot;participant&quot;]].split(&quot;_&quot;);&amp;#10; for (var _pj_c = 0, _pj_d = _pj_b.length; (_pj_c &lt; _pj_d); _pj_c += 1) {&amp;#10; var a = _pj_b[_pj_c];&amp;#10; _pj_a.push(Number.parseInt(a));&amp;#10; }&amp;#10; return _pj_a;&amp;#10;}&amp;#10;.call(this);&amp;#10;}&amp;#10;" valType="extendedCode"/>
<Param name="Begin Routine" updates="constant" val="if not(expInfo['practice']):&amp;#10; stimulator.amplitude = [int(a) for a in thisRun[expInfo['participant']].split('_')]&amp;#10;" valType="extendedCode"/>
<Param name="Code Type" updates="None" val="Auto-&gt;JS" valType="str"/>
<Param name="Each Frame" updates="constant" val="" valType="extendedCode"/>
<Param name="Each JS Frame" updates="constant" val="" valType="extendedCode"/>
<Param name="End Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="End JS Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="End Experiment" updates="constant" val="if not(expInfo['practice']):&amp;#10; stimulator = None" valType="extendedCode"/>
<Param name="End JS Experiment" updates="constant" val="if ((! expInfo[&quot;practice&quot;])) {&amp;#10; stimulator = null;&amp;#10;}&amp;#10;" valType="extendedCode"/>
<Param name="End JS Routine" updates="constant" val="" valType="extendedCode"/>
<Param name="End Routine" updates="constant" val="" valType="extendedCode"/>
<Param name="disabled" updates="None" val="False" valType="bool"/>
......@@ -284,9 +284,55 @@
<Param name="wrapWidth" updates="constant" val="" valType="code"/>
</TextComponent>
</Routine>
<Routine name="stimulation_start">
<CodeComponent name="stim_start">
<Param name="Begin Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="Begin JS Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="Begin JS Routine" updates="constant" val="if ((! expInfo[&quot;practice&quot;])) {&amp;#10; if ((stimulator.amplitude === [0, 0])) {&amp;#10; stimulator.amplitude = shamAmp;&amp;#10; stimulator.start();&amp;#10; stimulator.stop();&amp;#10; } else {&amp;#10; stimulator.start();&amp;#10; }&amp;#10;}&amp;#10;" valType="extendedCode"/>
<Param name="Begin Routine" updates="constant" val="if not(expInfo['practice']):&amp;#10; if stimulator.amplitude == [0,0]:&amp;#10; stimulator.amplitude = shamAmp&amp;#10; stimulator.start()&amp;#10; stimulator.stop()&amp;#10; else:&amp;#10; stimulator.start()" valType="extendedCode"/>
<Param name="Code Type" updates="None" val="Auto-&gt;JS" valType="str"/>
<Param name="Each Frame" updates="constant" val="" valType="extendedCode"/>
<Param name="Each JS Frame" updates="constant" val="" valType="extendedCode"/>
<Param name="End Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="End JS Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="End JS Routine" updates="constant" val="" valType="extendedCode"/>
<Param name="End Routine" updates="constant" val="" valType="extendedCode"/>
<Param name="disabled" updates="None" val="False" valType="bool"/>
<Param name="name" updates="None" val="stim_start" valType="code"/>
</CodeComponent>
</Routine>
<Routine name="stimulation_stop">
<CodeComponent name="stim_stop">
<Param name="Begin Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="Begin JS Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="Begin JS Routine" updates="constant" val="if ((! expInfo[&quot;practice&quot;])) {&amp;#10; stimulator.stop();&amp;#10;}&amp;#10;" valType="extendedCode"/>
<Param name="Begin Routine" updates="constant" val="if not(expInfo['practice']):&amp;#10; stimulator.stop()" valType="extendedCode"/>
<Param name="Code Type" updates="None" val="Auto-&gt;JS" valType="str"/>
<Param name="Each Frame" updates="constant" val="" valType="extendedCode"/>
<Param name="Each JS Frame" updates="constant" val="" valType="extendedCode"/>
<Param name="End Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="End JS Experiment" updates="constant" val="" valType="extendedCode"/>
<Param name="End JS Routine" updates="constant" val="" valType="extendedCode"/>
<Param name="End Routine" updates="constant" val="" valType="extendedCode"/>
<Param name="disabled" updates="None" val="False" valType="bool"/>
<Param name="name" updates="None" val="stim_stop" valType="code"/>
</CodeComponent>
</Routine>
</Routines>
<Flow>
<LoopInitiator loopType="TrialHandler" name="runs">
<Param name="Selected rows" updates="None" val="" valType="str"/>
<Param name="conditions" updates="None" val="[OrderedDict([('S01', 1), ('S02', 2), ('S03', 3)]), OrderedDict([('S01', 2), ('S02', 3), ('S03', 1)]), OrderedDict([('S01', 3), ('S02', 1), ('S03', 2)])]" valType="str"/>
<Param name="conditionsFile" updates="None" val="conditions.xlsx" valType="str"/>
<Param name="endPoints" updates="None" val="[0, 1]" valType="num"/>
<Param name="isTrials" updates="None" val="False" valType="bool"/>
<Param name="loopType" updates="None" val="sequential" valType="str"/>
<Param name="nReps" updates="None" val="3" valType="code"/>
<Param name="name" updates="None" val="runs" valType="code"/>
<Param name="random seed" updates="None" val="" valType="code"/>
</LoopInitiator>
<Routine name="Instruction"/>
<Routine name="stimulation_start"/>
<LoopInitiator loopType="StairHandler" name="stair">
<Param name="N down" updates="None" val="1" valType="code"/>
<Param name="N reversals" updates="None" val="1" valType="code"/>
......@@ -344,5 +390,7 @@
<Routine name="feedback"/>
<LoopTerminator name="do_feedback"/>
<LoopTerminator name="stair"/>
<Routine name="stimulation_stop"/>
<LoopTerminator name="runs"/>
</Flow>
</PsychoPy2experiment>
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment