Event Triggers Missing After Initial Success


Author
Message
Ryan Springs
Ryan Springs
New Member (4 reputation)New Member (4 reputation)New Member (4 reputation)New Member (4 reputation)New Member (4 reputation)New Member (4 reputation)New Member (4 reputation)New Member (4 reputation)New Member (4 reputation)
Group: Forum Members
Posts: 1, Visits: 9
Hello, I'm fairly new to Inquisit coding / EEG, but was able to get event triggers for an IAT task up and running. However, the triggers aren't being sent anymore after the onetime success, which makes me question whether this problem is stemming from the Inquisit code, software (brain vision recorder), or hardware (Brain Vision Trigger Box Plus & Acti Champ). My experiments in other platforms (e.g., MATLAB, PsychoPy) are sending event triggers for other scripts, but I do not have an IAT task built for those platforms and was hoping to modify the one here. 

I can attach the relevant code snippets, if anyone wouldn't mind providing insight:

**************************************************************************************************************
    EDITABLE PARAMETERS: change editable parameters here
**************************************************************************************************************

<port stimSignal>
/ port = COM5
/ items = (10)  // code for stimulus onset
</port>

<port correctresponseSignal>
/ port = COM5
/ items = (1)   // code for correct response
</port>

<port wrongresponseSignal>
/ port = COM5
/ items = (20)   // code for incorrect response
</port>

<parameters>
/ showSummaryFeedback = false
/ isi = 250
</parameters>

**************************************************************************************************************
    STIMULI
**************************************************************************************************************

<shape progressbar>
/ shape = rectangle
/ size = (70%, 2%)
/ color = gray
/ position = (15%, 95%)
/ hAlign = left
/ vAlign = top
</shape>

<shape progressbarFill>
/ shape = rectangle
/ size = (expressions.progress, 2%)
/ color = green
/ position = (15%, 95%)
/ hAlign = left
/ vAlign = top
</shape>

<text attributeA>
/ items = attributeA
/ fontStyle = ("Arial", 5%)
/ txColor = green
</text>

<text attributeB>
/ items = attributeB
/ fontStyle = ("Arial", 5%)
/ txColor = green
</text>

<text targetB>
/ items = targetB
/ fontStyle = ("Arial", 5%)
</text>

<text targetA>
/ items = targetA
/ fontStyle = ("Arial", 5%)
</text>

<text error>
/ position = (50%, 75%)
/ items = ("X")
/ color = red
/ fontStyle = ("Arial", 10%, true)
</text>

<text attributeALeft>
/ items = attributeALabel
/ vAlign = top
/ hAlign = left
/ position = (5%, 5%)
/ txColor = green
/ fontStyle = ("Arial", 5%)
</text>

<text attributeBRight>
/ items = attributeBLabel
/ vAlign = top
/ hAlign = right
/ position = (95%, 5%)
/ txColor = green
/ fontStyle = ("Arial", 5%)
</text>

<text targetBLeft>
/ items = targetBLabel
/ vAlign = top
/ hAlign = left    
/ position = (5%, 5%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetBRight>
/ items = targetBLabel
/ vAlign = top
/ hAlign = right
/ position = (95%, 5%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetBLeftMixed>
/ items = targetBLabel
/ vAlign = top
/ hAlign = left
/ position = (5%, 19%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetBRightMixed>
/ items = targetBLabel
/ vAlign = top
/ hAlign = right
/ position = (95%, 19%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetALeft>
/ items = targetALabel
/ vAlign = top
/ hAlign = left
/ position = (5%, 5%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetARight>
/ items = targetALabel
/ vAlign = top
/ hAlign = right
/ position = (95%, 5%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetALeftMixed>
/ items = targetALabel
/ vAlign = top
/ hAlign = left
/ position = (5%, 19%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetARightMixed>
/ items = targetALabel
/ vAlign = top
/ hAlign = right
/ position = (95%, 19%)
/ fontStyle = ("Arial", 5%)
</text>
**************************************************************************************************************
    TRIALS     
**************************************************************************************************************


<trial attributeA>
/ validresponse = ("E","I")
/ correctresponse = ("E")
/ stimulusframes = [1 = attributeA, stimSignal]
/ responseMessage = ("E", correctresponseSignal, 0)
/ responseMessage = ("I", wrongresponseSignal, 0)
/ postTrialPause = parameters.isi
</trial>


<trial attributeB>
/ validResponse = ("E", "I")
/ correctResponse = ("I")
/ stimulusFrames = [1 = attributeB, stimSignal]
/ responseMessage = ("I", correctresponseSignal, 0)
/ responseMessage = ("E", wrongresponseSignal, 0)
/ postTrialPause = parameters.isi
</trial>

<trial targetBLeft>
/ validResponse = ("E", "I")
/ correctResponse = ("E")
/ stimulusFrames = [1 = targetB, stimSignal]
/ responseMessage = ("E", correctresponseSignal, 0)
/ responseMessage = ("I", wrongresponseSignal, 0)
/ postTrialPause = parameters.isi
</trial>

<trial targetBRight>
/ validResponse = ("E", "I")
/ correctResponse = ("I")
/ stimulusFrames = [1 = targetB, stimSignal]
/ responseMessage = ("I", correctresponseSignal, 0)
/ responseMessage = ("E", wrongresponseSignal,0)
/ postTrialPause = parameters.isi
</trial>

<trial targetALeft>
/ validResponse = ("E", "I")
/ correctResponse = ("E")
/ stimulusFrames = [1 = targetA, stimSignal]
/ responseMessage = ("E", correctresponseSignal, 0)
/ responseMessage = ("I", wrongresponseSignal,0)
/ postTrialPause = parameters.isi
</trial>

<trial targetARight>
/ validResponse = ("E", "I")
/ correctResponse = ("I")
/ stimulusFrames = [1 = targetA, stimSignal]
/ responseMessage = ("I", correctresponseSignal, 0)
/ responseMessage = ("E", wrongresponseSignal,0)
/ postTrialPause = parameters.isi
</trial>
Tags
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 109K
Ryan Springs - 11/4/2025
Hello, I'm fairly new to Inquisit coding / EEG, but was able to get event triggers for an IAT task up and running. However, the triggers aren't being sent anymore after the onetime success, which makes me question whether this problem is stemming from the Inquisit code, software (brain vision recorder), or hardware (Brain Vision Trigger Box Plus & Acti Champ). My experiments in other platforms (e.g., MATLAB, PsychoPy) are sending event triggers for other scripts, but I do not have an IAT task built for those platforms and was hoping to modify the one here. 

I can attach the relevant code snippets, if anyone wouldn't mind providing insight:

**************************************************************************************************************
    EDITABLE PARAMETERS: change editable parameters here
**************************************************************************************************************

<port stimSignal>
/ port = COM5
/ items = (10)  // code for stimulus onset
</port>

<port correctresponseSignal>
/ port = COM5
/ items = (1)   // code for correct response
</port>

<port wrongresponseSignal>
/ port = COM5
/ items = (20)   // code for incorrect response
</port>

<parameters>
/ showSummaryFeedback = false
/ isi = 250
</parameters>

**************************************************************************************************************
    STIMULI
**************************************************************************************************************

<shape progressbar>
/ shape = rectangle
/ size = (70%, 2%)
/ color = gray
/ position = (15%, 95%)
/ hAlign = left
/ vAlign = top
</shape>

<shape progressbarFill>
/ shape = rectangle
/ size = (expressions.progress, 2%)
/ color = green
/ position = (15%, 95%)
/ hAlign = left
/ vAlign = top
</shape>

<text attributeA>
/ items = attributeA
/ fontStyle = ("Arial", 5%)
/ txColor = green
</text>

<text attributeB>
/ items = attributeB
/ fontStyle = ("Arial", 5%)
/ txColor = green
</text>

<text targetB>
/ items = targetB
/ fontStyle = ("Arial", 5%)
</text>

<text targetA>
/ items = targetA
/ fontStyle = ("Arial", 5%)
</text>

<text error>
/ position = (50%, 75%)
/ items = ("X")
/ color = red
/ fontStyle = ("Arial", 10%, true)
</text>

<text attributeALeft>
/ items = attributeALabel
/ vAlign = top
/ hAlign = left
/ position = (5%, 5%)
/ txColor = green
/ fontStyle = ("Arial", 5%)
</text>

<text attributeBRight>
/ items = attributeBLabel
/ vAlign = top
/ hAlign = right
/ position = (95%, 5%)
/ txColor = green
/ fontStyle = ("Arial", 5%)
</text>

<text targetBLeft>
/ items = targetBLabel
/ vAlign = top
/ hAlign = left    
/ position = (5%, 5%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetBRight>
/ items = targetBLabel
/ vAlign = top
/ hAlign = right
/ position = (95%, 5%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetBLeftMixed>
/ items = targetBLabel
/ vAlign = top
/ hAlign = left
/ position = (5%, 19%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetBRightMixed>
/ items = targetBLabel
/ vAlign = top
/ hAlign = right
/ position = (95%, 19%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetALeft>
/ items = targetALabel
/ vAlign = top
/ hAlign = left
/ position = (5%, 5%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetARight>
/ items = targetALabel
/ vAlign = top
/ hAlign = right
/ position = (95%, 5%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetALeftMixed>
/ items = targetALabel
/ vAlign = top
/ hAlign = left
/ position = (5%, 19%)
/ fontStyle = ("Arial", 5%)
</text>

<text targetARightMixed>
/ items = targetALabel
/ vAlign = top
/ hAlign = right
/ position = (95%, 19%)
/ fontStyle = ("Arial", 5%)
</text>
**************************************************************************************************************
    TRIALS     
**************************************************************************************************************


<trial attributeA>
/ validresponse = ("E","I")
/ correctresponse = ("E")
/ stimulusframes = [1 = attributeA, stimSignal]
/ responseMessage = ("E", correctresponseSignal, 0)
/ responseMessage = ("I", wrongresponseSignal, 0)
/ postTrialPause = parameters.isi
</trial>


<trial attributeB>
/ validResponse = ("E", "I")
/ correctResponse = ("I")
/ stimulusFrames = [1 = attributeB, stimSignal]
/ responseMessage = ("I", correctresponseSignal, 0)
/ responseMessage = ("E", wrongresponseSignal, 0)
/ postTrialPause = parameters.isi
</trial>

<trial targetBLeft>
/ validResponse = ("E", "I")
/ correctResponse = ("E")
/ stimulusFrames = [1 = targetB, stimSignal]
/ responseMessage = ("E", correctresponseSignal, 0)
/ responseMessage = ("I", wrongresponseSignal, 0)
/ postTrialPause = parameters.isi
</trial>

<trial targetBRight>
/ validResponse = ("E", "I")
/ correctResponse = ("I")
/ stimulusFrames = [1 = targetB, stimSignal]
/ responseMessage = ("I", correctresponseSignal, 0)
/ responseMessage = ("E", wrongresponseSignal,0)
/ postTrialPause = parameters.isi
</trial>

<trial targetALeft>
/ validResponse = ("E", "I")
/ correctResponse = ("E")
/ stimulusFrames = [1 = targetA, stimSignal]
/ responseMessage = ("E", correctresponseSignal, 0)
/ responseMessage = ("I", wrongresponseSignal,0)
/ postTrialPause = parameters.isi
</trial>

<trial targetARight>
/ validResponse = ("E", "I")
/ correctResponse = ("I")
/ stimulusFrames = [1 = targetA, stimSignal]
/ responseMessage = ("I", correctresponseSignal, 0)
/ responseMessage = ("E", wrongresponseSignal,0)
/ postTrialPause = parameters.isi
</trial>

You have a duration of 0 in your responseMessage attributes, which you should increase to some sensible value (long enough for the trigger to be raised and picked up reliably). Otherwise the code looks okay. It's of course not possible for me to say whether the COM-port number (COM5) is correct, so double-check that via device manager. Also check whether you can send bytes out via the Serial Port Monitor under Tools in Inquisit Lab.

It looks like the Brain Vision gear also supports LSL, so you can explore that as an alternative if the serial connection doesn't pan out.
https://www.millisecond.com/support/docs/current/html/howto/howtosendlsl.htm
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search