﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Millisecond Forums » Millisecond Forums » Inquisit 6  » Sending Signals to Serial Port Using StimulusTimes on Go/No-Go</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Sat, 12 Sep 2026 05:29:18 GMT</lastBuildDate><ttl>20</ttl><item><title>Sending Signals to Serial Port Using StimulusTimes on Go/No-Go</title><link>https://forums.millisecond.com/Topic36062.aspx</link><description>I am currently working with the published &lt;a href="https://www.millisecond.com/download/library/v6/gonogo/cuedgonogo/cuedgonogo.manual" id="if_insertedNode_1710252717316"&gt;Go/No-Go Task template&lt;/a&gt; provided for Inquisit. I am trying to figure out how to send signals to a serial port with different stimuli presentations, but am having trouble structuring my script given the use of /stimulustimes and varied presentations of stimuli after the fixation in the task.&amp;nbsp;&lt;br/&gt;&lt;br/&gt;I've attached a snippet of the script below for a vertical cue + go stimulus presentation. Say I have already designed four different signals earlier in the script:&lt;br/&gt;[code]port.verticalcue&lt;br/&gt;port.verticalgo&lt;br/&gt;port.correct&lt;br/&gt;port.incorrect[/code]&lt;br/&gt;&lt;br/&gt;How would I edit the script below so that the signals above are presented at the following time:&lt;br/&gt;&lt;strong&gt;port.verticalcue&lt;/strong&gt; -&amp;gt; when picture.verticalcue is displayed&lt;br/&gt;&lt;strong&gt;port.verticalgo&lt;/strong&gt; -&amp;gt; when picture.verticalgo is displayed&lt;br/&gt;&lt;strong&gt;port.correct&lt;/strong&gt; -&amp;gt; When the participant correctly responds&lt;br/&gt;&lt;strong&gt;port.incorrect&lt;/strong&gt; -&amp;gt; When the participant incorrectly responds&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;I understand that the task overall has 4 different trial blocks. But I am hoping the responses I receive here will help me reconfigure the other 3 trials.&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;[code]&amp;lt;trial verticalcue_go&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.cuetype = 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.targettype = 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.soa=list.soa_verticalcue_go.nextvalue; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.trialcount+=1;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.verticalcue_go.insertstimulustime(shape.blankscreen, parameters.fixationduration);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.verticalcue_go.insertstimulustime(picture.verticalcue,(parameters.fixationduration+parameters.cue_delay));&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.verticalcue_go.insertstimulustime(picture.verticalgotarget,(parameters.fixationduration+parameters.cue_delay+values.soa));&lt;br/&gt;]&lt;br/&gt;&lt;br/&gt;/ stimulustimes = [0=blankscreen,fixation]&lt;br/&gt;/ beginresponsetime = parameters.fixationduration + parameters.cue_delay + values.soa&lt;br/&gt;/ responseinterrupt = immediate&lt;br/&gt;/ validresponse = (" ", noresponse)&lt;br/&gt;/ correctresponse = (" ")&lt;br/&gt;/ response = timeout(parameters.responsetimeout)&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.accuracy.appenditem(trial.verticalcue_go.correct);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.accuracy_G.appenditem(trial.verticalcue_go.correct);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.accuracy_v.appenditem(trial.verticalcue_go.correct);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.accuracy_vG.appenditem(trial.verticalcue_go.correct);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.verticalcue_go.correct) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.latencies_G.appenditem(trial.verticalcue_go.latency);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.latencies_vG.appenditem(trial.verticalcue_go.latency);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.cuepic = picture.verticalcue.currentitem; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.targetpic = picture.verticalgotarget.currentitem;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.verticalcue_go.resetstimulusframes();&lt;br/&gt;]&lt;br/&gt;/ recorddata = true&lt;br/&gt;/ posttrialpause = parameters.iti&lt;br/&gt;&amp;lt;/trial&amp;gt;[/code]</description><pubDate>Tue, 12 Mar 2024 16:20:48 GMT</pubDate><dc:creator>neuromech</dc:creator></item><item><title>RE: Sending Signals to Serial Port Using StimulusTimes on Go/No-Go</title><link>https://forums.millisecond.com/Topic36063.aspx</link><description>&lt;blockquote data-id="36062" class="if-quote-wrapper" unselectable="on" data-guid="1710260283208" contenteditable="false" id="if_insertedNode_1710260281769"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="36062" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="36062" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="36062" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;neuromech - 3/12/2024&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-36062"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;I am currently working with the published &lt;a href="https://www.millisecond.com/download/library/v6/gonogo/cuedgonogo/cuedgonogo.manual" id="if_insertedNode_1710252717316"&gt;Go/No-Go Task template&lt;/a&gt; provided for Inquisit. I am trying to figure out how to send signals to a serial port with different stimuli presentations, but am having trouble structuring my script given the use of /stimulustimes and varied presentations of stimuli after the fixation in the task.&amp;nbsp;&lt;br/&gt;&lt;br/&gt;I've attached a snippet of the script below for a vertical cue + go stimulus presentation. Say I have already designed four different signals earlier in the script:&lt;br/&gt;[code]port.verticalcue&lt;br/&gt;port.verticalgo&lt;br/&gt;port.correct&lt;br/&gt;port.incorrect[/code]&lt;br/&gt;&lt;br/&gt;How would I edit the script below so that the signals above are presented at the following time:&lt;br/&gt;&lt;strong&gt;port.verticalcue&lt;/strong&gt; -&amp;gt; when picture.verticalcue is displayed&lt;br/&gt;&lt;strong&gt;port.verticalgo&lt;/strong&gt; -&amp;gt; when picture.verticalgo is displayed&lt;br/&gt;&lt;strong&gt;port.correct&lt;/strong&gt; -&amp;gt; When the participant correctly responds&lt;br/&gt;&lt;strong&gt;port.incorrect&lt;/strong&gt; -&amp;gt; When the participant incorrectly responds&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;I understand that the task overall has 4 different trial blocks. But I am hoping the responses I receive here will help me reconfigure the other 3 trials.&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;[code]&amp;lt;trial verticalcue_go&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.cuetype = 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.targettype = 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.soa=list.soa_verticalcue_go.nextvalue; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.trialcount+=1;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.verticalcue_go.insertstimulustime(shape.blankscreen, parameters.fixationduration);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.verticalcue_go.insertstimulustime(picture.verticalcue,(parameters.fixationduration+parameters.cue_delay));&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.verticalcue_go.insertstimulustime(picture.verticalgotarget,(parameters.fixationduration+parameters.cue_delay+values.soa));&lt;br/&gt;]&lt;br/&gt;&lt;br/&gt;/ stimulustimes = [0=blankscreen,fixation]&lt;br/&gt;/ beginresponsetime = parameters.fixationduration + parameters.cue_delay + values.soa&lt;br/&gt;/ responseinterrupt = immediate&lt;br/&gt;/ validresponse = (" ", noresponse)&lt;br/&gt;/ correctresponse = (" ")&lt;br/&gt;/ response = timeout(parameters.responsetimeout)&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.accuracy.appenditem(trial.verticalcue_go.correct);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.accuracy_G.appenditem(trial.verticalcue_go.correct);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.accuracy_v.appenditem(trial.verticalcue_go.correct);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.accuracy_vG.appenditem(trial.verticalcue_go.correct);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.verticalcue_go.correct) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.latencies_G.appenditem(trial.verticalcue_go.latency);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.latencies_vG.appenditem(trial.verticalcue_go.latency);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.cuepic = picture.verticalcue.currentitem; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.targetpic = picture.verticalgotarget.currentitem;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.verticalcue_go.resetstimulusframes();&lt;br/&gt;]&lt;br/&gt;/ recorddata = true&lt;br/&gt;/ posttrialpause = parameters.iti&lt;br/&gt;&amp;lt;/trial&amp;gt;[/code]&lt;a class="if-quote-goto quote-link" href="#" data-id="36062"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;A &amp;lt;port&amp;gt; element is a stimulus element just like &amp;lt;text&amp;gt;, &amp;lt;picture&amp;gt;, etc. You treat it in exactly the same way.&lt;br/&gt;&lt;br/&gt;Use insertstimulustime to display the port stimulus at the same time as the relevent picture element.&lt;br/&gt;&lt;br/&gt;Use /correctmessage to display the relevant port stimulus upon a correct response.&lt;br/&gt;Use /errormessage to display the relevant port stimulus upon an incorrect response.</description><pubDate>Tue, 12 Mar 2024 16:20:48 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>