Millisecond Forums

How to send mark to NIRS

https://forums.millisecond.com/Topic15137.aspx

By AmyLiang - 12/8/2014

Hi, I am using an equipment called fNIRS(functional Near-Infrared Sectroscopy), which could measured hemodynamic responses relevant to stimuli.
It is closed to fMRI, so I need to send MARK before and after each stimulus.
so, I worte the code below

**********************************
INPUT SOUNDS
I have two stimuli, which is called "aka0" and "asa0"
**********************************
<sound aka0>
/ items = ("aka_0.wav")
</sound>

<sound asa0>
/ items = ("asa_0.wav")
</sound>

**********************************
TRAILS
**********************************
<trial aka0>
/ inputdevice = com1
/ trialcode = "aka0"
/ stimulustimes = [0=MarkOn_aka0; 0=aka0; 750=MarkOff_aka0]
/ pretrialpause=50
/ trialduration = 2000
/ posttrialpause=0
</trial>

<trial asa0>
/ inputdevice = com1
/ trialcode = "asa0"
/ stimulustimes = [0=MarkOn_asa0; 0=asa0; 750=MarkOff_asa0]
/ pretrialpause=50
/ trialduration = 2000
/ posttrialpause=0
</trial>
**********************************
BLOCKs
**********************************
<block condition1_baseline>
/ trials = [1 =aka0; 2=aka0; 3=aka0; 4=aka0; 5=aka0; 6=aka0; 7=aka0; 8=aka0; 9=aka0; 10=aka0]
</block>

<block condition1_test1>
/ trials = [1 =aka0; 2=asa0; 3=aka0; 4=asa0; 5=aka0]
</block>

<expt condition1>
/ blocks = [1=condition1_baseline; 2=condition1_test1; 3=condition1_baseline; 4=condition1_test1;
5=condition1_baseline; 6=condition1_test1;  7=condition1_baseline; 8=condition1_test1; 9=condition1_baseline; 10=condition1_test1]
</expt>
**********************************
The code works well untill here
**********************************

**********************************
Marks
**********************************

<port MarkOn_aka0>
/ port = COM1
/ items= ("A ")
</port>

<port MarkOff_aka0>
/ port = COM1
/ items=("B ")
</port>

<port MarkOn_asa0>
/ port = COM1
/ items=("C ")
</port>

<port MarkOff_asa0>
/ port = COM1
/ items=("D ")
</port>

Here I got an error, it says
"port.MarkOff_aka0""Item values must specificy exactly 8 bits:'A'."
①I want to know how to correct it.
②actually, "A "(A+[sp])is not enough, I want it to be (A+[Sp]+[Cr]), can I do it?


Thank you!
By Dave - 12/8/2014

You can only send *numerical* signals via <port> elements. Those must be either specified as 8-bit binary value as in

<port someport>
/ items = ("00000101")
...
</port>

or as the corresponding integer value as in

<port someport>
/ items = (5)
...
</port>

It is not possible to use strings such as "A..." as port signals.